随着物联网通信技术发展,固件升级成为物联网产品不可或缺的功能,比如智能燃气表、智能水表、安防设备等产品常常需要通过升级固件来实现软件更新迭代或者修复漏洞。固件的升级方式主要包括全量升级和差分升级。与全量升级相比,差分升级传输的数据量小,传输时间短,功耗低;对于气表、水表等计量产品的计量精确度的干扰风险较小;可以减少服务器因信道被占用时间太长而导致其他设备断网的风险。目前差分升级方案已经在智能汽车、智能家居、智能穿戴、智能表计、智能安防、共享设备等领域广泛使用。本文将介绍小华差分升级方案、差分辅助工具以及小华气表方案中差分升级的实现。
小华差分升级方案特色
小华差分升级方案代码量小,移植简单,方案适用性强,成本低,可以帮助用户在产品开发中快速实现固件的差分升级,方案的差分升级过程如图1所示。本方案的主要功能特点:
灵活
差分代码按块传输和还原,差分块大小可设置,还原时自适应差分块大小;
省时
只更新有差异的块,保证最少量更新,差分包最小仅为目标版本的1%;
安全
采用双备份机制,支持异常情况版本回滚,防止意外变砖;
兼容
兼容全量升级,方便用户多场景升级;
可靠
升级前校验机制确保差分包正确合法,原版本或者目标版本有一个检测信息出错可以准确修复;
智能
目标版本差异量太大、差分包超出规划空间或目标版本大小超出规划空间,工具智能提示。
图1 小华差分升级过程示意图
小华差分升级配套工具
为方便客户快速导入差分升级方案,提供3款辅助工具供客户免费使用:首次烧录文件生成工具、差分包生成工具和升级上位机。
1. 首次烧录文件生成工具
首次烧录文件生成工具软件界面如图2所示,在PC端本地运行,无需网络登录,可以帮助客户制作MCU首次烧录用的烧录文件。
图2 首次烧录文件生成工具
2. 差分包生成工具
当要升级到目标版本时,需要传输的升级文件是差分包,而非整个目标文件。差分包生成工具软件界面如图3所示,通过该工具选择原版本文件(升级前App固件)、目标版本文件(升级后App固件)和差分包的存放位置,对比块的大小等,即可以生成原版本与目标版本的差分包文件。
图3 差分包生成工具界面
3. 升级上位机
在产品研发时,可以先使用升级演示上位机进行差分升级演示及评估,升级上位机界面如图4所示。
图4 升级演示上位机界面
NB-IoT物联网燃气表差分升级应用案例
本案例是以小华HC32L196作为主处理器实现的智能燃气表,通过NB-IoT模块实现远程通信和固件升级,燃气表的系统框图如图5所示。因为燃气表的供电方式是电池供电,升级过程要求时间短、传输数据量少、功耗低,因此固件的升级方式采用小华的差分升级方案,数据通过NB-IoT模块透传实现。
图5 燃气表系统框图
燃气表首次烧录固件的过程示意图如图6所示;若对于已经在运行中的燃气表要升级,则升级的实现过程示意图如图7所示。
图6 首次烧录过程示意图
图7 差分升级过程示意图
小华方案的价值体现
缩短开发时间
使用小华的差分升级方案,客户无需另外开发制作差分包的工具及差分还原库,只需使用小华的工具制作差分包并利用客户自己的云端进行差分包的传输,终端设备接收到差分包即可基于小华的差分升级协议解析、校验和还原目标版本文件,实现终端设备固件的升级。
降低开发和使用成本
小华差分升级方案可提供源码,不需要根据芯片数量购买服务;原有云端系统功能改动小。
小华半导体有限公司(简称小华半导体)是中国电子信息产业集团有限公司旗下集成电路业务平台华大半导体有限公司的核心子公司。小华半导体以技术创新为动力,以客户满意为导向,以服务国家战略为使命,专注于解决高端工业与汽车电子两大产业核心需求,努力将自身打造成为国产高算力高精度工控MCU与高端汽车电子MCU的技术策源地,不断增强综合竞争实力,保持国产MCU行业第一梯队,力争成为行业第一,成为兼具战略支撑力和全球竞争力的中国MCU厂家。
|