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

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

3天内不再提示

更新固件的灵活性 物联网设备的关键

星星科技指导员 来源:嵌入式计算设计 作者:Hardik Patel 2022-10-07 07:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

物联网IoT) 设备正在快速进入市场——从家用电器到医疗设备再到汽车——因为制造商必须通过新的创新和采用或集成新技术的灵活性保持领先于竞争对手。随着新功能和法规的采用,设计人员必须在其产品中增加灵活性,以满足不断发展的物联网生态系统。固件更新不仅允许在客户站点的初始部署期间进行定制,而且还允许在产品投入使用后添加新功能/特性或允许在使用过程中修复任何固件问题。

诸如 NOR 闪存的非易失性存储器 (NVM) 设备由于其可重编程性和可靠性而通常用作固件代码存储介质。通过重写驻留在设备中使用的 NVM 中的部分设备固件代码,制造商可以轻松更新设备功能。

在寻求更新固件时,需要考虑三件事:

更新什么/多少代码

多久更新一次

执行更新所需的时间(速度)

要更新什么/多少固件代码

在物联网设备的初始设计阶段,必须考虑更新什么以及更新多少固件代码。固件的可更新部分必须与不可更新部分存储在 NOR 闪存设备的单独区域中。

更新任何一块 NOR 闪存首先要擦除内存的该部分,然后将新信息编程到该部分中。NOR闪存被组织成不同大小的部分,称为扇区和块。NOR 闪存设备,例如 SST 的 64 Mb SuperFlash SST26VF064B 技术,被组织成统一的 4 KB 扇区(4 KB = 4 * 1024 * 8 位 = 32,762 位),可以单独擦除和重新编程。它们还可以组织成更大的 8 KB、32 KB 和 64 KB 块,也可以单独擦除。因此,1 个 8 KB 块有 2 个扇区,1 个 32 KB 块有 8 个扇区,1 个 64 KB 块有 16 个扇区。图 1 显示了 SST26VF064B 在 8/32/64 KB 块中的存储器结构,每个块都可以单独保护。

pYYBAGMXFIGARqZkAAE8ujJttOI086.jpg

【图1 | SST26VF064B 的内存组织(映射),由八个 8 KB 块、两个 32 KB 块和 126 个 64 KB 块组成。点击放大。]

在对闪存的任何部分执行任何更新之前,该部分中的块必须不受保护以允许擦除和编程。完成更新后,谨慎的做法是再次保护这些块,以防止对这些区域的任何无意写入或擦除。

固件的可更新部分必须以扇区和块的形式组织,以便有足够的灵活性来允许有限和最大的特性/功能更新。由于更新的速度取决于需要擦除和重新编程的扇区和块的数量,因此在组织固件的可更新部分时,最好同时考虑速度和灵活性。图 2 显示了将内存组织为可更新和不可更新部分的示例。不可更新部分(例如引导代码)存储在受保护区域中,而固件的可更新部分(例如特性/功能)则根据灵活性要求分为更小或更大的块。可更新的图像文件存储在较大的块中,可更新的变量/参数存储在较小的块中。

pYYBAGMXFIOAZWQ7AAFvK8wYBWU821.jpg

【图2 | 在不可更新部分(例如引导代码)和可更新部分(例如函数/特性、图像文件和参数变量的代码)中组织内存。点击放大。]

多久更新一次

您可能想要更新固件的频率的主要限制是应用程序中使用的内存的耐用性限制。SST26VF064B 等 SuperFlash 技术存储器具有 100,000 次耐久周期,这意味着每个扇区可以编程和擦除 100,000 次。更新固件 100,000 次的可能性听起来很多;然而,许多物联网设备在运行期间收集数据并将信息存储在 NOR 闪存中,因此在计算最大耐用周期限制时必须考虑这一点。

在内存中分配足够的扇区以考虑耐用性也很重要。例如:

假设物联网设备正在收集和存储 16 字节的信息,并且在产品的生命周期内预计会收集和存储 1 亿次信息。应该分配的扇区数可以计算如下:

1 个扇区 = 4 KB

假设扇区中的所有地址位置都用于存储信息,一次 16 个字节的数据,并被写入一个新的地址位置,直到到达扇区的末尾(例如,0×0000-0x000F 然后 0×0010 -0x001F 然后 0×0020-0x002F 等)。

由于 4 KB/16 字节 = 256,这是在达到扇区容量并擦除扇区中的任何数据之前可以写入存储的次数。如果一个扇区的耐久极限是100,000个周期,一个扇区可以写256次100,000个周期,那么可以收集和存储25,600,000次数据。

如果一个应用程序需要收集和存储 1 亿次数据,则要分配的扇区数计算为 100,000,000/25,600,000 = 3.9。因此,在此示例中,需要分配 4 个扇区来存储应用程序生命周期中的 16 个字节的数据。

物联网设备工程师需要进行类似的计算,为数据记录参数分配足够的扇区和块,以免超出其 NOR 闪存设备的耐用性限制。

更新速度

更新的速度可以根据需要擦除和重新编程的块和扇区的数量来计算。假设需要重新编程存储在 SST26VF064B 中几个 64 KB 块中的 1 Mb、2 Mb 或 4 Mb 固件代码/数据。代码/数据可以由固件代码、图像文件或其他需要更新的代码组成。执行更新涉及执行一系列命令指令以进行闪存。该序列将从取消保护内存块开始,擦除这些块,用更新的数据/代码对这些块进行编程,然后重新保护这些内存块。

对于 SST26VF064B,更新 1 Mb、2 Mb 或 4 Mb 存储器所需的指令序列如表 1 所示。从表 1 可以明显看出,两个最重要的周期是擦除时间和编程时间。

poYBAGMXFIaAFCngAARkuq0px2s440.jpg

[表 1 | 用于更新 1 Mb、2 Mb 或 4 Mb 内存的闪存命令指令序列。点击放大。]

SST26VF064B 采用 SuperFlash 技术,可提供出色的擦除性能。SuperFlash 技术与传统闪存的擦除和编程性能比较如表 2 所示。与传统闪存相比,SuperFlash 技术提供的卓越擦除性能对于缩短更新时间非常有用。SST26VF064B 支持的最大时钟频率为 104 MHz,最大扇区擦除时间为 25 ms,最大块擦除时间为 25 ms,最大页面编程时间为 1.5 ms。每个命令指令与以 104 MHz 时钟频率运行的闪存之间也需要 12 ns 延迟(CE 高电平时间)。

pYYBAGMXFIeAewpJAAE-13_u0yE987.jpg

[表 2 | SST26VF064B 和传统闪存的编程和擦除时间。点击放大。]

使用表 1 中所示的命令序列以及编程和擦除时间的知识,计算更新 1 Mb、2 Mb 或 4 Mb 的 SuperFlash 技术存储器和传统闪存所需的时间量如分别见表 3 和表 4。此类计算必须由物联网设备工程师完成,以估计更新速度,以最大限度地减少物联网设备在更新期间的停机时间。

poYBAGMXFImASCdBAAMjF53pJyY978.jpg

[表 3 | 更新 1 Mb、2 Mb 或 4 Mb SuperFlash 技术内存所需的时间。点击放大。]

poYBAGMXFIuAKZ9rAAMn4FQAcGg859.jpg

[表 4 | 更新 1 Mb、2 Mb 或 4 Mb 传统闪存所需的时间。点击放大。]

结论

物联网设备设计工程师需要提供更新应用程序代码和数据的灵活性。更新什么和多少代码、更新频率以及更新速度是设计物联网设备时需要解决的问题。NVM 的选择会影响这些问题,并在计算代码更新的时间和速度方面发挥关键作用。

审核编辑:郭婷

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

    关注

    39

    文章

    7753

    浏览量

    172156
  • 物联网
    +关注

    关注

    2950

    文章

    48097

    浏览量

    418096
  • IOT
    IOT
    +关注

    关注

    190

    文章

    4419

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Kinetis® K8x MCU 家族:助力联网智能设备开发的理想之选

    Kinetis® K8x MCU 家族:助力联网智能设备开发的理想之选 在联网蓬勃发展的今天,智能
    的头像 发表于 04-10 10:40 139次阅读

    80 MHz带宽IF接收器AD6677:高性能与灵活性的完美结合

    80 MHz带宽IF接收器AD6677:高性能与灵活性的完美结合 在当今的通信和电子设备领域,对于高性能、低功耗和小尺寸的中频(IF)接收器的需求日益增长。Analog Devices的AD6677
    的头像 发表于 03-30 11:00 303次阅读

    慧能泰HP1010A:高灵活性数字图腾柱PFC控制器的卓越之选

    慧能泰HP1010A:高灵活性数字图腾柱PFC控制器的卓越之选 在电子工程师的日常工作中,寻找高性能、高灵活性的电源管理解决方案是一项持续且重要的任务。今天要给大家介绍的是慧能泰半
    的头像 发表于 03-27 11:00 179次阅读

    ADSP-218xN系列DSP微计算机:高性能与灵活性的完美结合

    ADSP-218xN系列DSP微计算机:高性能与灵活性的完美结合 在数字信号处理(DSP)领域,ADSP-218xN系列DSP微计算机凭借其卓越的性能和丰富的功能,成为众多工程师的首选。今天,我们
    的头像 发表于 03-23 16:20 211次阅读

    CDCM1802时钟缓冲器:高性能与灵活性的完美结合

    CDCM1802时钟缓冲器:高性能与灵活性的完美结合 在电子设计领域,时钟信号的稳定传输和精准分配至关重要。今天,我们要深入探讨一款功能强大的时钟缓冲器——CDCM1802,它以其独特的特性和广泛
    的头像 发表于 02-10 11:35 322次阅读

    探索PCM186x-Q1音频ADC:高性能与灵活性的完美结合

    探索PCM186x-Q1音频ADC:高性能与灵活性的完美结合 在汽车音频系统的设计领域,对于高性能、高集成度音频模数转换器(ADC)的需求与日俱增。德州仪器(Texas Instruments)推出
    的头像 发表于 01-29 17:40 721次阅读

    TLV320ADC3140音频ADC:高性能与灵活性的完美结合

    TLV320ADC3140音频ADC:高性能与灵活性的完美结合 在音频处理领域,一款优秀的模数转换器(ADC)对于实现高质量的音频采集和处理至关重要。TI的TLV320ADC3140就是这样一款
    的头像 发表于 01-29 11:15 413次阅读

    TLV320ADC5120音频ADC:高性能与灵活性的完美结合

    )的TLV320ADC5120,这是一款2通道、768kHz的Burr - Brown™音频ADC,它在众多方面展现出了卓越的性能和出色的灵活性。 文件下载: tlv320adc5120.pdf 一、关键特性
    的头像 发表于 01-29 10:15 373次阅读

    深入解析 RENESAS SLG51003 PMIC:高性能与灵活性的完美结合

    深入解析 RENESAS SLG51003 PMIC:高性能与灵活性的完美结合 在当今的电子设备设计中,电源管理集成电路(PMIC)的性能和功能对于设备的整体表现起着至关重要的作用。RENESAS
    的头像 发表于 12-26 18:05 1327次阅读

    探索XMC7000工业微控制器:高性能与灵活性的完美结合

    探索XMC7000工业微控制器:高性能与灵活性的完美结合 在工业控制领域,高性能、高灵活性且能适应恶劣环境的微控制器是工程师们的理想之选。今天,我们就来深入了解英飞凌推出的XMC7000工业微控制器
    的头像 发表于 12-20 14:10 887次阅读

    沁恒网络芯片,自研技术解锁集成度与灵活性

    无线连接灵活、有线连接稳定,伴随联网的快速发展,市场对蓝牙和以太网芯片集成度、灵活性的要求正逐步提高。 添加NFC和高速USB,蓝牙SoC高集成度 常规蓝牙芯片资源紧凑、外设简单,在
    的头像 发表于 12-17 09:10 915次阅读
    沁恒网络芯片,自研技术解锁集成度与<b class='flag-5'>灵活性</b>

    芯源半导体在联网设备中具体防护方案

    联网设备固件的安全性,芯源半导体提供了以下固件安全防护方案:​ 固件加密存储:
    发表于 11-18 08:06

    请问如何协同工作来保障联网设备固件安全的?

    固件加密存储和安全启动与固件验证这两种固件安全防护手段,是如何协同工作来保障联网设备
    发表于 11-18 07:30

    EtherCAT热插拔技术:提升工业自动化系统灵活性关键

    在工业自动化领域,系统灵活性和维护性至关重要。本文将探讨EtherCAT从站热插拔技术,介绍其如何通过动态管理从站设备,提高系统的灵活性和维护性。EtherCAT热插拔技术EtherCAT是一种
    的头像 发表于 10-16 11:36 730次阅读
    EtherCAT热插拔技术:提升工业自动化系统<b class='flag-5'>灵活性</b>的<b class='flag-5'>关键</b>

    学习联网怎么入门?

    关键步骤。学习联网需要进行实践操作,通过实践操作掌握联网的相关技术和应用。可以通过购买
    发表于 10-14 10:34