一种光模块固件升级方法、数字信号处理器、装置及介质与流程

摘要: 本发明涉及通信,尤其涉及一种光模块固件升级方法、数字信号处理器、装置及介质。背景技术:1、目前,随着通信技术的发展,光模块作为高速传输数据的光电转换器件,固件复...
一种光模块固件升级方法、数字信号处理器、装置及介质与流程

本发明涉及通信,尤其涉及一种光模块固件升级方法、数字信号处理器、装置及介质。

背景技术:

1、目前,随着通信技术的发展,光模块作为高速传输数据的光电转换器件,固件复杂度显著增加,厂商需要对部署在基站或服务器中的光模块进行远程固件更新。

2、现有技术中,通常是采用升级设备将光模块完整的新版本固件数据,发送至光模块内部的微控制器单元(microcontroller unit,mcu),由mcu对接收的完整固件数据进行协议解析,然后根据解析结果对处理后的固件数据转发给光模块内部的数字信号处理器(digital signal processor,dsp),最后由dsp根据完整的新版本固件数据完成固件升级。

3、但是,由于光模块设备本身带宽有限,如果将完整的新版本固件数据发送至mcu,会导致数据传输效率较低,并且在复杂的网络运维环境中,全量数据传输风险较高;其次,由于光模块内mcu算力缓存资源受限,现有mcu对接收的固件数据进行解析后发送的方式,需要消耗mcu大量的缓存资源,极易发生数据丢包,严重影响光模块的固件升级效率。

技术实现思路

1、本发明提供了一种光模块固件升级方法、数字信号处理器、装置及介质,可以降低光模块固件升级过程中的带宽占用,在保证固件数据传输结果准确性的同时提高了光模块的固件升级效率。

2、根据本发明的一方面,提供了一种光模块固件升级方法,所述光模块中包括微控制器单元和数字信号处理器,所述方法应用于所述数字信号处理器,包括:

3、接收所述微控制器单元透传的固件升级对应的差分数据包;

4、所述差分数据包,由升级设备根据光模块对应的新固件版本数据与旧固件版本数据之间的对比结果生成得到;

5、根据所述光模块对应的旧固件版本数据和差分数据包确定新固件版本数据,并根据所述新固件版本数据完成光模块固件升级。

6、可选的,接收所述微控制器单元透传的固件升级对应的差分数据包,包括:

7、依次接收所述微控制器单元透传的多个数据块;所述多个数据块由升级设备对所述差分数据包切分得到;

8、将接收的当前数据块写入光模块中随机存取存储器的第一缓冲区,并对所述第一缓冲区中的当前数据块进行校验;

9、如果所述第一缓冲区中的当前数据块校验成功,则将所述第一缓冲区中的当前数据块写入光模块中闪存的固件备用区;

10、从所述固件备用区中读取所述当前数据块,并将读取到的当前数据块写入所述随机存取存储器的第二缓冲区;

11、将所述第一缓冲区与第二缓冲区中分别写入的当前数据块进行比对,根据比对结果对闪存中升级状态寄存器的数值进行更新。

12、可选的,在依次接收所述微控制器单元透传的多个数据块的过程中,所述方法还包括:

13、如果所述光模块发生传输异常事件,在所述光模块重启后读取所述升级状态寄存器中已成功接收的目标数据块序号;

14、根据所述目标数据块序号生成重传指令,并通过所述微控制器单元向升级设备发送所述重传指令,以使所述升级设备将位于所述目标数据块序号之后的数据块发送至所述微控制器单元。

15、可选的,根据所述光模块对应的旧固件版本数据和差分数据包确定新固件版本数据,包括:

16、确定全部数据块接收成功后,从闪存的固件运行区中读取所述光模块对应的旧固件版本数据,并将所述旧固件版本数据写入所述第一缓冲区;

17、从所述固件备用区中读取所述多个数据块,并将所述多个数据块写入所述第二缓冲区;

18、采用差分解码算法,对所述第一缓冲区的旧固件版本数据,与所述第二缓冲区的多个数据块进行解码运算,得到新固件版本数据。

19、可选的,根据所述新固件版本数据完成光模块固件升级,包括:

20、将所述新固件版本数据写入光模块中闪存的固件备用区,并确定所述新固件版本数据对应的当前校验值;

21、将所述当前校验值与差分数据包头部的目标校验值进行比对,如果比对结果一致,则更新所述闪存中引导加载程序对应的标志位;

22、在所述光模块重启后,通过所述引导加载程序根据更新后的标志位,从所述固件备用区中加载新固件版本数据至运行内存。

23、可选的,在接收所述微控制器单元透传的固件升级对应的差分数据包之前,还包括:

24、接收所述微控制器单元透传的升级请求命令;所述升级请求命令由升级设备发送至所述微控制器单元;所述升级请求命令中包括新固件版本标识;

25、将所述新固件版本标识对应的升级状态信息反馈至所述微控制器单元,通过所述微控制器单元将所述升级状态信息发送至升级设备,以使所述升级设备在确定所述光模块未完成新固件版本升级时,将所述差分数据包发送至微控制器单元。

26、可选的,所述升级状态信息中包括光模块当前运行的固件版本标识,以及数字信号处理器在历史升级过程中成功接收的最后数据块序号;

27、所述升级设备还用于,根据所述当前运行的固件版本标识和最后数据块序号,确定所述光模块未完成新固件版本升级时,将所述差分数据包切分为多个数据块,并将各所述数据块依次发送至光模块的微控制器单元。

28、根据本发明的另一方面,提供了一种数字信号处理器,所述数字信号处理器包括:

29、至少一个存储器;

30、其中,所述存储器存储有可被所述数字信号处理器执行的计算机程序,所述计算机程序被所述数字信号处理器执行,以使所述数字信号处理器能够执行本发明任一实施例所述的光模块固件升级方法。

31、根据本发明的另一方面,提供了一种光模块固件升级装置,所述光模块中包括微控制器单元和数字信号处理器,所述装置配置于所述数字信号处理器,包括:

32、数据包接收模块,用于接收所述微控制器单元透传的固件升级对应的差分数据包;

33、所述差分数据包,由升级设备根据光模块对应的新固件版本数据与旧固件版本数据之间的对比结果生成得到;

34、固件升级模块,用于根据所述光模块对应的旧固件版本数据和差分数据包确定新固件版本数据,并根据所述新固件版本数据完成光模块固件升级。

35、根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本发明任一实施例所述的光模块固件升级方法。

36、本发明实施例提供的技术方案,通过数字信号处理器接收微控制器单元透传的固件升级对应的差分数据包;所述差分数据包,由升级设备根据光模块对应的新固件版本数据与旧固件版本数据之间的对比结果生成得到;根据所述光模块对应的旧固件版本数据和差分数据包确定新固件版本数据,并根据所述新固件版本数据完成光模块固件升级的技术手段,可以降低光模块固件升级过程中的带宽占用,在保证固件数据传输结果准确性的同时提高了光模块的固件升级效率。

37、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。