亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 嵌入式

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

在对系统级更高性能的不懈追求中,集成设备制造商 (IDM) 已经精通开发能够在具有挑战性的电气环境中高速运行的数字接口。标准接口(例如 SPI 和 I2C)提供了一种相对简单的方式,以可靠且有效的方式互连来自不同供应商的设备。其他类型的接口也是如此。

数字领域可以被认为是为希望使用“标准”技术快速构建复杂系统的开发人员提供一个避风港。事实上,嵌入式行业在很大程度上依赖于“正常工作”的基于标准的接口,因为它们提供了创新框架。当它们不能“正常工作”时,可能会导致混淆,尤其是在错误解释错误原因的情况下。任何混淆都是可以理解的,因为当按照规范应用时,接口被开发为健壮和可靠的。底层物理接口固定在硅片中这一事实也可以让人放心。

各种形式的系统噪音

信号的任何失真都可以解释为噪声,假设噪声在通信环境中最常见,这可能是合理的;接收到的信号不是发送的信号。这种直接相关性比较容易找到,但在某些情况下,因果关系并不那么容易确定。当故障变得间歇性时,挑战变得更加复杂。

今天的微控制器旨在以最少的配置提供可靠的操作。在串行接口的情况下,这可能包括默认为 I/O 引脚上的高驱动电流,以对抗长 PCB 走线或高容性负载的影响。在某些情况下,这可能会导致接口过度驱动,进而导致衍生效应被解释为错误或故障。

例如,串行闪存设备提供了许多高级功能,可确保可靠运行并允许查询设备。这可以包括噪声滤波器、高级自适应编程和管理单元边缘的擦除算法。一些制造商还在存储元件中包含 ECC,在每次写入操作时保存额外的元数据,以允许检测和纠正单个或多个位错误,但当噪声破坏通信接口总线上的基本消息事务时,此 ECC 修复将无济于事。

SPI 接口上的噪声可能会被误解为额外的时钟脉冲。由于 SPI 是时钟驱动接口,这会产生诸如命令被忽略、数据被误解、使用错误命令等的影响。 然而,噪声也携带能量,在某些情况下,这种能量本身会在设备操作中引入错误.

电荷泵和过冲

在大多数情况下,数字接口可以容忍信号中的一些过冲或下冲。然而,不应忘记曲线下的能量仍然存在,并且在某些电路中这可能是破坏性的。

一个典型的例子是串行闪存中的电荷泵电路。如果 SPI 总线信号包含显着噪声,则该信号中的能量可能会传播到电荷泵并破坏其运行。

闪存中的电荷泵是一项关键功能,因为它提供改变存储单元偏置所需的电源,并有效地存储逻辑 1 或 0。写入/擦除过程是闪存操作中的关键时刻内存,在此期间电荷泵的任何中断都可能导致写入或擦除错误,虽然这些错误可能会被检测到,但有可能不会很明显。

此类错误很容易被解释为闪存设备中的故障。嵌入式设计人员很清楚闪存具有制造商保证的有限数量的读写周期这一事实,但可能不太了解的是提供一个干净的接口而没有太多过冲或下冲的重要性。

例如,考虑图 1 中的图像。它显示了六个闪存设备的健康单元余量。在用代表逻辑 1(2V 至 5V)和 0(>6V)的数据编程的单元之间出现两种不同的模式。相比之下,图 2 中的图像显示了三个闪存设备的存储单元裕量,这些设备因控制线上的过冲和下冲而导致数据损坏。


图 1:该图像显示了已编程和擦除的闪存的良好单元边距分离数据。 (来源:Adesto)


图 2:该图像显示闪存的单元边距分离数据较差,其中 SPI 线路上存在明显的噪声。 (来源:Adesto)

多种因素都会影响噪声水平,例如工作频率、信号幅度、MCU 驱动水平以及噪声尖峰中包含的能量。 PCB 设计和信号之间的串扰也可能是促成因素。

图 2 中的数据显示了过多过冲和下冲对串行接口的影响。下面的图 3 展示了这种超调在实际应用中的表现。

点击查看大图

图 3:此跟踪图像清楚地显示 SPI 线上存在的过冲和下冲导致峰峰值电压为 5.65V,超过了闪存规范中记录的绝对最大值. (来源:Adesto)

这种噪声的结果是错误的设备操作,表现为串行闪存存储值中的错误。最初,错误的真正影响被忽略了,因为轮询 STATUS 寄存器的频率较低,报告的错误较少,导致设计人员对失败的根本原因做出错误假设。

找出真正的根本原因

尽管此故障表现为内存故障,但根本原因并非 Flash 设备。这是 Adesto 工程师通过探测 SPI 信号并识别存在的系统噪声发现的。虽然噪声可能部分归因于 MCU 和闪存之间 PCB 轨道上的阻抗不匹配,但这并不是全部。

噪声源实际上是 MCU 接口,它在上电时默认为高驱动电平。过度驱动足以导致 SPI 线路上的过冲和下冲,在某些情况下可能会被误解为信号转换,从而导致读取或写入错误。然而,在这种情况下,我们发现过冲拥有足够的能量来破坏 Flash 电荷泵,从而导致错误。

在客户的设计中,所使用的微控制器为其 I/O 提供了可配置的驱动电流,该电流在启动时默认为高电平。由于应用程序代码在初始化期间没有修改这个级别,所以它在正常操作中保持高位。

这对 SPI 总线上的其他设备的影响可能并不明显,因为数字接口通常被设计为稳健的。闪存的敏感特性,需要以更高的频率运行,特别是电荷泵的运行,使得存储器容易受到过冲/下冲的影响。这导致错误操作,最初被误解为闪存设备中的故障。

纠正错误

通过固件降低驱动电流将过冲和下冲有效地降低到零(图 4),进而导致闪存无错误运行。

点击查看大图

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

故障的性质表明Flash设备正在尽一切努力补偿错误的影响,即SPI接口上的系统噪声过大。

也许这里最重要的一点是,原因实际上是所使用的 MCU 的设计特征,默认为在大多数情况下完全可以接受的操作模式。高驱动输出和不完美的 PCB 电感相结合,造成了导致间歇性故障的条件。通过简单的固件更改,降低 MCU 上的驱动输出,解决了问题。

这突出了这里真正的教训:看似真正的组件故障实际上可能是设计中的疏忽。更换存储设备本来是对最初被认为是故障的自然反应,但是通过客户和供应商以及硬件和软件工程团队之间的牢固工作关系,找到了真正的原因并应用了正确的解决方案.结果是明显更好的设计、更高的系统性能和更高的可靠性。

结论

当没有明显影响时,系统噪音很容易被消除。间歇性错误在最佳条件下特别难以定位,但当错误被误解时,挑战就更加困难了。

过冲可能是最不明显的系统噪声形式,但正如此处所述,其影响可能很大。闪存是一种可靠的技术,但它依赖于精心设计的接口。串行接口上​​的过多噪声有可能传播到电荷泵电路,从而影响编程和擦除电路的操作。这会导致不可预见的特性,这些特性很容易被解释为设备本身的故障,表现为存储单元故障,以及不一致或不可靠的编程和擦除操作。

在这种情况下,更换闪存并假设问题已解决可能会导致产品上市,而这些产品可能会在某个时候出现故障。相反,设计人员能够显着提高编程和擦除一致性,有效耐久性从检测到错误之前不可接受的约 20K 周期跃升至超过 250 万个周期且无错误且不需要补充错误检测和纠正例程。

现代微控制器提供的可配置性水平既是一种帮助,也是一种障碍;驱动电流可配置的事实可能是本例中过冲的原因。但是,能够降低驱动强度也可以有效地解决问题。


嵌入式

  1. 数字通信简介
  2. 是德科技推出新的相位噪声测试系统
  3. Winbond:NOR+NAND 双芯片存储芯片现在支持 NXP Layerscape LS1012A
  4. 同意:带有 CAN、GbE、PoE、4G、3G 和 WLAN 的车载 PC
  5. 数字孪生如何帮助提升物流绩效
  6. 云分析如何加速数字供应链转型
  7. 为什么材料供应商应该拥抱数字营销——以及我们如何提供帮助!
  8. 医疗器械 OEM 如何实施工业 4.0 商业模式
  9. 压缩空气中的污染物如何影响工艺
  10. 如何减少错误数量,提高生产质量体系?
  11. 小商店如何在经济上实现数字化!
  12. 如何调平车床