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

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

3天内不再提示

物联网设备更新固件要考虑哪三大问题

牵手一起梦 来源:维库电子网 作者:维库电子网 2020-01-26 17:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

更新哪些/多少固件代码

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

物联网设备更新固件要考虑哪三大问题

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

物联网设备更新固件要考虑哪三大问题

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

更新频率

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

1个扇区 = 4 KB

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

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

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

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

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

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

更新速度

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

物联网设备更新固件要考虑哪三大问题

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

物联网设备更新固件要考虑哪三大问题

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

物联网设备更新固件要考虑哪三大问题

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

物联网设备更新固件要考虑哪三大问题

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

结论

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

责任编辑:gt

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

    关注

    39

    文章

    7715

    浏览量

    170887
  • IOT
    IOT
    +关注

    关注

    189

    文章

    4370

    浏览量

    206696
  • 闪存器
    +关注

    关注

    0

    文章

    7

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Lora基站在联网应用的重要性

    Lora基站在联网应用中具有重要的地位。首先,Lora基站可以实现对联网设备的远程监测和控制,为
    发表于 12-03 07:09

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

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

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

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

    学习联网怎么入门?

    的相关书籍和视频进行学习。也可以通过参加线下班、工作坊和实践活动来学习。不同的学习方式适合不同的人群,初学者可以根据自己的实际情况选择适合自己的学习方式。   第,进行实践操作是入门学习联网
    发表于 10-14 10:34

    学习联网可以做什么工作?

    嵌入式软件和硬件,支持联网设备的功能实现。   数据分析师:负责从联网设备和传感器中获取和分
    发表于 10-11 16:40

    联网蓝牙模块有哪些优势?

    随着联网技术的不断发展,蓝牙模块作为联网的重要组成部分,其应用越来越广泛。那么,联网蓝牙模
    发表于 06-28 21:49

    如何选择合适的联网蓝牙模块?

    在选择联网蓝牙模块时,有以下关键因素需要考虑到:1、发射功率:发射功率影响蓝牙模块的传输距离和穿透能力。一般来说,低发射功率的模块传输距离较短,而高发射功率的模块传输距离较远。但是,高发射功率可能
    发表于 06-28 21:46

    联网的应用范围有哪些?

    情况;网络通信技术保障数据在不同设备、系统间稳定传输,像 4G、5G 甚至未来的 6G 网络;大数据与云计算技术则对海量的感知数据进行存储、分析和处理,挖掘其中有价值的信息,为决策提供支持。 联网
    发表于 06-16 16:01

    联网未来发展趋势如何?

    。 智能家居:与人类生活息息相关的智能家居将成为联网行业的重要发展方向。随着人们对生活品质的追求不断增加,智能家居系统将更加普及,实现家居设备的互联互通。从智能灯光、智能家电到智能安防系统,
    发表于 06-09 15:25

    联网工程师为什么学Linux?

    依赖Linux的安全启动机制。 、职业需求与就业优势 1)岗位技能硬性要求 企业招聘中,约70%的联网开发岗位明确要求具备Linux系统编程、内核移植或驱动开发经验。例如,设备
    发表于 05-26 10:32

    蜂窝联网怎么选

    、数据传输、固件更新、额外的基础设施设置和维护等)至关重要,因为不同技术的成本可能会因预期使用情况的不同而大相径庭。蜂窝联网有多种连接模式,从统一费率到按数据付费,带来了可预测的成本
    发表于 03-17 11:46

    为什么选择蜂窝联网

    的基础设施。 数据传输速率和稳健性: 由于 LPWAN 技术通常用于不频繁发送/接收数据的设备,因此许多技术都针对这种使用情况进行了优化。然而,某些操作(如远程固件更新)需要更高的数据传输速率。这正是蜂窝
    发表于 03-17 11:42

    智能门锁与联网的结合

    使用TLS协议、硬件安全模块等。同时,提到固件更新的安全措施,如双区备份,防止升级失败导致设备运行缓慢。 一、系统架构概述 1. 基础架构设计 智能门锁与
    的头像 发表于 03-14 15:05 1187次阅读
    智能门锁与<b class='flag-5'>物</b><b class='flag-5'>联网</b>的结合

    联网就业有哪些高薪岗位?

    对市场需求和技术趋势有敏锐洞察力。随着联网产品的增多,联网产品经理的需求也在不断增加。 联网
    发表于 01-10 16:47

    联网(IoT)智能设备是什么?

    什么是iot智能设备联网(IoT)智能设备是指接入互联网并搭载了各种传感器和执行器,能够收集、交换、处理和执行操作的各种
    的头像 发表于 01-02 15:51 4686次阅读
    <b class='flag-5'>物</b><b class='flag-5'>联网</b>(IoT)智能<b class='flag-5'>设备</b>是什么?