当前位置:首页 > 厂商动态 > Microchip
[导读]物联网(IoT)设备正迅速引入各大市场,从家用电器到医疗设备、再到汽车,应用范围十分广泛;制造商必须通过不断创新和灵活地采用或集成新技术来领先于竞争对手。为了满足新功能的需求和新法规的要求,设计人员必须将灵活性纳入其产品中,以适应不断发展的IoT生态系统。

物联网(IoT)设备正迅速引入各大市场,从家用电器到医疗设备、再到汽车,应用范围十分广泛;制造商必须通过不断创新和灵活地采用或集成新技术来领先于竞争对手。为了满足新功能的需求和新法规的要求,设计人员必须将灵活性纳入其产品中,以适应不断发展的IoT生态系统。固件更新不仅能够在客户现场的初始部署期间进行定制,还可以在产品部署到现场后添加新功能/特性,并且支持在使用过程中修复任何固件问题。NOR闪存等非易失性存储器件具有可重复编程能力且可靠性极高,通常可用作固件代码存储介质。通过重新编写器件固件代码(位于器件使用的非易失性存储器中)的一部分,制造商可轻松更新器件功能。想要更新固件时,有三件事情需要考虑:更新哪些/多少代码、更新频率以及执行更新所需的时间(速度)。


更新哪些/多少固件代码

在IoT设备的初始设计阶段,必须考虑更新哪些/多少固件代码。相对于不可更新部分,固件的可更新部分必须存储在NOR闪存器件的独立区域中。更新NOR闪存的任何片段都需要先擦除存储器的这一部分,然后将新信息编程到该部分中。NOR闪存分为称为扇区和块的多个部分,它们的大小各有不同。NOR闪存器件(如采用SST SuperFlash®技术的器件(部件编号SST26VF064B(64Mb)))分为多个均一的4KB扇区,各个扇区可单独擦除和重新编程(4KB=4*1024*8位=32,762位)。它还可分为更大的8KB、32KB和64KB块,这些块也可单独擦除。因此,一个8KB块有2个扇区,一个32KB块有8个扇区,一个64KB块有16个扇区。图1给出了采用8KB/32KB/64KB块的SST26VF064B的存储器构成。各个块也可以单独进行保护。在对闪存的任何部分执行任何更新前,必须取消保护该部分中的块,以允许擦除和编程操作。完成更新后,谨慎地再次对这些块进行保护,以避免意外写入或擦除这些区域。固件的可更新部分必须以足够灵活的方式划分为扇区和块,以便同时支持有限数量和最大数量的特性/功能更新。由于执行更新的速度由需要擦除和重新编程的扇区和块数决定,因此在组织固件的可更新部分时,最好同时考虑速度和灵活性。图2给出了将存储器组织为可更新和不可更新部分的示例。引导代码等不可更新部分存储在受保护区域中。固件的可更新部分(如特性/功能)根据灵活性要求分为较小的块或较大的块。可更新的镜像文件存储在较大的块中,可更新的变量/参数存储在较小的块中。

1.png

2.png

图1:SST26VF064B的存储器构成(映射)——由8个8KB块、2个32KB块和126个64 KB块组成

3.png

4.png

图2:将存储器组织为多个不可更新部分(例如:引导代码)和可更新部分(例如:功能/特性代码、镜像文件代码和参数变量代码)


更新频率

固件更新频率的主要限制是应用中所使用存储器的耐擦写次数限制。SuperFlash技术存储器(如SST26VF064B)的耐擦写次数可达100,000次,这意味着每个扇区可编程和擦除100,000次。固件可以更新100,000次听起来很多;然而,许多IoT设备会在使用期间收集数据并将信息存储在NOR闪存中,因此在计算最大耐擦写次数限制时必须考虑这一点。考虑到耐擦写次数,必须在存储器中分配足够多的扇区。下面将举例说明:假设IoT设备正在收集和存储16个字节的信息,并且信息预计在产品的使用寿命期间收集和存储1亿次。可以按如下方式计算应当分配的扇区数:

1个扇区=4KB

假设扇区中的所有地址单元用于存储信息(一次存储16个字节的数据),然后写入到一个新的地址单元,直至达到扇区末尾(例如,0x0000-0x000F、0x0010-0x001F、0x0020-0x002F等)

由于4KB/16字节=256,这即是达到扇区容量并擦除扇区中任何数据之前可以写入存储介质的次数

1个扇区的耐擦写限值=100,000次

因此,如果1个扇区可以写入256次且耐擦写次数为100,000次,则可以收集和存储数据2560万次

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

IoT设备工程师需要进行类似的计算,以便为数据记录参数分配足够多的扇区和块,以免超出其NOR闪存器件的耐擦写限值。


更新速度

可根据需要擦除和重新编程的块和扇区数来计算更新速度。假设需要重新编程SST26VF064B的几个64KB块中存储的1Mb、2Mb或4Mb固件代码/数据。代码/数据可以由固件代码、镜像文件或需要更新的其他代码组成。更新过程涉及对闪存执行一系列命令指令。序列将从取消保护存储器块开始,然后擦除这些块、用更新的数据/代码进行编程,最后重新进行保护。对于SST26VF064B,更新1Mb/2Mb/4Mb存储器所需的指令序列如表1所示。从表1中可以看出,两个最重要的时间是擦除时间和编程时间。SST26VF064B采用可提供出色擦除性能的SuperFlash技术。SuperFlash技术与传统闪存的擦除和编程性能的比较如表2所示。与传统闪存相比,SuperFlash技术提供的优异擦除性能对于缩短更新时间非常有用。SST26VF064B支持的最大时钟频率为104MHz,最大扇区擦除时间为25ms,最大块擦除时间为25ms,最大页编程时间为1.5ms。此外,从发出每条命令指令到闪存以104MHz时钟频率工作,中间还需要12ns延时(CE高电平时间)。表1所示的命令序列与编程和擦除时间的知识结合使用时,可计算更新1Mb/2Mb/4Mb SuperFlash技术存储器和传统闪存所需的时间,具体方法分别如表3和表4所示。这些计算必须由IoT设备工程师完成以估算执行更新的速度,目的是最大程度缩短更新期间的IoT设备停机时间。

5.png

6.png

表1:更新1Mb/2Mb/4Mb存储器的闪存命令指令序列

7.png

8.png

表2:SST26VF064B和传统闪存的编程和擦除时间

9.png

10.png

表3:更新1MB/2Mb/4Mb SuperFlash技术存储器所需的时间

11.png

12.png

表4:更新1MB/2Mb/4Mb传统闪存所需的时间


结论

IoT设备设计工程师需要在更新应用程序代码和数据时提供一定的灵活性。更新哪些/多少代码、更新频率和更新速度是设计IoT设备时需要解决的问题。非易失性存储器的选择会影响这些问题,并在计算代码更新的时间和速度方面起到关键作用。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

此战略布局将Wi-Fi HaLow置于台湾无线网络产业中心

关键字: Wi-Fi 无线网络 物联网

芯科科技推出其迄今最高能量效率且支持能量采集功能的无线SoC

关键字: 物联网 能量采集 SoC

【2024年4月24日,德国慕尼黑讯】英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)发布全新PSOC™ Edge微控制器(MCU)系列的详细信息,该系列产品的设计针对机器学习(ML)应用进行了优...

关键字: 物联网 机器学习 MCU

TDK株式会社(东京证券交易所代码:6762)新近推出InvenSense SmartEdgeMLTM解决方案,这是一种先进的边缘机器学习解决方案,为用户提供了在可穿戴设备、可听戴设备、增强现实眼镜、物联网 (IoT)...

关键字: 机器学习 物联网 传感器

TDK 株式会社(东京证券交易所代码:6762)隆重宣布其具有片上处理能力的 InvenSense SmartSonic™ICU-10201 超声波飞行时间 (ToF) 传感器全面上市。该传感器可助力实现高性能和低功耗的...

关键字: 飞行传感器 物联网 机器人

硕特Smart Connector应用在著名的瑞士最佳应用程序奖(Best of Swiss Apps Awards) 中荣获铜牌。 这些奖项是应用程序行业最受认可的竞赛之一,享有很高的国际认可度。

关键字: 连接器 物联网

Wxsmart是Weller的首款一体式手工焊接平台,提供全过程控制技术、最大的连接性和可追溯性,并支持物联网标准

关键字: 物联网 智能焊接

全球智能城市运动代表着城市环境设计、体验和导航方式的重大转变。这一重大变革部分是由数字化转型和物联网(IoT)技术推动的,这些技术正在将城市基础设施和城市景观重塑为智能连接中心。这一趋势的核心是符合智能城市独特需求的先进...

关键字: 数字化转型 物联网 Wi-Fi

Qorvo 畅谈 Wi-Fi 7、BMS 及 Sensor Fusion 的革新之力

关键字: Wi-Fi 7 BMS 物联网

物联网(Internet of Things, IoT)作为一种新兴的信息技术体系,正在以前所未有的速度渗透到各个行业和社会生活的方方面面。物联网概念的提出与发展,标志着人类步入了一个全新的数字化时代,它将实体世界与虚拟...

关键字: 物联网 IoT
关闭
关闭