0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

调试跨越物联网中的硬件

星星科技指导员 来源:瑞萨电子 作者:瑞萨电子 2022-05-05 10:27 次阅读

调试是嵌入式设计的重要组成部分;必须跨越硬件/软件鸿沟的一种。在系统级别,嵌入式设计的功能越来越多地由固件定义,因此避免错误需要具有特定学科的工程师在项目的设计阶段密切合作。这也可能意味着在不可避免地出现错误时抵制指责的冲动。

或许正是软件定义硬件的本质使现代嵌入式设计成为一个如此有趣的职业。每个新的微控制器MCU) 似乎都提供了更高的集成度和更高级的功能,但在它被编程之前它完全没有意义。虽然这种级别的集成和配置显然是一个促成因素,并且正在为产品设计带来巨大的进步,但它有时会给工程师带来无法预料的问题。

MCU 等嵌入式组件提供的功能级别和可配置特性也在不断提高,这些组件提供了许多并非所有设计都需要的特性。这些额外的功能可能会被忽略,很少会引起问题。

正如大多数工程师所理解的那样,这些功能通常由可以通过软件修改的寄存器控制。因此,它们在上电时将具有默认设置,如果保持不变,将继续在这些默认设置下运行。在许多情况下,这可能不会造成问题,但如果这些功能仍未使用并且可能未经测试,那么它们的影响可能会以某种无法预料的方式感受到。系统中可能会出现错误,这是由可能被忽略的完全合法的功能引起的。

即使在理想条件下,查找故障也可能很困难、耗时且成本高昂。通常,故障将通过其影响来识别,这将提供足够的证据让工程师能够追踪原因。这个原因是硬件还是软件相关在很大程度上无关紧要,但也许仍然存在争议;重要的是它被找到并纠正了。

如果故障的原因是未正确初始化的低级功能,那么找到它可能会变得更具挑战性。了解硬件平台的初始状态如何影响整个设计需要对整个系统有更高的了解,并且追踪这些难以捉摸的条件确实会消耗资源。

例如,考虑访问串行闪存的 MCU 上的 SPI 总线,这是在许多嵌入式系统中使用的相对简单的功能。如果在存储的值中检测到错误,则表明内存而不是 MCU 出现了故障。当从闪存的状态寄存器连续读取显示它正在检测读/写错误时,这是一位客户的经验。可以理解的是,假设存储设备出现故障,这一理论得到了证实,即如果在状态寄存器读取之间引入短暂的延迟,检测到的故障数量似乎会减少。此外,电源循环似乎可以暂时清除故障。

工程师们认为这些症状表明串行存储器出现故障,尽管它仍然在其指定的周期限制内,仅完成了大约 60k 的写入周期。当串行闪存设备返回 Adesto 进行进一步测试时,即使执行了超过 300k 的写入周期,也没有发现故障。

为了追查真正的故障,Adesto 工程师调查了客户的应用并探测了 SPI 信号。看起来是内存设备的故障,实际上是系统噪音问题,而且很容易纠正。虽然部分原因是 MCU 和闪存之间的 PCB 走线阻抗不匹配,但噪声并不完全是 PCB 设计不良或信号完整性问题的结果。

尽管看起来是 PCB 或电路设计问题,但噪声实际上是 SPI 信号上的过冲和下冲,这是由信号驱动强度过大引起的。过冲足以破坏闪存设备的电荷泵并导致读写错误。在某些情况下,SPI 信号上的过冲和下冲也可以解释为信号转换,这也可能导致读取或写入错误。

poYBAGJzNgiAHykbAAElMf1xJB4794.jpg

显示 SPI 线上存在的过冲和下冲的跟踪图像

一种可能的解决方案是在信号迹线上放置一个 RC 电路,以减慢转换速度。然而,人们发现该设计基于一个相对较新的 MCU,它允许在固件中修改 I/O 引脚的驱动强度。降低信号的驱动强度足以消除 SPI 信号线上的过冲和下冲,有效消除系统级噪声源。

这里最重要的一点并不是闪存设备正在尽最大努力应对大量系统噪声,而是 MCU 上的可配置功能可能会引入很容易被解释为单独部件中的故障的影响的设计。在这种情况下,通过稳健的设计方法检测到故障,并通过 Adesto 工程师的勤奋解决。

也许这里真正的教训是,看似硬件故障的问题可以通过软件轻松修复。一个组件中看似故障的情况可以追溯到另一个组件中的错误配置。硬件和软件工程师以及客户和供应商之间的工作关系应该足够牢固,以承受最新技术设计可能带来的挑战。即使默认设置旨在提供帮助,也应该对其进行验证。优化这些设置可以显着提高系统性能和可靠性。

作者:Paul Hill Gordon MacNee

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17141

    浏览量

    351091
  • 嵌入式
    +关注

    关注

    5082

    文章

    19116

    浏览量

    304957
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1706

    浏览量

    91546
收藏 人收藏

    评论

    相关推荐

    IOT联网台:开启智慧生活新篇章 联网平台系统

    IOT联网台:开启智慧生活新篇章 联网平台系统
    的头像 发表于 11-19 09:14 252次阅读

    IOT联网台:开启智慧生活新篇章 联网平台系统,构建智慧城市数据生态 智慧城镇、联网、数据

    IOT联网台:开启智慧生活新篇章 联网平台系统,构建智慧城市数据生态 智慧城镇、
    的头像 发表于 11-18 14:49 243次阅读

    socket 在联网的应用

    不同的计算机程序在网络中进行通信。它基于TCP/IP协议,提供了一种可靠的、面向连接的通信方式。在联网,Socket使得设备能够发送和接收数据,实现远程控制和监控。 2. Socket在
    的头像 发表于 11-12 14:19 445次阅读

    联网学习路线来啦!

    和组合逻辑电路、触发器及时序逻辑电路。 EDA软件应用基础:掌握电路设计EDA软件的基本用法,了解硬件PCBA设计基本流程。 常见传感器电路:联网的底层依赖各种传感器,对常见的传感器电路有一定的了解
    发表于 11-11 16:03

    如何进行硬件调试

    硬件调试硬件系统设计、开发和制造过程不可或缺的一环,旨在对可能出现的问题进行分析和解决。以下是进行硬件
    的头像 发表于 11-10 10:17 633次阅读
    如何进行<b class='flag-5'>硬件</b><b class='flag-5'>调试</b>?

    EDA在联网设计的应用

    设计和验证电子系统的重要辅助工具,它们可以帮助工程师更高效、更准确地完成设计任务。 2. EDA在硬件设计的应用 联网设备通常需要集成多种传感器、微控制器和无线通信模块。EDA工具
    的头像 发表于 11-08 14:22 390次阅读

    MCU在联网的应用前景

    与网络的智能化交互。联网的核心在于数据的收集、传输、处理和应用,而MCU在这一过程扮演着至关重要的角色。 2. MCU在联网
    的头像 发表于 11-01 13:39 352次阅读

    MQTT调试助手中文版(联网开发必备)

    MQTT调试助手中文版(联网开发必备)。 支持模拟设备链接各种MQTT云服务器、  阿里云、腾讯云、华为云、原子云、onenet等等。
    发表于 10-12 14:23 6次下载

    什么是联网技术?

    :这是联网的基础层,负责采集物理世界的各种信息。包括各类传感器(如温度传感器、湿度传感器、压力传感器等)、摄像头、RFID 标签和读写器、GPS 定位设备等。这些设备能够感知环境的物理量、物体
    发表于 08-19 14:08

    PLC在联网的应用

    自动化领域的核心控制设备,在联网的应用也日益广泛。本文将详细介绍PLC在联网的应用,并从
    的头像 发表于 06-15 11:25 1380次阅读

    #联网 P4全彩屏调试

    联网
    斯塔克物联科技
    发布于 :2024年06月04日 13:57:39

    生态流量监测系统解决方案硬件产品#联网

    联网硬件
    北京恒润安
    发布于 :2024年05月29日 11:55:08

    4G联网开关求助

    阿里云联网平台 合宙模块780E 724 或者移远4G模块开发一款联网开关,有的APP ,可以直接做固件或者固件带硬件。有可以做的大师可
    发表于 05-19 15:28

    【天拓四方】联网网关硬件和云端分别实现了哪些功能?

    网关硬件和云端分别实现了哪些功能,并探讨这些功能如何为联网系统带来的支持。 一、联网网关硬件
    的头像 发表于 04-19 16:18 324次阅读

    蓝牙联网智能硬件-蓝牙网关

    随着联网技术的不断发展,智能硬件设备已经成为了我们生活不可或缺的一部分。而在这些智能硬件设备
    的头像 发表于 02-25 19:54 529次阅读
    蓝牙<b class='flag-5'>物</b><b class='flag-5'>联网</b>智能<b class='flag-5'>硬件</b>-蓝牙网关