基于EtherCAT的多设备固件程序并行下载方法及系统技术方案

技术编号:24289556 阅读:21 留言:0更新日期:2020-05-26 19:59
本发明专利技术涉及一种基于EtherCAT的多设备固件程序并行下载方法及系统,该方法基于EtherCAT集总帧技术原理,通过设计并实施基于EtherCAT邮箱协议的数据包通信指令和通信时序,实现了对多设备固件程序的并行下载功能,所述的系统包括上位机固件程序更新与下载单元,以及至少一个待更新固件EtherCAT从站设备节点;所述的上位机固件程序更新与下载单元用于对设备固件程序文件进行解析,打包并统一发送到各个从站设备节点。与现有技术相比,本发明专利技术具有可以同时实现多设备程序并行更新等优点。

Parallel download method and system of firmware program for multiple devices based on EtherCAT

【技术实现步骤摘要】
基于EtherCAT的多设备固件程序并行下载方法及系统
本专利技术涉及一种多设备固件程序并行下载方法及系统,尤其是涉及一种基于EtherCAT的多设备固件程序并行下载方法及系统。
技术介绍
现有产品的固件程序更新多数采用串口,I2C,SPI或USB协议进行,较少数也会采用总线协议如CAN或者CANopen协议进行。诸如以上的更新方法均存在不小的弊端:如不能联网更新程序,只能点到点进行固件程序下载;或者虽然具备联网功能,但是固件程序的更新需要逐次单个进行;且无论是串口,I2C,SPI,USB还是CAN或者CANopen等总线协议,其传输速率均较低,有效数据量载荷也不高。归纳起来,现有技术方案存在如下应用缺陷:1)基于串口,I2C,SPI,USB的固件程序更新,其更新方法多为1台主机通过串口,I2C或者SPI连接一台待更新设备,不能够实现多设备固件程序的联网更新,需要更新完一台再更新另外一台待更新设备。且通信速率较低,串口约为115200bps,SPI或USB约为几Mbps。对于数据量大的固件程序或者更新设备数目较多的情况,更新时间都会比较长。2)基于CAN或者CANopen协议的固件程序更新,其更新方法多为1台主机通过CAN或CANopen总线接口连接1到多台(最多127台)待更新设备,设备虽然能够联网执行固件程序更新操作,但是固件程序的更新也是单台逐次进行,且通信速率也不高,约1Mbps,对于数据量大的固件程序以及更新设备数目较多的情况,更新时间也不乐观。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于EtherCAT的多设备固件程序并行下载方法及系统。本专利技术的目的可以通过以下技术方案来实现:一种基于EtherCAT的多设备固件程序并行下载方法,该方法基于EtherCAT集总帧技术原理,通过设计并实施基于EtherCAT邮箱协议的数据包通信指令和通信时序,实现了对多设备固件程序的并行下载功能。优选地,所述的方法具体包括以下步骤:1)上位机固件程序更新与下载单元对设备固件程序文件进行解析,并对解析后的数据进行分段处理;2)上位机固件程序更新与下载单元在线获取EtherCAT网络节点待更新固件设备数目;3)上位机固件程序更新与下载单元完成EtherCAT网络的初始化操作,激活各个EtherCAT从设备节点的邮箱通道;4)上位机固件程序更新与下载单元根据实际在线的网络节点设备数目和设备节点地址执行报文分段策略,为各个设备节点分配子报文空间,并根据EtherCAT邮箱协议初始化EtherCAT报文帧头数据和子报文帧头数据;5)上位机固件程序更新与下载单元根据固件更新指令时序,生成各个时序段对应的各个设备的EtherCAT子报文,填充子报文数据,将所有EtherCAT子报文打包成完整的EtherCAT通信帧,并执行EtherCAT通信帧的发送与响应处理操作:6)完成固件程序更新操作,EtherCAT设备节点重启之后执行新的固件程序。优选地,所述的步骤6)中的执行EtherCAT通信帧的发送与响应处理操作具体包括以下步骤:(1)发送擦除Flash区域的请求指令,并获取响应;(2)根据步骤(1)的响应,执行擦除Flash响应出错处理或者正常情况下发送写Flash区域的请求指令,并获取响应;(3)根据步骤(2)的响应,执行写Flash响应出错处理或者写Flash繁忙响应处理,或者正常情况下发送校验请求指令,并获取校验响应;(4)根据步骤(3)的响应,执行校验响应出错处理或者正确情况下执行设备重启请求。一种用于所述的基于EtherCAT的多设备固件程序并行下载方法的系统,包括上位机固件程序更新与下载单元,以及至少一个待更新固件EtherCAT从站设备节点;所述的上位机固件程序更新与下载单元用于对设备固件程序文件进行解析,打包并统一发送到各个从站设备节点。优选地,所述的上位机固件程序更新与下载单元对各个设备的固件程序文件进行解析,将程序数据分成多个数据段,并利用EtherCAT的集总帧技术原理,将多个设备的数据分段打包组织成一个完整的EtherCAT数据包;其中所述的EtherCAT数据包中的每个子数据包的帧头都包含有不同的设备节点地址,当此数据包经过相应的待更新固件EtherCAT从站设备节点时,该设备节点将获取隶属于它的子报文数据,子报文数据包含固件程序更新数据,这些数据将在之后的处理过程中被写入到设备的Flash区域。优选地,所述的上位机固件程序更新与下载单元通过EtherCAT邮箱通道传输指令报文给从站设备节点,其中指令报文的每种格式均对应一种邮箱操作的请求或者响应;根据固件程序更新特点,将不同的更新操作阶段抽象为一组指令集,上位机固件程序更新与下载单元发送指令请求,从站设备节点响应相应的指令。优选地,所述的上位机固件程序更新与下载单元进行固件更新报文时序具体为:首先,上位机固件程序更新与下载单元首先通过发送擦除Flash请求指令来激活待更新固件EtherCAT从站设备节点对Flash区域的擦除操作,为写固件程序做准备;其次,上位机固件程序更新与下载单元将发送多个写Flash请求指令将设备的固件更新程序写入到待更新固件EtherCAT从站设备节点对应的Flash区域;再次,写操作无错误后,上位机固件程序更新与下载单元将发送校验请求指令,用于校验下载数据是否完整一致;最后,校验通过之后,上位机固件程序更新与下载单元将请求设备重启,重启后,从站设备将执行新的固件程序。优选地,在写Flash的过程中,若从站设备出错,或者从站设备响应不及时,则从站设备不发送写Flash响应指令,而代之发送设备出错请求或者繁忙请求,上位机固件程序更新与下载单元将根据响应做出相应处理。与现有技术相比,本专利技术具有以下优点:1)可以同时实现多设备程序并行更新。利用EtherCAT总线协议的集总帧技术,在一个EtherCAT邮箱数据包内对多个设备(设备个数理论上可以支持到65535,实际上可以根据应用需求确定)的固件更新程序数据进行分组打包,从而实现多设备并行下载的功能。同时利用EtherCAT超高速通信速率的优势,可以大大节省固件程序下载的时间,提升固件程序更新效率。2)自定义固件程序更新指令集。通过将固件程序下载的整个过程按时序功能划分,并设计一套对应的指令集,可以将下载过程协议化,标准化,从而脱离了对于具体硬件设备的依赖。3)由于与实时工业以太网EtherCAT技术相结合,利用其高速通信速率,大大缩短了设备固件更新的时间,提升了操作效率。附图说明图1为本专利技术固件程序更新系统拓扑结构示意图;图2为本专利技术固件更新通信报文组织示意图;图3为本专利技术固件更新指令报文格式示意图;图4为本专利技术固件更新报文时序示意图;图5为本专利技术固件更新软件流程示意图。本文档来自技高网...

【技术保护点】
1.一种基于EtherCAT的多设备固件程序并行下载方法,其特征在于,该方法基于EtherCAT集总帧技术原理,通过设计并实施基于EtherCAT邮箱协议的数据包通信指令和通信时序,实现了对多设备固件程序的并行下载功能。/n

【技术特征摘要】
1.一种基于EtherCAT的多设备固件程序并行下载方法,其特征在于,该方法基于EtherCAT集总帧技术原理,通过设计并实施基于EtherCAT邮箱协议的数据包通信指令和通信时序,实现了对多设备固件程序的并行下载功能。


2.根据权利要求1所述的一种基于EtherCAT的多设备固件程序并行下载方法,其特征在于,所述的方法具体包括以下步骤:
1)上位机固件程序更新与下载单元对设备固件程序文件进行解析,并对解析后的数据进行分段处理;
2)上位机固件程序更新与下载单元在线获取EtherCAT网络节点待更新固件设备数目;
3)上位机固件程序更新与下载单元完成EtherCAT网络的初始化操作,激活各个EtherCAT从设备节点的邮箱通道;
4)上位机固件程序更新与下载单元根据实际在线的网络节点设备数目和设备节点地址执行报文分段策略,为各个设备节点分配子报文空间,并根据EtherCAT邮箱协议初始化EtherCAT报文帧头数据和子报文帧头数据;
5)上位机固件程序更新与下载单元根据固件更新指令时序,生成各个时序段对应的各个设备的EtherCAT子报文,填充子报文数据,将所有EtherCAT子报文打包成完整的EtherCAT通信帧,并执行EtherCAT通信帧的发送与响应处理操作:
6)完成固件程序更新操作,EtherCAT设备节点重启之后执行新的固件程序。


3.根据权利要求2所述的一种基于EtherCAT的多设备固件程序并行下载方法,其特征在于,所述的步骤6)中的执行EtherCAT通信帧的发送与响应处理操作具体包括以下步骤:
(1)发送擦除Flash区域的请求指令,并获取响应;
(2)根据步骤(1)的响应,执行擦除Flash响应出错处理或者正常情况下发送写Flash区域的请求指令,并获取响应;
(3)根据步骤(2)的响应,执行写Flash响应出错处理或者写Flash繁忙响应处理,或者正常情况下发送校验请求指令,并获取校验响应;
(4)根据步骤(3)的响应,执行校验响应出错处理或者正确情况下执行设备重启请求。

【专利技术属性】
技术研发人员:俞士磊雷友兵
申请(专利权)人:上海安浦鸣志自动化设备有限公司
类型:发明
国别省市:上海;31

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

1