5G通信电源固件更新方法及更新装置制造方法及图纸

技术编号:30829123 阅读:21 留言:0更新日期:2021-11-18 12:37
本发明专利技术公开了一种5G通信电源固件更新方法及更新装置,采用升级状态机和容错状态机对固件更新流程进行分层处理,分别进行数据更新及校验流程的处理,以及对数据传输错误及通信异常造成的超时进行处理,两个状态机之间相互作用、相互关联,完成对固件数据的更新,在不对设备固件区进行分区处理的情况下,解决了固件更新过程中由于网络错误或偶发性断网造成固件更新失败的问题,使固件更新过程具有一定的容错能力及出错后可恢复的能力,避免了固件更新失败而导致系统失效等情况的发生。新失败而导致系统失效等情况的发生。新失败而导致系统失效等情况的发生。

【技术实现步骤摘要】
5G通信电源固件更新方法及更新装置


[0001]本专利技术涉及固定更新
,特别涉及一种5G通信电源固件更新方法及更新装置。

技术介绍

[0002]在通信电源领域,由于数字微处理器(MCU)计算性能的提升,越来越多的电源产品采用MCU作为控制核心,即数字化控制方式,在复杂的多系统业务中,相对模拟控制电源,数字控制电源是通过软件编程来实现多方面的控制应用,其具备的可扩展性与重复使用性使用户可以方便更改工作参数,优化升级电源系统。
[0003]由于MCU是通过软件编程实现,软件变更功能后需要经过编译,把编译生成的固件烧录到MCU的FLASH中运行,所以当系统功能的需求发生变更时,就需要不断更新升级MCU中运行的固件。目前一般是通过串行通信方式把数据发送给MCU,MCU执行一段升级程序把固件烧录到内部的flash中,实现对固件的更新。固件是MCU正确运行的基础,如果固件更新时数据出错或者缺失,就会导致整个电源系统失效。
[0004]目前,常规的固件更新方法有以下两种:
[0005]一种是采用单固件区方式,即在MCU内部FLASH中分配一个应用固件区,更新固件的时候需要把当前运行的应用固件区擦除,再写入新的应用固件。采用这种更新方式,由于MCU中只需分配一个固件区,因此能最大化的利用MCU的内部FLASH空间;但是由于更新固件的时候需要先擦除当前固件,所以如果在更新过程中失败或者数据错误就会造成不可恢复的后果,导致整个系统失效。
[0006]另一种是采用双固件区方式,即在MCU内部FLASH中分配两个应用固件区,更新固件的时候只需把另外一个应用固件区更新即可,从而不会擦除正在运行的应用固件区,更新完成后把MCU启动引导地址指向另外一个应用固件区即可完成更新。采用这种更新方式虽然可以避免固件更新失败后不可恢复这一问题,但是由于MCU的内部FLASH存储空间本身就比较有限,划分为两个固件区则降低了一半的空间利用率,因此存在不能最大化利用FLASH存储空间的问题,而且有的MCU并不支持两个固件区的启动跳转。
[0007]由于5G基站是分布式布置,如果基站通信电源设备的固件更新出现不可靠或者不可恢复的情况,势必会造成较大的维护成本。

技术实现思路

[0008]本专利技术针对现有固件更新方法所存在的上述技术问题,提供一种5G通信电源固件更新方法及更新装置,可很好地解决固件更新过程中由于网络错误造成数据包重传或偶发短时断网时,导致固件更新失败的问题,以保证固件更新过程的可靠性及可恢复性。
[0009]为解决上述技术问题,本专利技术采用的技术方案如下:
[0010]一种5G通信电源固件更新方法,包括:
[0011]待更新设备初始化,进入更新主程序,启动升级状态机,所述升级状态机在接收到
升级指令后,从初始的空闲状态进入升级状态,接收发送的更新数据包,并写入待更新设备,当更新数据包接收完成后,所述升级状态机进入校验状态,对接收的更新数据包进行校验;
[0012]所述升级状态机进入升级状态时,触发容错状态机启动,所述容错状态机从初始的等待状态进入运行状态,判断更新数据包的接收间隔时间是否超时;
[0013]当容错状态机判断未发生超时,等待升级状态机反馈校验结果,若升级状态机数据校验成功,容错状态机进入跳转状态,跳转到固件程序,待更新设备固件更新完成;
[0014]当容错状态机判断发生超时或升级状态机数据校验失败,容错状态机从运行状态进入错误状态;所述容错状态机在错误状态下,持续检测是否有有效数据被接收,若在设定时间内有有效数据被接收,则进入等待状态,重新开始更新主程序。
[0015]上述技术方案中,进一步地,所述容错状态机在错误状态下,若在设定时间内没有数据被接收,则退出容错状态机并返回错误。
[0016]上述技术方案中,进一步地,所述容错状态机在进入跳转状态之前,判断待更新设备的固件程序是否完整,若完整则进入跳转状态,否则进入错误状态。
[0017]上述技术方案中,进一步地,在升级状态机进入升级状态时,若容错状态机在设定时间内未进入运行状态,则判断待更新设备的固件程序是否完整,若固件程序完整,容错状态机进入跳转状态,若固件程序不完整,容错状态机进入错误状态。
[0018]上述技术方案中,进一步地,所述容错状态机进入跳转状态后,判断跳转的堆栈地址是否正确,若正确则跳转到固件程序,退出容错状态机,并返回正确,否则跳转失败,进入错误状态;
[0019]优选在跳转到固件程序之前,判断容错状态机的返回值,若返回值为正确则跳转到固件程序,若返回值为错误,则待更新设备复位重启,并将固件更新状态标记设置为需要更新。
[0020]上述技术方案中,进一步地,在接收到升级指令后,根据固件更新状态标记判断是否需要进行固件更新;如果需要则启动容错状态机,如果不需要则直接跳转到固件程序。
[0021]上述技术方案中,进一步地,所述升级状态机在接收到结束升级指令后进入校验状态,同时接收用于数据校验的CRC校验值;
[0022]优选在校验状态下,循环按地址读取待更新设备固件区存储的更新数据,计算固件区更新数据的CRC校验值,与接收到的CRC校验值对比,进行CRC校验。
[0023]本专利技术中还提供一种5G通信电源固件更新方法,通过主机对待更新设备进行固件更新,包括以下步骤:
[0024]S01、开始更新主程序,待更新设备的MCU上电并初始化;主机向待更新设备发出升级指令;
[0025]S02、启动升级状态机,所述升级状态机的执行过程在空闲状态、升级状态与校验状态之间转换;
[0026]在初始状态下升级状态机处于空闲状态,当接收到升级指令后,进入升级状态,主机向待更新设备发送更新数据包;
[0027]在升级状态下持续接收更新数据包,当更新数据包接收完成,且接收到主机发送的结束升级指令后,进入校验状态;优选在升级状态下接收固件更新数据出错时,进入空闲
状态;
[0028]在校验状态下待更新设备循环按地址读取固件区存储的更新数据,计算固件区更新数据的CRC校验值,与主机发送的CRC校验值对比,进行CRC校验;若对比一致则固件更新数据正确,校验成功,若对比不一致则固件更新数据错误,校验失败;将校验结果发送到主机,主机根据校验结果判断待更新设备是否更新成功;校验完成后升级状态机转换到空闲状态;
[0029]S03、更新主程序中断,等待步骤S02中升级状态机接收有效指令;
[0030]S04、判断是否需要执行固件更新,若不需要则直接跳转到待更新设备固件程序,若需要则启动容错状态机;
[0031]S05、所述容错状态机的执行过程在等待状态、运行状态、跳转状态与错误状态之间转换;
[0032]在初始状态下容错状态机处于等待状态,当升级状态机进入升级状态时,触发容错状态机进入运行状态;若在设定时间内升级状态机未进入升级状态,则判断待更新设备的固件程序是否完整,如果固件程序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.5G通信电源固件更新方法,其特征在于,包括:待更新设备初始化,进入更新主程序,启动升级状态机,所述升级状态机在接收到升级指令后,从初始的空闲状态进入升级状态,接收发送的更新数据包,并写入待更新设备,当更新数据包接收完成后,所述升级状态机进入校验状态,对接收的更新数据包进行校验;所述升级状态机进入升级状态时,触发容错状态机启动,所述容错状态机从初始的等待状态进入运行状态,判断更新数据包的接收间隔时间是否超时;当容错状态机判断未发生超时,等待升级状态机反馈校验结果,若升级状态机数据校验成功,容错状态机进入跳转状态,跳转到固件程序,待更新设备固件更新完成;当容错状态机判断发生超时或升级状态机数据校验失败,容错状态机从运行状态进入错误状态;所述容错状态机在错误状态下,持续检测是否有有效数据被接收,若在设定时间内有有效数据被接收,则进入等待状态,重新开始更新主程序。2.根据权利要求1所述的5G通信电源固件更新方法,其特征在于,所述容错状态机在错误状态下,若在设定时间内没有数据被接收,则退出容错状态机并返回错误。3.根据权利要求1或2所述的5G通信电源固件更新方法,其特征在于,所述容错状态机在进入跳转状态之前,判断待更新设备的固件程序是否完整,若完整则进入跳转状态,否则进入错误状态。4.根据权利要求1或2所述的5G通信电源固件更新方法,其特征在于,在升级状态机进入升级状态时,若容错状态机在设定时间内未进入运行状态,则判断待更新设备的固件程序是否完整,若固件程序完整,容错状态机进入跳转状态,若固件程序不完整,容错状态机进入错误状态。5.根据权利要求1或2所述的5G通信电源固件更新方法,其特征在于,所述容错状态机进入跳转状态后,判断跳转的堆栈地址是否正确,若正确则跳转到固件程序,退出容错状态机,并返回正确,否则跳转失败,进入错误状态;优选在跳转到固件程序之前,判断容错状态机的返回值,若返回值为正确则跳转到固件程序,若返回值为错误,则待更新设备复位重启,并将固件更新状态标记设置为需要更新。6.根据权利要求1所述的5G通信电源固件更新方法,其特征在于,在接收到升级指令后,根据固件更新状态标记判断是否需要进行固件更新;如果需要则启动容错状态机,如果不需要则直接跳转到固件程序。7.根据权利要求1所述的5G通信电源固件更新方法,其特征在于,所述升级状态机在接收到结束升级指令后进入校验状态,同时接收用于数据校验的CRC校验值;优选在校验状态下,循环按地址读取待更新设备固件区存储的更新数据,计算固件区更新数据的CRC校验值,与接收到的CRC校验值对比,进行CRC校验。8.5G通信电源固件更新方法,通过主机对待更新设备进行固件更新,其特征在于,包括以下步骤:S01、开始更新主程序,待更新设备的MCU上电并初始化;主机向待更新设备发出升级指令;S02、启动升级状态机,所述升级状态机的执行过程在空闲状态、升级状态与校验状态之间转换...

【专利技术属性】
技术研发人员:王晓阳周超马强叶鸽康晓龙周鹏
申请(专利权)人:成都亨通光通信有限公司
类型:发明
国别省市:

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

1