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

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

3天内不再提示

为您的嵌入式应用选择最佳闪存器件

星星科技指导员 来源:嵌入式计算设计 作者:Gideon Intrater 2022-12-01 17:10 次阅读

当今的大多数嵌入式系统都依赖于片上闪存或SRAM作为程序存储器(固件)。然而,这些存储器在成本和功耗方面通常很昂贵,并且还将程序大小限制在片上实现的存储器量上。协议和存储器设计的最新进展使固件能够以就地扩展(XiP)方式直接从片外非易失性存储器(NVM)设备中运行,这种方法可能会缓解上述挑战。

本文将介绍用于嵌入固件的传统解决方案的优缺点。随后将对 XiP 解决方案进行深入讨论,最后就如何选择最佳 XiP 架构提出建议。

嵌入式闪存长期以来一直是微控制器MCU)的支柱。这些MCU通过一个或多个NVM阵列来增强片上易失性存储器阵列,用于存储固件和其他常量。要实现这一目标,需要通过大量额外的制造步骤,用NVM单元增强基本的CMOS工艺。过去,添加这些制造步骤的成本很小,但随着CMOS技术的进步,将标准CMOS工艺转变为支持NVM的工艺变得越来越复杂和昂贵。事实上,虽然当今量产中最先进的CMOS工艺低于10nm,但带有嵌入式闪存的CMOS在40nm处落后于多代。

结果是,虽然MCU供应商可以使用更快,更便宜且需要更低功率的工艺技术来构建产品,但嵌入式NVM的使用使他们无法这样做。即使他们选择支持嵌入式NVM的老一代,支持闪存的工艺与不支持闪存的工艺之间的价格差距也可能超过40%。此外,将特定的 NVM 大小提交到 MCU 中可能适用于一个应用程序,但对于另一个应用程序来说可能是错误的容量。

无论面临所有这些挑战,嵌入式NVM仍将在很长一段时间内成为MCU的支柱。对于可以在不太先进的CMOS工艺中实现的较小设计,使用嵌入式闪存将是最有效的解决方案。但更高性能、更低功耗的MCU需要替代解决方案。

使用嵌入式闪存的另一种方法是由外部串行闪存器件备份的片上SRAM阵列。启动后,外部闪存的内容被复制到片内SRAM,然后MCU开始从SRAM执行。该解决方案的最大优点是SRAM可以采用最先进的CMOS工艺制造,而无需修改工艺。但是,此解决方案需要两个固件副本 - 一个在外部闪存中,另一个在SRAM中。大型片上SRAM阵列即使在高级工艺节点中也相当昂贵。而且,由于SRAM会泄漏电流,因此当系统处于省电模式时需要关闭它们,每次MCU唤醒时都需要重复耗电且耗时的复制操作。最后,与嵌入式闪存一样,特定MCU中SRAM的尺寸是固定的,对于特定应用的需求来说,它可能太大或太小。

MCU供应商正在寻找新的内存架构,以满足新兴智能物联网边缘设备的性能和功耗要求。XiP的使用正在成为高性能、低功耗系统的首选解决方案。借助XiP,MCU可以在标准CMOS工艺技术中实现,而只有外部闪存阵列需要特殊的NVM工艺。MCU通过保存常用代码段的指令缓存进行了增强。每当处理器在缓存中找不到所需的指令(缓存未命中)时,MCU 就会启动对外部闪存的访问,以带来缺失的指令并将其存储在缓存中。随着新的JEDEC xSPI协议(JESD 251)的引入,闪存的接口可以达到200MHz,在双数据速率(DDR)中切换8位宽的数据路径。

最近,恩智浦和意法半导体都推出了可以使用外部闪存进行就地扩展(XiP)操作的MCU。意法半导体的STM32L4+和STM32L5分别是基于Arm Cortex-M4和M33内核的中端MCU,而高端恩智浦 i.MX RT1050和RT10xx系列的其他成员则实现了具有32KB指令缓存的600MHZ双问题Cortex-M7。恩智浦还通过其基于M4的中端Kinetis K8x产品和最近推出的基于Arm Cortex-M33的MCURT600支持XiP。意法半导体MCU和Kinetis K8x实现了片上闪存和对XiP的支持的组合。RT600 和 RT10xx 产品的设计没有片上闪存,因此价格非常激进。

选择用于就地扩展的外部闪存设备时,首先要问的问题是固件的哪些部分将在 XiP 模式下运行。一些设计人员选择混合方法,将程序的性能关键部分保留在芯片上(ROM、闪存或SRAM),并在XiP模式下使用外部闪存来扩展系统。

有关此的问题:

程序的全部或部分是否从片上ROM、闪存或SRAM执行?如果是,这些内存类型中的哪一种?

程序的全部或部分是否会以XiP方式直接从外部闪存中执行?

如果(a)的答案是SRAM,则需要在SoC外部使用闪存,以便在启动时加载程序。设计人员可以选择Adesto Phoenix(标准闪光灯)、Fusion(针对电池操作优化的闪光灯)或EcoXiP(针对XiP优化的八闪光灯)。对于对成本敏感且吞吐量不重要的应用程序,应选择 Phoenix。Fusion适合具有非常严格的功率限制的最佳应用。在这种情况下,只有当客户还需要 XiP 模式下的高性能,或者需要八通道闪存设备的吞吐量来实现非常快速的启动或频繁的数据读取操作时,才应考虑 Adesto 的 EcoXiP,例如人工智能推理引擎。

假设(b)的答案是肯定的(至少部分固件需要XiP),下一个问题是确定需要多少性能。由于采用了高速八通道 DDR 接口,EcoXiP 的吞吐量大约是标准闪存设备的 4 倍。此外,包装并继续命令进一步提高了可实现的吞吐量。有许多问题要问:

SoC 是否包含指令缓存?(如果没有指令缓存,XiP性能将非常低;但是EcoXiP相对于Quad设备的优势将更加显着)

CPU 将以什么频率运行,SPI 总线的频率是多少?

在 XiP 中运行时需要什么级别的性能?

设备是否需要现场软件更新(通常称为无线 (OTA) 更新)?

(c)的答案至关重要。在低频和对XiP性能要求较低的情况下,直接从标准四通道SPI闪存设备执行是相当可行的。但是,即使指令缓存中的失误百分比非常小,与用完 EcoXiP 相比,从 Quad 设备执行将提供大约 50% 的 CPU 性能。

请注意,如果对 (d) 的响应是肯定的,则 EcoXiP 的边写边读功能将使 OTA 更新变得更加容易,前提是 SoC 在没有其他代码存储存储器的情况下构建(仅依赖于 XiP)。还有其他无需随写即读即可进行 OTA 更新的解决方案,但它们都是 SRAM 密集型的,需要复杂的固件。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17141

    浏览量

    351095
  • 嵌入式
    +关注

    关注

    5082

    文章

    19117

    浏览量

    304963
  • 存储器
    +关注

    关注

    38

    文章

    7487

    浏览量

    163806
收藏 人收藏

    评论

    相关推荐

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

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

    PROM器件嵌入式系统中的应用

    PROM(Programmable Read-Only Memory,可编程只读存储器)器件嵌入式系统中有着广泛的应用。以下是对PROM器件嵌入式系统中应用的分析: 一、PROM
    的头像 发表于 11-23 11:22 404次阅读

    嵌入式系统中的连接器选择

    嵌入式系统中,连接器的选择是一个至关重要的环节,它关系到系统的稳定性、可靠性和数据传输效率。以下是对嵌入式系统中连接器选择的分析: 一、连接器类型 板对板连接器 : 用于
    的头像 发表于 11-07 09:44 259次阅读

    什么是嵌入式?一文读懂嵌入式主板

    在现代科技浪潮中,嵌入式技术已成为支撑各种智能设备和系统运行的核心力量。那么,究竟什么是嵌入式嵌入式系统,顾名思义,是将计算机的硬件和软件嵌入到某种设备或系统中,以实现特定功能的计算
    的头像 发表于 10-16 10:14 947次阅读

    的应用选择最佳的bq2416x器件

    电子发烧友网站提供《的应用选择最佳的bq2416x器件.pdf》资料免费下载
    发表于 10-09 09:33 0次下载
    <b class='flag-5'>为</b><b class='flag-5'>您</b>的应用<b class='flag-5'>选择</b><b class='flag-5'>最佳</b>的bq2416x<b class='flag-5'>器件</b>

    嵌入式主板是什么意思?嵌入式主板全面解析

    嵌入式主板,通常被称为嵌入式系统的核心组件,是一种用于控制和数据处理的计算机硬件,其设计旨在嵌入特定设备中执行专门任务。嵌入式主板如同是设备的“大脑”,主要功能是根据需要管理和控制设备
    的头像 发表于 09-30 10:05 458次阅读

    嵌入式linux开发的基本步骤有哪些?

    嵌入式Linux开发是一个复杂的过程,涉及到硬件选择、操作系统移植、驱动开发、应用程序开发等多个方面。以下是嵌入式Linux开发的基本步骤,以及每个步骤的说明。 硬件选择 在开始
    的头像 发表于 09-02 09:11 486次阅读

    嵌入式系统的外设器件选择

    作者:DigiKey Editor 嵌入式系统除了最重要的处理器选择之外,配合的相关外设器件也是嵌入式系统的重要组成部分,包括内存、时钟(
    的头像 发表于 05-05 09:38 902次阅读
    <b class='flag-5'>嵌入式</b>系统的外设<b class='flag-5'>器件</b><b class='flag-5'>选择</b>

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案。嵌入式系统是一种特定应用而设计的计算机系统,它通常包括处理器、内存、外设接口等组件,并且被
    的头像 发表于 03-15 14:29 1254次阅读

    fpga是嵌入式

    FPGA(现场可编程门阵列)不是嵌入式系统,但FPGA在嵌入式系统中有着重要的应用。
    的头像 发表于 03-14 17:19 2302次阅读

    PSoC™ 6 中嵌入式闪存的正确最低耐久性是多少?

    PSoC™ 6 中嵌入式闪存的正确最低耐久性是多少? PSoC™ 6 的数据表声称闪光灯耐久性至少 100k 次。 TRM 声称续航时间 10k 个周期。 请参阅第 6.5 节 6
    发表于 02-26 06:46

    铠侠正式发布业界首款车载UFS 4.0嵌入式闪存

    存储器解决方案的全球领导者铠侠株式会社宣布,该公司已开始提供业界首款面向车载应用的通用闪存(UFS)4.0版嵌入式闪存设备的样品。
    的头像 发表于 02-22 16:21 988次阅读

    嵌入式学习步骤

    开发。 嵌入式学习步骤总结如下: (1).确定目标平台:选择适合您要开发的嵌入式系统的硬件平台。这取决于您要控制的设备以及需要执行的任务。 (2).
    发表于 02-02 15:24

    Kioxia推出业界首款面向汽车应用的UFS 4.0版嵌入式闪存器件

    全球领先的存储解决方案提供商Kioxia Corporation今天宣布推出[1]业界首款[2]面向汽车应用的通用闪存[3](UFS) 4.0版嵌入式闪存器件样品。这些性能更高的新型
    的头像 发表于 01-31 18:19 596次阅读

    高端嵌入式实验平台

    微处理器、内存芯片组、闪存芯片组和电源管理电路,扩展板则由嵌入式硬件接口、板载功能和扩展功能模块组成。 软件提供嵌入式主流Andriod和Linux双系统软件包,开放的资源满足教学、科研、创新等应用,并提成配套实验教程。 该平台
    的头像 发表于 01-29 09:55 520次阅读
    高端<b class='flag-5'>嵌入式</b>实验平台