当今的嵌入式系统,例如物联网中的智能设备和端点,通常需要即时启动功能,同时将高性能与低功耗相结合。所有电子系统还应具备从瞬态故障引起的条件中恢复的能力。此类故障通常与信号完整性密切相关,这在当今的高速设计中变得更具挑战性。
从运行时故障中恢复通常需要能够对系统的全部或部分进行受控复位。在极端情况下,如果没有提供软复位,这可能表明需要对设备进行电源循环。对于远程位置的物联网端点,这可能是有问题且昂贵的,因此仅提供了一个示例,说明复位功能在嵌入式设计中变得多么重要。
串行外设接口 (SPI)广泛用于将外设和内存连接到嵌入式系统中的微控制器或处理器。复位串行闪存是初始化或恢复的重要部分。为了使主机处理器更容易复位 SPI 存储器,行业标准机构 JEDEC 定义了一个串行复位协议,该协议避免了对专用复位引脚的需求。本文介绍了复位协议及其使用,特别是扩展 SPI (xSPI) 和从串行非易失性存储器执行代码。
SPI 闪存的作用
相对于并行总线,串行接口的主要优点是减少了所需的信号数量。在大多数情况下,更少的信号和 I/O 引脚可降低组件成本和功耗,因为驱动片外信号所需的功率可能是总功耗的重要因素。
最初的 SPI 规范有四个信号:用于同步数据传输的串行时钟 (SCLK);一个或多个芯片选择 (SS) 可实现对多个目标的寻址,两个数据信号(MOSI 和 MISO)可在每个方向传输数据。该标准已以各种方式扩展以支持更高的性能,现在包括通过 SPI 接口执行软复位的能力。
为了增加带宽,SPI 接口得到了发展和发展,现在变体包括双 SPI,它使用半双工配置中的两个数据引脚每个时钟周期发送两个位,以及四和八进制 SPI,它添加更多数据线到每个时钟周期传输更多位。此外,它们都可以在双倍数据速率 (DDR) 模式下使用,该模式在两个时钟沿传输数据。
四路和八路 SPI 接口由 JEDEC 扩展 SPI (xSPI) 标准 JESD251 定义,该标准提供了硬件指南以实现系统中高吞吐量 xSPI 设备的无故障集成。
最近,JEDEC 还定义并发布了一个标准,规定通过串行接口重置设备。该复位协议在 JEDEC 标准 JESD252 中定义,无需串行闪存中的专用复位引脚。
该标准定义了芯片选择、时钟和输入数据信号需要遵循的特定序列,以使设备执行硬件复位。使用这种模式是为了避免由串行数据线上的噪声引起的杂散转换不会导致意外复位。在复位期间,时钟信号保持低电平,进一步确保引脚转换不会被解释为数据传输,而片选引脚用于确保只有特定设备被复位。
SPI闪存广泛用于嵌入式产品,尤其是代码。这使得它对整体功能至关重要,因此保持可靠运行至关重要,包括在必要时发出重置的能力。
使用复位进行初始化和恢复
系统通常在上电时使用复位功能,以确保系统的所有部分都以已知状态启动。复位还可用于从运行期间可能由硬件问题引起的严重故障中恢复,其中包括信号完整性和时序问题、电磁干扰或由背景辐射引起的随机存储器损坏(另请参见“缓解亚稳态”)。软件错误也可能导致程序崩溃和无响应。
这些偶尔出现的错误可能只对消费者造成不便,但对于物联网来说可能是一个严重的问题,其中成千上万的节点需要具有高水平的可用性。越来越多地,这些设备可能无法轻松访问以进行手动重置或电源循环。嵌入式系统通常会使用看门狗定时器和其他自检机制来检测故障并采取纠正措施。这可能意味着执行“软”重置,其中只有必要的子系统在处理器的控制下被重置。
SPI 接口是有状态的。例如,在接收到命令后,闪存将期待一定数量的地址或数据传输。任何导致主机和内存之间失去同步的错误都将导致不可预知的行为。要从这种情况中恢复,主机需要能够通过执行软复位将串行存储器复位到已知状态。这种复位有助于保持系统稳定,并且在没有任何外部故障指示的情况下进行。因此,它们现在可以被视为嵌入式系统操作的标准功能。
虽然一些串行闪存可能有一个专用的复位引脚,但其他的使用多路复用来减少引脚数,在这种情况下,复位引脚也将是一个 I/O 引脚,在某些情况下,制造商可能不会在全部。即使有可用的复位引脚,将微控制器的输出专用于控制它也可能不切实际。JESD252 规范已经制定,因此串行闪存器件仍然可以支持复位功能,而无需专用或物理复位引脚。除了错误恢复之外,串行复位机制可以在启动时使用,以确保在电源稳定后正确启动串行存储器。
就地执行
传统的串行闪存通过低速 SPI 连接,这意味着如果这些设备用于存储程序存储器,处理器必须先将代码复制到片上 SRAM 中才能执行。就地执行或 XiP 是串行闪存,它通过提供更快和更宽的接口消除了这一要求。反过来,这减少了对片上 SRAM 的需求,从而可以降低主机微控制器或处理器的价格。
Adesto 的 EcoXiP具有八通道 SPI 接口,与其他八通道器件相比,具有显着降低的功耗和比四通道 SPI 存储器更高的性能,可提供高性能。
对于现代嵌入式设备,XiP 是一项有价值的发展,尤其是因为片上闪存价格昂贵且尺寸有限。微控制器通常具有最大 1 MB 的内部闪存,但现代物联网节点通常需要更多的代码空间来存储通信堆栈、无线接口、音频处理、机器视觉和应用软件等功能。将 XiP 与外部闪存结合使用可实现更大的代码存储空间。它还通过消除代码传输阶段来缩短启动时间。
XiP 的使用使 SRAM 可自由用于数据存储而不是代码,从而减少了所需的 SRAM 数量。这可以通过消除对外部 SRAM 的需要或允许使用具有较少片上 SRAM 的微控制器来降低系统成本。虽然 NOR 闪存允许随机访问,但微控制器需要将串行接口映射到自己的内存空间,因此它被视为内存的另一个区域,因此可以支持 XiP。为了进一步提高性能,EcoXiP 针对代码执行进行了优化。
标准 SPI 接口专为随机访问而设计;每次读取都包含一个命令、一个地址和返回的数据。数据返回后,可以再次请求。然而,指令通常是从连续的地址中获取的。EcoXiP 接口通过为每个读取请求提供连续字节来利用这一点,直到发送具有新地址的命令。这可以通过消除每次获取发送新地址的延迟来使总线吞吐量翻倍。EcoXiP 可以以 156 MB/s(峰值 266 MB/s)的持续速率提供指令。
传统 NOR 闪存的另一个问题是写入比读取慢几个数量级。这意味着在执行代码时无法将数据写入闪存,因为这样做会对性能产生重大影响。EcoXiP 通过灵活地将内存划分为独立的 bank 来支持并发读写。这使得使用 XiP 执行代码成为可能,同时将数据保存到内存并执行无线 (OTA) 更新。
支持 JEDEC 标准,包括远程复位,使业界更容易采用带有 XiP 的串行闪存。
结论
能够在主机处理器的控制下复位串行闪存是嵌入式系统的一项重要要求。JEDEC JESD252 串行复位协议无需存储器上的复位引脚或来自微控制器或主机处理器的专用信号即可实现这一点。
尽管使用串行复位和 XiP 会影响主机和内存的设计,但越来越多的微控制器正在增加对这些标准的支持。Adesto 是第一家推出支持串行闪存复位信号协议和 xSPI 标准的串行 NOR 闪存的制造商。EcoXiP 提供所需的执行性能,同时降低系统功耗和系统成本。它还实现了串行闪存发现的标准,并具有提高电源效率和安全性的其他功能。
通过这些技术,嵌入式工程师可以更好地应对他们在开发面向物联网的产品时面临的挑战。
审核编辑:郭婷
-
处理器
+关注
关注
68文章
19282浏览量
229793 -
嵌入式
+关注
关注
5082文章
19123浏览量
305110 -
存储器
+关注
关注
38文章
7490浏览量
163819
发布评论请先 登录
相关推荐
评论