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

    文章

    19282

    浏览量

    229793
  • 嵌入式
    +关注

    关注

    5082

    文章

    19123

    浏览量

    305110
  • 存储器
    +关注

    关注

    38

    文章

    7490

    浏览量

    163819
收藏 人收藏

    评论

    相关推荐

    如何使用 RISC-V 进行嵌入式开发

    RISC-V是一种开源的指令集架构(ISA),它允许任何人设计、制造和销售基于RISC-V的处理器,这嵌入式开发提供了极大的灵活性和创新空间。以下是使用RISC-V进行嵌入式开发的基本步骤: 一
    的头像 发表于 12-11 17:32 498次阅读

    基于Xilinx ZYNQ7000 FPGA嵌入式开发实战指南

    电子发烧友网站提供《基于Xilinx ZYNQ7000 FPGA嵌入式开发实战指南.pdf》资料免费下载
    发表于 12-10 15:31 2次下载

    MSPDebugStack开发人员指南

    电子发烧友网站提供《MSPDebugStack开发人员指南.pdf》资料免费下载
    发表于 12-05 14:49 0次下载
    MSPDebugStack<b class='flag-5'>开发人员</b>指南

    零基础嵌入式开发学习路线

    Linux基本操作 什么是Linux?为什么要学Linux?Linux是一个操作系统,类似于平常使用的Windows系统。作为嵌入式开发最常用的操作系统,Linux是开发人员必会的技能。它有很多优点
    发表于 10-25 15:55

    嵌入式开发常见问题排查

    嵌入式开发问题排查很多人认为嵌入式开发很难,主要是因为在这个过程中常常会遇到各式各样的问题。这些问题的复杂性和多样性使得许多人感到困惑和无所适从。然而,如果将这些问题逐一拆解,实际上大部分都可以
    的头像 发表于 09-22 08:04 336次阅读
    <b class='flag-5'>嵌入式开发</b>常见问题排查

    嵌入式开发常用软件有哪些?

    查看源代码,注释文档等非常方便,因为它查找,定位,彩色显示等功能非常强大。开发人员会当成源代码阅读工具使用。 4.Keil uVision5 Keil 5 软件是一款功能强大的嵌入式系统开发工具,主要
    发表于 09-09 15:22

    C2000 ePWM开发人员指南

    电子发烧友网站提供《C2000 ePWM开发人员指南.pdf》资料免费下载
    发表于 09-07 09:45 0次下载
    C2000 ePWM<b class='flag-5'>开发人员</b>指南

    嵌入式系统中的实时操作系统

    嵌入式RTOS是嵌入式应用程序运行、相互交互和与外界通信的底层软件机制。在本节中,您将了解嵌入式软件开发人员使用哪些流行RTOS以及它们运行的嵌入式
    的头像 发表于 08-20 11:28 493次阅读

    聚焦嵌入式开发中的合规性工具、项目管理工具、版本迭代工具应用

    日前,龙智携嵌入式开发及管理解决方案亮相2024上海国际嵌入式展(embedded world China 2024)。展会期间,我们对话了多位龙智资深DevSecOps顾问及技术支持专家
    的头像 发表于 07-29 15:15 546次阅读

    嵌入式开发前景怎么样?

    嵌入式开发前景非常广阔,这主要得益于物联网、人工智能、大数据等技术的快速发展,以及嵌入式系统在各个领域的广泛应用。以下是对嵌入式开发前景的详细分析
    的头像 发表于 07-10 09:00 2705次阅读
    <b class='flag-5'>嵌入式开发</b>前景怎么样?

    嵌入式开发就业前景怎么样?

    。在智能家居领域,嵌入式开发的主要工作是开发各种智能化设备和系统,如智能照明、智能安防、智能家电等。嵌入式开发人员需要掌握相关的硬件和软件技术,如处理器、传感器、通信技术、操作系统等,同时也需要具备
    发表于 06-07 14:51

    fpga是嵌入式开发

    FPGA(现场可编程门阵列)与嵌入式开发之间确实存在一定的关联,但它们在本质上是两个不同的领域。
    的头像 发表于 03-15 14:18 1044次阅读

    雅特力AT32 Workbench图形化代码生成工具,简化嵌入式开发最佳利器

    嵌入式系统应用市场广泛,早已遍及日常生活,随着产品需求复杂度的提升,32位MCU开发难度也随之增加,如何降低开发成本,缩短开发周期,是所有嵌入式开发
    的头像 发表于 02-19 13:26 568次阅读
    雅特力AT32 Workbench图形化代码生成工具,简化<b class='flag-5'>嵌入式开发</b>最佳利器

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

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

    雅特力AT32 Workbench图形化代码生成工具,简化嵌入式开发利器

    嵌入式系统应用市场广泛,早已遍及日常生活,随着产品需求复杂度的提升,32位MCU开发难度也随之增加,如何降低开发成本,缩短开发周期,是所有嵌入式开发
    的头像 发表于 01-29 13:48 3298次阅读
    雅特力AT32 Workbench图形化代码生成工具,简化<b class='flag-5'>嵌入式开发</b>利器