模块机级联升级的研究与应用

(整期优先)网络出版时间:2024-07-05
/ 2

模块机级联升级的研究与应用

梁俭超

(广东TCL智能暖通设备有限公司,广东省中山市 528427)

摘 要:Ota远程升级即空中下载技术,是很多嵌入式产品必备的一个功能,它能够解决系统更新,产品功能迭代、漏洞修复、和安全防护等问题。目前大部分模块机设备不具备升级能力,当迭代新功能或者修正bug只能通过现场刷新固件实现,耗时耗力,且部分产品已不再维护,更加不能实现远程升级。本文分析了嵌入式设备远程升级的两种方式,并阐述了级联机组的升级网络拓扑,升级包部署、主从机升级动作、以及升级的压测项目。

关键词:级联;OTA嵌入式

风冷模块机是以空气为冷(热)源,以水为供冷(热)介质的 中央空调机组,即冷凝器为翅片式换热器,蒸发器为水氟换热应用的换热器,如套管、壳管及板式换热器等。作为冷热源兼用型的一体化设备,风冷热泵省却了冷却塔、冷却水泵、锅炉以及相应管道系统等多种辅件,系统结构简单,安装空间节省,维护管理方便而且节约能源。

模块机级联机组通常使用单独的通信线进行数据交换和级联控制,主机进行整个系统的能量分配及其他人机交互,把控制命令广播给每个从机,以及收集所有从机的运行状态,从机接收主机的控制信号及状态回应。当系统运行时,主机会根据系统使用负荷和轮换设置优先开启的模块机组,均衡分配每台模块机组的运行时间,大大提高了机组的可靠性和使用寿命;各机组采用独立控制设计,主、从模块有故障的机组会自动退出加卸载控制队列,不影响其他正常运行的机组。

通常机组会安装在楼顶或者空旷的地方,以往的设备往往不支持远程升级,或者只支持一对一升级,对于模块机组而言,这种方式已经不适用,所以要研究一种针对级联模块的远程升级方式。

1 OTA的升级方式

OTA升级方式一般有2种:无备份升级、带备份升级。

无备份区升级:在进行升级的时候,当开始接收新固件时需要先跳转到BOOT区,然后擦除应用区,每接收一包新数据包就直接写入到用户区,直到整个数据包接收完成。此升级方式在升级过程无法对产品进行操作,也只能关机后进行升级,如果升级时间过长,会影响舒适性。

有备份区升级:在进行升级的时候,接收新固件包的方式是在程序后台进行的,每接收一包数据就保存到备份区域,不会影响正常程序的运行。直到把新固件完整的拷贝到备份区后,才会申请软件复位跳转到BOOT区中替换旧的固件。这种升级方式在新固件接收过程不会影响到产品的正常使用,只在新旧固件替换过程停机一下,对舒适性影响不明显。

2 新固件的输入方式

远程OTA的实现,几乎都需要用到无线设备(WIFI模块或4G模块)、云端和APP。根据不同的硬件配置,需要选择相应的新固件接收入口。

标配无线设备:即级联系统中的每个机组单独接入一个无线设备,无线设备直接与机组通信。当设备需要升级时,云端发送新的固件给每个无线模块,每个机组各自升级,互不干扰,各自升级完之后恢复正常运行。此种方式速度快,不依赖主机,缺点是要每个机组都要配置一个无线设备,成本有所增加。

只有一个无线设备:即级联系统中只有主机接入一个无线设备,其他从机都没有接入。当设备需要升级时,云端发送新的固件给主机的无线设备,主机再通过级联通信线把新固件逐一发给从机。此种方式较方式一优点是不用增加从机的无线设备成本,缺点是随机组数量的增多,升级时间也会加大,而且还要依赖主机来传输。

3 级联升级的应用

3.1级联网络拓扑:

上面讨论了两种级联升级方式,下面针对有备份方式的单无线设备的级联升级进行应用描述。首先级联机组通过手拉手的方式,把各自的通信线相互连接起来,然后线控器及无线设备接入到主机,从机不需要接入其他设备,网络拓扑图如下:

图1 一种级联机组的网络拓扑图

主从机的级联通信使用RS485传输协议,由主机发起读写控制时序,一个完整的通信数据包包含设备地址、命令码、寄存器地址、寄存器个数、数据、字节数、CRC校验码等内容。主机每间隔一段时间点名一次从机,从机收到主机点名后延时几十ms后回复。主从机通信数据中有从压机属性、设备版本信息、负载状态、运行状态、级联控制命令、OTA升级命令以及机组上电时需要同步的用户设置、工程设置和系统参数。OTA升级命令又分为以下几个状态:

1)主机公布是否有OTA数据、从机回复是否进入OTA;

2)主机查询从机当前需要获取的升级包偏移地址,从机回复需要获取的偏移地址及数据长度;

3)主机发送从机请求的数据、从机回复接收到数据包;

4)主机查询OTA升级结果、从机回复OTA升级结果;

3.2升级包部署:

当需要给设备进行软件升级时,通过在云端部署升级包,从以下4种升级方式选择一种:

1)静默升级。由云端部署静默升级包,对电控进行强制升级

2)手动升级。由云端部署手动升级包,通过APP界面选择是否进行升级

3)点对点升级。云端可针对模组ID推送升级通知

4)区域升级。云端可针对部分区域推送升级通知

3.3主机动作条件:

1)主机接收到无线设备的升级命令,且判断升级包有效时,进入升级数据接收;

2)每接收完一包数据就保存到falsh backup区,然后获取下一包;

3)升级包接收完成后进行校验CRC信息,校验通过后上报升级成功,否则上报升级失败;

4)有从机级联时,广播升级信息,接收从机回应升级命令;

5)有从机进入升级,按从机请求的数据偏移地址,从falsh backup区读出数据后组装发送,当所有从机都升级完成,主机复位,完成级联升级;

6)当级联机组的主机不满足升级,但从机满足升级,主机要接完升级包数据后推送到从机。

7)级联机组时,主机接收完数据后,开始广播升级命令,主机推送升级命令2分钟后,若没有从机响应要升级,则退出广播升级命令。

8)级联OTA升级过程中,主机每5分钟同步一次正常的级联通信控制命令和数据

9)为提示在级联升级过程,主机数码管显示“IAP”,丛机数码管显示“ota”。

3.4从机动作条件:

1)接收到主机的升级命令,判断自身是否需要升级

2)如需要升级则回复需要升级,做好升级包接收准备

3)待接收到主机查询数据偏移地址,回复当前接收偏移

4)接收到主机的升级数据后,保存到备份区,同时偏移地址增加一包

5)OTA升级命令过程接收到级联控制命令,正常处理及回复

6)接收完成后,校验升级包数据成功后,回复主机接收完成

7)软复位进入BOOT引导进行程序覆盖,完成后重新运行新程序。

3.5 OTA升级测试:

1)Wifi、4G及MCU ota验证手工用例,正向+反向测试

2)多级MCU全功能测试

3)跨版本升级

4)虚高包升级

5)通过平台进行升降级

6)功能压测:MCU OTA稳定性、强网OTA升级、弱网OTA升级、OTA升级过程断设备电、OTA升级过程断路由器电、OTA升级过程断路由器网、多级MCU OTA升级。

4结论

本文介绍了级联机组带备份区域的双分区OTA升级方案及具体动作条件,同时设计了在升级过程中防变砖的处理措施以提升整体的可靠性。该方案不仅能确保固件正确高效地升级成功,还可以确保在升级过程中出现异常情况时能自动恢复原固件,从而不影响设备的运行。方案控制逻辑简单易实现,具有较高的可靠性及良好的用户体验。

参 考 文 献

[1]王俊秀.矿用智能车载终端远程升级OTA系统设计.工程科技Ⅰ辑,2023:207-209

[2]纪大峣.一种嵌入式设备的通用固件升级方法.信息科技,2018:122-128

[3]梁金安,程登,苏国传.一种用户连接单元OTA其他ECU节点的方案.工程科技Ⅱ辑,2022:133-134

[4]黄勇.浅谈模块机组应用及技术发展趋势.工程科技Ⅱ辑,2017:12-16