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

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

3天内不再提示

JEDEC的软复位为嵌入式开发人员带来显着优势

笑过就走 来源:笑过就走 作者:笑过就走 2022-07-28 08:03 次阅读

当今的嵌入式系统,例如物联网中的智能设备和端点,通常需要即时启动功能,同时将高性能与低功耗相结合。所有电子系统还应具备从瞬态故障引起的条件中恢复的能力。此类故障通常与信号完整性密切相关,这在当今的高速设计中变得更具挑战性。

从运行时故障中恢复通常需要能够对系统的全部或部分进行受控复位。在极端情况下,如果没有提供软复位,这可能表明需要对设备进行电源循环。对于远程位置的物联网端点,这可能是有问题且昂贵的,因此仅提供了一个示例,说明复位功能在嵌入式设计中变得多么重要。

串行外设接口 (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

    文章

    18024

    浏览量

    221539
  • 嵌入式
    +关注

    关注

    4962

    文章

    18145

    浏览量

    286510
  • 存储器
    +关注

    关注

    38

    文章

    7080

    浏览量

    161686
收藏 人收藏

    评论

    相关推荐

    嵌入式软件开发应该掌握哪些知识?

    知识点学习 熟悉 Linux 的基本使用对于嵌入式软件开发至关重要。包括文件系统的管理、用户权限的控制、软件包管理等。嵌入式开发人员需要能够在 Linux 环境下进行开发、调试和部署工
    发表于 02-19 11:23

    嵌入式开发学习的十三法则分享

    嵌入式开发学习是一个不断积累和总结的过程,来自一个嵌入式开发高级工程师我们总结的关于嵌入式开发学习的十三法则,大家不妨参考一下: 一、冗余度法则 在
    发表于 12-21 06:32

    嵌入式开发测试秘诀

    。 多年前,一位工程师为了对嵌入式拥有更深层次理解的追求,曾发出这样的疑问:“我怎么才能知道并懂得我的系统到底在干些什么呢?”。同时代的嵌入式开发人员问得最多的问题大都围绕“我怎么才能使程序跑得更快”、“什么编译器最
    的头像 发表于 11-24 16:18 211次阅读

    c语言嵌入式开发

    电子发烧友网站提供《c语言嵌入式开发.zip》资料免费下载
    发表于 11-17 14:11 2次下载
    c语言<b class='flag-5'>嵌入式开发</b>

    开关电源开发人员必看

    电子发烧友网站提供《开关电源开发人员必看.pdf》资料免费下载
    发表于 11-08 15:41 0次下载
    开关电源<b class='flag-5'>开发人员</b>必看

    Linux系统的嵌入式开发是什么

    嵌入式开发听起来很高大上,但其实它就在我们身边。   嵌入式开发是指将操作系统、应用程序或数据存储在嵌入式设备中,如手机、平板电脑、智能家居等。   随着物联网时代的到来,嵌入式开
    的头像 发表于 10-12 15:40 968次阅读

    什么是嵌入式Linux?

    仅仅是保底统计。) 目前,嵌入式开发人才需求大,而随着人工智能的崛起势必又将进一步推动嵌入式技术的发展,无论是从短期还是长期来看,嵌入式开发工程师的前途都是不可限量的。 说了这么多,那么嵌入
    发表于 10-11 13:47

    从事嵌入式工作有哪些优势?

    。 那么从事嵌入式工作有哪些优势? 一是工作强度相对较低。开发企业应用软件的IT企业,这个用户的系统搞完了,又得去搞下一个用户的,而且每个用户的需求和完成时间都不同,开发人员往往疲于奔
    发表于 10-08 15:05

    STM32嵌入式开发中的RTOS,你用过哪些?

    STM32嵌入式开发中的RTOS,你用过哪些?
    的头像 发表于 09-18 16:21 727次阅读
    STM32<b class='flag-5'>嵌入式开发</b>中的RTOS,你用过哪些?

    ARM开发人员套件1.2版开发人员指南

    本书包含的信息将帮助您解决基于ARM的处理器开发代码时的特定问题。 一般来说,本书中的章节假定您正在使用ARM开发人员套件(ADS)来开发代码。 ADS由一套应用程序以及支持文档和示
    发表于 08-23 07:29

    ARM GPU最佳实践开发人员指南

    我们的指南提供了在为Arm Immortalis和Mali GPU开发时如何优化应用程序的建议。这些建议是那些希望开始使用Arm GPU的成熟开发人员准备的。
    发表于 08-10 06:58

    IzoT BACnet 开发人员指南

    IzoT BACnet 开发人员指南
    发表于 07-04 20:48 0次下载
    IzoT BACnet <b class='flag-5'>开发人员</b>指南

    什么人适合学习嵌入式开发

    到底什么专业的人适合学嵌入式?或从事过自动化相关工作的人员,适合参加嵌入式学习吗?等等系列问题,接下来就问大家一一解答:究竟什么样的人才适合学习嵌入式开发
    发表于 06-07 15:55

    Microchip GUI工具为嵌入式开发人员提供卓越的图形体验

    不幸的是,嵌入式开发板随附的许多图形用户界面(GUI)设计工具(包括微控制器(MCU)和微处理器(MPU))的创建者没有遵循爱因斯坦的建议。
    的头像 发表于 04-23 09:21 679次阅读

    单片机开发嵌入式开发的区别

    单片机开发嵌入式开发都是针对嵌入式系统的应用领域,但是两者有着不同的特点和应用场景。在本文中,我们将探讨单片机开发嵌入式开发的区别,并介
    的头像 发表于 04-14 16:36 1887次阅读