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

    文章

    20164

    浏览量

    247779
  • 嵌入式
    +关注

    关注

    5188

    文章

    20187

    浏览量

    329360
  • 存储器
    +关注

    关注

    39

    文章

    7716

    浏览量

    170969
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一个面向单片机、事件驱动的嵌入式开发平台介绍

    核心,打造一个统一的嵌入式技术生态,广大企业用户和嵌入式开发者们,提供搞可靠性的、高性能的、现代且高开发效率的
    发表于 12-05 06:26

    嵌入式开发的关键点介绍

    嵌入式开发在现代科技中扮演着非常重要的角色。随着物联网的发展,嵌入式系统的需求也越来越大。嵌入式开发不仅需要开发人员具备深入的硬件知识和编程经验,还需要不断学习新的技术和工具,以满足不
    发表于 11-13 08:12

    恩智浦如何攻克两大嵌入式开发难题

    在我们的身边,嵌入式系统无处不在。而随着技术的进步和应用的拓展,今天的嵌入式开发也面临着诸多新课题、新挑战。
    的头像 发表于 10-27 09:28 1298次阅读

    嵌入式开发就业还有前景吗?

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

    嵌入式开发入门指南:从零开始学习嵌入式

    随着物联网、智能硬件的发展,嵌入式开发成为热门技能之一。以下将为初学者提供一份详细的嵌入式开发入门指南,涵盖学习路径、必备工具、推荐资源等内容。 1. 嵌入式系统的定义与应用嵌入式系统
    发表于 05-15 09:29

    NanoEdge AI Studio 面向STM32开发人员机器学习(ML)技术

    嵌入式开发人员提供了按年度的单个或团队许可。 帮助用户启动其项目,意法半导体推出了Edge AI Sprint包,以限制风险和投资,同时提高成功几率。这是包括培训课程、N
    的头像 发表于 04-22 11:09 1023次阅读
    NanoEdge AI Studio 面向STM32<b class='flag-5'>开发人员</b>机器学习(ML)技术

    嵌入式开发:高门槛的系统性工程与 996 的行业困局

    嵌入式开发的门槛,往往被培训机构和表象所掩盖。许多人误以为 “用 C 语言写个跑在 ARM 上的程序” 就是嵌入式,实则连皮毛都未触及。真正的嵌入式开发是硬件与软件深度融合的系统性工程,需跨越三重壁垒
    的头像 发表于 04-09 11:06 714次阅读
    <b class='flag-5'>嵌入式开发</b>:高门槛的系统性工程与 996 的行业困局

    嵌入式去哪个城市好?

    大都市,上海拥有众多跨国公司和高科技企业,特别是在电子产业方面有着深厚的积累和广泛的应用。上海的科技公司涵盖了从智能硬件到物联网的各个领域,嵌入式开发人员提供了广阔的职业发展空间。上海的国际化氛围也
    发表于 04-02 10:12

    IAR发布云端平台,助力现代嵌入式软件开发团队

    该平台嵌入式软件开发人员提供前所未有的自由度与灵活性,助力开发团队在工具选择和日常工作流中实现更高效的协作与创新。
    的头像 发表于 03-12 11:56 613次阅读

    BlackBerry QNX推出通用嵌入式开发平台

    BlackBerry有限公司(纽交所代码:BB;多伦多证券交易所代码:BB)旗下部门QNX今日宣布推出QNX 通用嵌入式开发平台(General Embedded Development
    的头像 发表于 03-11 16:04 968次阅读

    代码+案例+生态:武汉芯源半导体CW32嵌入式开发实战正式出版

    嵌入式开发实战》这本书凝聚着我们团队无数的心血与智慧,它不仅是对CW32单片机技术的全面解读,更是广大开发者搭建了一座通往嵌入式开发新世界的桥梁。武汉芯源半导体持
    的头像 发表于 03-03 15:15 1047次阅读
    代码+案例+生态:武汉芯源半导体CW32<b class='flag-5'>嵌入式开发</b>实战正式出版

    代码+案例+生态:武汉芯源半导体CW32嵌入式开发实战正式出版

    的理念,持续大家带来更多优质的产品和技术支持。同时,也期待大家能够从这本书中收获满满,在嵌入式开发的道路上取得更加辉煌的成就!
    发表于 03-03 15:14

    GoPoint嵌入式开发平台 释放i.MX潜力 简化Linux开发

    地进行创新。 在快节奏的嵌入式系统时代,时间是开发人员最宝贵的资源。GoPoint (过去名为NXP Demo Experience) 重新定义了评估和探索过程,开发人员能够快速评估i.MX SoC在下一代项目中的能力。 GoP
    发表于 02-28 10:07 1109次阅读
    GoPoint<b class='flag-5'>嵌入式开发</b>平台 释放i.MX潜力 简化Linux<b class='flag-5'>开发</b>

    如何提高嵌入式代码质量?

    的情况下也必须保持稳定的性能。 3. 硬件依赖:嵌入式软件紧密依赖硬件平台,需要充分理解硬件特性才能编写高效且稳定的代码。 了解这些特点有助于开发人员在编写代码时有针对性地优化和调整,以满足系统的需求
    发表于 01-15 10:48

    嵌入式开发必备-RK3562演示Linux常用系统查询命令(上)触觉智能出品

    实用干货!嵌入式开发学习必备-RK3562演示Linux常用系统查询命令(上)关注触觉智能持续大家带来更多嵌入式开发内容
    的头像 发表于 12-31 10:51 117次阅读
    <b class='flag-5'>嵌入式开发</b>必备-RK3562演示Linux常用系统查询命令(上)触觉智能出品