一种分布式IO的固件批量升级系统、方法及终端装置制造方法及图纸

技术编号:37534986 阅读:19 留言:0更新日期:2023-05-12 16:02
本发明专利技术公开了一种分布式IO的固件批量升级方法、系统及终端装置,由上位机读取升级包进行解析,解析通过后下发升级指令,下位机接收到升级指令后,由应用程序跳转至启动加载程序,并擦除应用程序,擦除成功后开始接收上位机下发的升级包,并校验,直至所有升级包接收完成后,开始对整个应用程序再进行校验,校验成功则返回升级成功,否则返回升级失败;升级成功后,通信将重新组网,对设备进行重新地址分配,然后开始对下一个设备进行升级。本发明专利技术可实现对所有设备进行批量升级,无需拆卸IO设备PCB,无需专用设备,只需通过IO本身数据总线即可对说过设备完成批量升级,无需对每个设备单独升级,大大提升固件升级效率。大大提升固件升级效率。大大提升固件升级效率。

【技术实现步骤摘要】
一种分布式IO的固件批量升级系统、方法及终端装置


[0001]本专利技术涉及一种系统、方法及装置,尤其涉及一种分布式IO的固件批量升级系统、方法及终端装置,属于工业自动化


技术介绍

[0002]分布式IO是近年来兴起的一种概念,其主要目的是要解决传统集成式IO不利于扩展与维护,一旦出现部分IO损坏,则存在需要更换整个控制设备、维护成本极高的问题;分布式IO是一种IO设备与控制设备分离,可以分布式安装到设备各个节点的设备,即分布式IO模块是IO模块与控制系统分离,可以方便的装配到设备的各个地方,方便接线,而且当其中某个模块损坏时,只需更换盖模块即可,不影响其他使用。
[0003]现如今由于科技在不断发展,产品的功能也面临着不断升降优化的需求,相应的,对于分布式IO来说,实现产品固件升降也显得尤为重要。目前分布式IO固件升级方式有两种,一种是离线升级,一种是在线升级。
[0004]其中离线升级是,采用调试器或仿真器对产品MCU进行固件烧写,这种方式需要用到专用设备,并且是对产品PCB进行升级,因此当产品已经组装成整机时,需要将产品外壳拆除,对内部PCB进行固件烧写,此方法在终端应用实施难度大、操作复杂,故而此方法一般在工厂单板固件烧写时使用。
[0005]在线升级是一种可在设备正常运行状态下对固件升级的技术,无需调试器,通过设备自带的通信接口,将固件刷入设备,完成更新,对于分布式IO设备,这种升级方式虽然无需将PCB拆除,但是需要对每个设备模块都进行独立升级,然而分布式IO设备模块数量大,此种升级方式效率低、升级慢,对于安装位置比较特殊的IO,升级难度大。

技术实现思路

[0006]为了解决上述技术所存在的不足之处,本专利技术提供了一种分布式IO的固件批量升级系统、方法及装置。
[0007]为了解决以上技术问题,本专利技术采用的技术方案是:一种分布式IO的固件批量升级方法,上位机读取升级包进行解析,解析通过后下发升级指令,下位机接收到升级指令后,由应用程序跳转至启动加载程序,并擦除应用程序,擦除成功后开始接收上位机下发的升级包,并校验,直至所有升级包接收完成后,开始对整个应用程序再进行校验,校验成功则返回升级成功,否则返回升级失败;升级成功后,通信将重新组网,对设备进行重新地址分配,然后开始对下一个设备进行升级。
[0008]进一步地,升级方法具体包括如下步骤:
[0009]步骤S1:上位机读取并解析所有升级的固件,若固件匹配,则开始升级;
[0010]步骤S2:启动加载程序获取到上位机升级指令后擦除设备应用程序,并返回允许升级状态;
[0011]步骤S3:上位机分解升级数据包,依次下发到启动加载模块程序,启动加载模块程
序接收到上位机下发数据后校验数据是否正确,数据正确则写入应用程序存储器;
[0012]步骤S4:上位机检测数据包是否下发完毕,下发完毕后,启动加载程序对整个应用程序进行数据校验,校验通过则返回升级成功;
[0013]步骤S5:上位机接收到设备升级成功信息后,检测是否所有设备均升级成功,若还有设备未升级,则对所有设备进行重新组网,分配地址,准备进行下一设备升级;
[0014]步骤S6:重复S2~S5步骤,直到所有设备升级成功;
[0015]步骤S7:所有设备升级成功后,将设备设置为正常运行状态,结束升级。
[0016]进一步地,该系统包含有:
[0017]启动加载模块,所述启动加载模块包含但不限于启动引导、应用程序校验、固件升级功能;
[0018]上位机通信模块,所述上位机通信模块用于程序固件解析,以及与下位机的数据交换;
[0019]批量升级通信模块,所述批量升级通信模块用于各个分布式IO设备之间建立组网通信。
[0020]进一步地,启动加载模块检测到当前标志为固件升级标志时,则程序进入固件升级状态,等待上位机下发固件升级指令;
[0021]若当前标志为正常启动状态时,则程序进入正常引导状态,先校验应用程序的完整性;若校验成功,则程序跳转到应用程序,若校验事变,则程序设置为固件升级状态。
[0022]进一步地,固件升级功能包含设备闪存擦除、数据校验、及固件烧写入设备闪存。
[0023]进一步地,进入固件升级状态后,上位机下发固件升级指令,先擦除设备闪存中存储的应用程序,再下发程序升级数据包,若数据正确则将数据包写入设备闪存,否则丢弃数据,如此往复,直到上位机完成所有数据包的传输。
[0024]进一步地,上位机通信模块的工作流程为:读取程序文件并进行解析,检测文件是否与下位机匹配,只有完全匹配才可升级,匹配成功后,上位机与下位机开始握手升级。
[0025]一种终端装置,应用有分布式IO的固件批量升级系统。
[0026]本专利技术可实现对所有设备进行批量升级,无需拆卸IO设备PCB,无需专用设备,只需通过IO本身数据总线即可对说过设备完成批量升级,无需对每个设备单独升级,大大提升固件升级效率。
附图说明
[0027]图1为本专利技术分布式IO的固件批量升级方法的流程示意图。
具体实施方式
[0028]下面结合附图和具体实施方式对本专利技术作进一步详细的说明。
[0029]针对现有的分布式IO固件升级方法的弊端,本专利技术所要解决的问题点在于设计一种分布式IO的固件批量升级系统及方法,其可不借助专用设备,无需拆卸PCB,即可实现对所有设备的批量升级。其基本思路为,先设计包含上位机通信模块、启动加载模块以及批量升级通信模块的分布式IO的固件批量升级系统。
[0030]具体实施方案如下:设计的启动加载模块,其包含但不限于启动引导、应用程序校
验、固件升级的功能。设备上电时,程序进入启动加载模块,程序首先检测存储与设备闪存特定地址中的固件升级标志,若当前标志为固件升级标志,则程序进入固件升级状态,等待上位机下发固件升级指令。若当前标志位正常启动状态,则程序进入正常引导状态,在正常引导状态中,程序首先校验应用程序的完整性,即对整个应用程序空间进行CRC校验,若校验成功,则表示应用程序正确,则将程序跳转到应用程序,若校验失败,则将程序设置为固件升级状态,等待上位机下发固件升级指令。
[0031]固件升级功能包含设备闪存擦除、数据校验及固件烧写入设备闪存。当上位机下发固件升级指令后,程序首先将擦除设备闪存中存储的应用程序,擦除完成后告知上位机,上位机接收到完成信号后开始下发程序升级数据包,设备接收到数据包后首先将校验数据的正确性,数据正确则将数据包写入设备闪存,否则丢弃数据,如此往复,直到上位机完成所有数据包的传输。所有数据包完成传输后,启动程序将再次校验整个应用程序的完整性,校验成功将返回升级成功信息。
[0032]批量升级通信模块,主要用于各个分布式IO设备之间建立组网通信,实现各个设备地址自动分配,再通过通信调度完成各个模块的依次升级。
[0033]上位机通信模块,用于程序固件解析本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式IO的固件批量升级方法,其特征在于:升级方法为:上位机读取升级包进行解析,解析通过后下发升级指令,下位机接收到升级指令后,由应用程序跳转至启动加载程序,并擦除应用程序,擦除成功后开始接收上位机下发的升级包,并校验,直至所有升级包接收完成后,开始对整个应用程序再进行校验,校验成功则返回升级成功,否则返回升级失败;升级成功后,通信将重新组网,对设备进行重新地址分配,然后开始对下一个设备进行升级。2.根据权利要求1所述的分布式IO的固件批量升级方法,其特征在于:升级方法具体包括如下步骤:步骤S1:上位机读取并解析所有升级的固件,若固件匹配,则开始升级;步骤S2:启动加载程序获取到上位机升级指令后擦除设备应用程序,并返回允许升级状态;步骤S3:上位机分解升级数据包,依次下发到启动加载模块程序,启动加载模块程序接收到上位机下发数据后校验数据是否正确,数据正确则写入应用程序存储器;步骤S4:上位机检测数据包是否下发完毕,下发完毕后,启动加载程序对整个应用程序进行数据校验,校验通过则返回升级成功;步骤S5:上位机接收到设备升级成功信息后,检测是否所有设备均升级成功,若还有设备未升级,则对所有设备进行重新组网,分配地址,准备进行下一设备升级;步骤S6:重复S2~S5步骤,直到所有设备升级成功;步骤S7:所有设备升级成功后,将设备设置为正常运行状态,结束升级。3.一种基于权利要求1

2任一项所述的分布式IO的固件批量升级方法的固件批量升级系统,其特征在于:...

【专利技术属性】
技术研发人员:侯文科王福斌张苇
申请(专利权)人:摩通传动与控制深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1