向右滑动:上一篇 向左滑动:下一篇 我知道了
广告

数字接口中的系统级噪声如何导致串行闪存的虚假报错

时间:2020-02-11 作者:Paul Hill,Gordon MacNee 阅读:
如今的微控制器设计目标是以最少的配置提供可靠的操作。对串行接口来说,这可能包括预先设置I/O引脚上的高驱动电流,用以应对较长的PCB走线或高容性负载的影响。在某些情况下,这可能会导致接口过度驱动,进而导致并被误读为错误或故障的衍生结果。

在不懈追求更高系统性能的过程中,集成设备制造商(IDM)变得越来越精于开发数字接口,这些接口能够在充满挑战的电子环境中高速运行。诸如SPI和I2C之类的标准接口提供了一种相对简单的方式,以可靠且有效的方式将自不同供应商的设备连接起来。其它类型的接口亦如此。dklEETC-电子工程专辑

对于想要使用“标准”技术快速构建复杂系统的开发人员来说,数字域无疑被视为避风港。的确,嵌入式行业在很大程度上依靠“正常工作”的标准接口,因为它们提供了可供创新的框架。但当它们不能“正常工作”时,就可能导致混乱,尤其是当错误原因被误判时。当根据规范应用时,接口开发一般都稳健且可靠,因此任何混乱都可理解。底层物理接口固定在芯片中的事实也保证了这一点。dklEETC-电子工程专辑

各种形式的系统噪声

任何信号失真都可解释为为噪声,可以合理地假设噪声在通信环境中最明显,收到的信号已不是最初发送的信号。这种直接相关性相对容易发现,但在某些情况下,因果关系不太容易识别。当故障间歇性出现时,问题就更加复杂了。dklEETC-电子工程专辑

如今的微控制器设计目标是以最少的配置提供可靠的操作。对串行接口来说,这可能包括预先设置I/O引脚上的高驱动电流,用以应对较长的PCB走线或高容性负载的影响。在某些情况下,这可能会导致接口过度驱动,进而导致并被误读为错误或故障的衍生结果。dklEETC-电子工程专辑

例如,串行闪存器件提供了许多高级功能,以确保可靠的操作并允许设备被询问。这可能包括噪声滤波器、高级自适应编程以及管理存储单元裕度的擦除算法。一些制造商还将ECC设计在存储元素中,从而在每次写入操作时保存额外的元数据,以允许检测和纠正单个或多个位错误,但是当噪声破坏了通信接口总线上的基本消息传输时,采用ECC修复错误将于事无补。dklEETC-电子工程专辑

SPI接口上的噪声可能会被误读为附加的时钟脉冲。由于SPI是时钟驱动接口,因此可能会产生一些不良影响,例如命令被忽略、数据被误读、错误命令被使用等。但是,噪声也携带能量,在某些情况下,这种能量本身会在设备在操作过程中引入错误。dklEETC-电子工程专辑

电荷泵和过冲

大多数情况下,数字接口可以忽略信号中的某些过冲或欠冲。但是,不要忘记,曲线下的能量仍然存在,在某些电路中这可能具有破坏性。dklEETC-电子工程专辑

一个典型的例子是串行闪存中的电荷泵电路。如果SPI总线信号包含很大的噪声,则该信号中的能量可能会传播到电荷泵并干扰其工作。dklEETC-电子工程专辑

闪存中的电荷泵承担着一项关键任务,即提供用于改变存储单元偏置并有效存储逻辑1或逻辑0所需的电源。写/擦过程是闪存操作中的关键时刻,在此期间电荷泵的任何中断都可能导致写入/擦除错误,尽管这种错误可能被检测出来,但也有可能被隐藏。dklEETC-电子工程专辑

上述类型的错误很容易被误解为闪存器件的故障。闪存应具有制造商保证的有限次数的读写周期,对这一点,嵌入式设计人员完全了解。但他们不太了解的是,一个没有太多过冲或欠冲的简洁接口有多么重要。dklEETC-电子工程专辑

例如,图1中的曲线显示了六个闪存器件的正常单元裕度。用代表逻辑1(2V至5V)和逻辑0(> 6v)的数据进行编程的存储单元之间出现了两种不同的模式。相比之下,图2中的曲线显示了三个闪存器件的存储单元裕度数据,这些闪存器件因为控制线路上的过冲和欠冲而导致数据损坏。dklEETC-电子工程专辑

dklEETC-电子工程专辑

图1:此图显示了编程和擦除两种情况下,良好的闪存存储单元裕度数据。(来源:Adesto)dklEETC-电子工程专辑

dklEETC-电子工程专辑

图2:此图显示了当SPI线上存在明显噪声时,糟糕的闪存存储单元裕度数据。(来源:Adesto)dklEETC-电子工程专辑

有多种因素会影响噪声水平,例如工作频率、信号幅度、MCU驱动级别以及噪声尖峰中包含的能量。PCB设计以及信号间的串扰也可能成为影响因素。dklEETC-电子工程专辑

图2中的数据显示了串行接口上太多过冲和欠冲造成的影响,图3则展示了实际应用中过冲是怎样的。dklEETC-电子工程专辑

dklEETC-电子工程专辑

图3:该迹线清楚表明了,SPI线上的过冲和欠冲,导致5.65V的峰-峰电压值,该值超过了闪存规范中提到的绝对最大值。(来源:Adesto)dklEETC-电子工程专辑

这种噪声可能导致错误的设备操作,表现为串行闪存存储值的错误。最初,错误的真正影响被忽略了,因为以较低频率轮询STATUS寄存器,报告的错误也少,从而导致设计人员对故障的根本原因做出误判。dklEETC-电子工程专辑

dklEETC-电子工程专辑

找出根源

尽管此故障表现为内存故障,但根本原因并不在闪存器件。Adesto工程师通过探测SPI信号并识别系统噪声表征发现了这一点。虽然噪声的产生部分归因于MCU与闪存之间的PCB迹线上存在阻抗不匹配,但这还不是全部。dklEETC-电子工程专辑

噪声源实际上是MCU接口,其在电源启动时默认为高驱动电平。驱动过量足以在SPI线上引起过冲和欠冲,在某些情况下,这可能被误读为信号跳变,从而导致读取和写入错误。而且,在这种情况下,过冲保持了足够的能量来破坏Flash电荷泵,这反过来又导致了错误。dklEETC-电子工程专辑

在客户设计中,微控制器为其I/O接口提供可配置的驱动电流,启动时默认为HIGH。由于应用程序代码在初始化期间不修改此电平,因此在正常操作中它仍保持高电平。dklEETC-电子工程专辑

对于SPI总线上的其它器件,这种影响可能并不明显,因为数字接口通常设计地很稳健。 而闪存的敏感特性,以及在高频下运行的需求,特别是电荷泵的运行,使得该存储器极易受到过冲/欠冲的影响。这导致了错误的操作,一开始就将其错误地理解为闪存器件的故障。dklEETC-电子工程专辑

纠错

降低流经固件的驱动电流,可将过冲和欠冲有效地减少到零(图4),进而实现闪存的无错运行。dklEETC-电子工程专辑

dklEETC-电子工程专辑

图4:在没有明显过冲的情况下,串行闪存的电荷泵能够正确运行并提供可靠的功能。(来源:Adesto)dklEETC-电子工程专辑

故障特性表明,闪存器件正在尽一切努力补偿错误造成的影响,即SPI接口上过多的系统噪声。dklEETC-电子工程专辑

最重要的是,产生错误的原因实际上是MCU采用的一项设计功能,这项功能被默认设置为大多数情况下完全可接受的工作模式。高驱动输出和不完善的PCB电感的结合,为间歇性故障的产生创造了条件。一个简单的固件修改,减少MCU上的驱动输出,即可解决该问题。dklEETC-电子工程专辑

真正的教训在于:看起来确定的组件故障可能实际上是设计的疏忽。最初的误判自然导致存储器件的更换,但是通过客户和供应商、以及硬件和软件工程团队之间的紧密合作,一定可以找到真正的原因,进而采用正确的解决方案。最终,设计得以完善,系统性能更高、可靠性更高。dklEETC-电子工程专辑

结论

在没有明显影响的情况下,系统噪声很容易被忽略。在最佳条件下很难定位间歇性错误,但如果错误被误读,情况会更加糟糕。dklEETC-电子工程专辑

过冲可能是最不明显的系统噪声形式,但是如上所述,其影响可能是巨大的。闪存是一种可靠的技术,但仍然取决于精心设计的接口。串行接口上的过多噪声有可能传播到电荷泵电路,可能损坏编程和擦除电路操作。由此产生的无法预料的特征很容易被误读为器件本身的故障,它表现为存储单元的故障,以及不一致或不可靠的编程和擦除操作。dklEETC-电子工程专辑

在这种情况下,更换闪存以为问题已解决,可能会导致产品在某一时刻进入市场失败。反之,设计人员能够将编程和擦除一致性提高一个等级,使得有效容错能力从检测到错误之前不可接受的约20K个周期,跃升到超过2.5M个周期,并且没有错误,也不需要补充的错误检测和纠正程序。dklEETC-电子工程专辑

现代微控制器提供的可配置水平是把双刃剑。在本文的示例中,驱动电流可配置也许是产生过冲的根本原因。不过,能够减小驱动强度对于解决该问题也有效。dklEETC-电子工程专辑

(参考原文:How system level noise in digital interfaces can lead to spurious errors in serial Flash memorydklEETC-电子工程专辑

责编:Yvonne GengdklEETC-电子工程专辑

本文为《电子工程专辑》2020年2月刊杂志文章,版权所有,禁止转载。点击申请免费杂志订阅 dklEETC-电子工程专辑

 dklEETC-电子工程专辑

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
您可能感兴趣的文章
  • 车载USB供电——USB Type-C与PD控制器设计考虑要素 哪有白来的充电方便,都是工程师在幕后想了很多办法。面向未来,不支持USB Type-C接口的汽车不要买。
  • 汽车电子设计中的“抛负载”及保护选型 随着汽车成为大众消费品进入千家万户,无论是传统车辆还是新能源PHEV,车辆的长期安全可靠性成为衡量汽车品质的一个重要指标。而保证汽车安全可靠,除了在汽车电子元器件的车规级的认证选型上需要关注之外,对于汽车电子功能模块的保护也越来越重要。
  • 光线追踪:一种颠覆性技术 对于任何名副其实地从事AR/VR/XR、产品设计或仿真工作的工程师而言,光线追踪是他们应该熟悉的一种技术。
  • 更智能的存储如何提升自动驾驶汽车的可靠性 采用自动驾驶技术的汽车配备有高级别的高级驾驶辅助系统(ADAS)功能。这类车辆拥有多部传感器(摄像头、激光雷达等)和控制装置,能实现自动驾驶并避免碰撞。这些传感器和控制装置是任务关键型装置,不能发生故障……
  • 使用示波器的信号处理功能进行P/F测试 使用示波器信号处理功能的P/F测试可以提供非常灵活的测试范围,即使是最复杂的信号。P/F测试对开发期间的少量器件测试有所助益,同时也可以在生产期间在自动化测试环境(ATE)中使用。在示波器中进行ATE测试通常要快一些,因为只需要传输测试结果,而不是把所有的信号都送到测试控制器中,然后离线处理数据。
  • 针对五种不同场景的耳塞式光学心率测量 传感器技术的进步改变了人们诊断其生命体征和健康的方式与地点。便携式非侵入测量技术可以在我们的日常生活中进行快速简单的测量,现在可以将有效运作的生命体征测量器件集成到典型的入耳式耳机中。本文针对五种不同场景介绍并评估了耳塞式光学心率测量系统。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告