一种固件的升级方法和系统、上位机和光模块技术方案

技术编号:11356298 阅读:103 留言:0更新日期:2015-04-29 07:43
本发明专利技术公开了一种固件的升级方法,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,方法包括:向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。另一种固件的升级方法包括:在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。本发明专利技术还公开了一种固件的升级系统、上位机和光模块。通过本发明专利技术,实现了同时适应多类型固件的在线升级。

【技术实现步骤摘要】
一种固件的升级方法和系统、上位机和光模块
本专利技术涉及远程在线升级
,尤其涉及一种固件的升级方法和系统、上位机和光模块。
技术介绍
随着光网络设备对可维护性要求的提高,远程在线升级功能成为光模块产品的关键需求之一。目前MDIO(ManagementDataInput/Output,管理数据输入/输出)MSA(MultiSourceAgreement,多源协议)只定义了软件在线升级的实现方式,并未涵盖其他类型固件升级的处理方式,也即MDIOMSA并未定义适用于不同文件类型升级的途径和方法。如图1所示,图1为现有技术中软件在线升级的时序图,MDIOMSA所规定的软件映像在线升级过程如下:软件映像被上位机分割为若干个数据块,每个数据块应包含数据部分和循环冗余校验码(CRC,CyclicRedundancyChecks)校验和;上位机向光模块发送一个下载映像的请求来启动软件升级过程,光模块接受此请求,设置“升级数据块准备”标志,一旦当前数据块接收过程中发生了任何错误,光模块都会通知上位机,上位机重新传送该数据块;如果同一个数据块发生多次CRC校验错误,上位机强制终止升级过程。当所有的软件映像数据包传送完成后,上位机下发下载完成命令来结束传送过程;光模块会通过成功完成状态命令来确认完整的映像已经被下载成功。下载过程中的错误通过设置错误状态寄存器来反馈。软件映像数据传输完成后,上位机下发运行下载映像请求,光模块将试运行下载的软件映像。试运行成功后,上位机下发映像默认版本指定(commit)命令。以上软件升级过程中所用的MSA定义的寄存器如下表1所示:表1由于光模块设计复杂度的提高导致器件越来越多样,因此在线升级对象类型的单一性已经无法满足远程维护的需求。目前采用MDIOMSA的光模块所涉及的在线升级固件类型包括:微控制单元(MCU,MicroControlUnit)软件映像、现场可编程门阵列(FPGA,FieldProgrammableGateArray)逻辑映像和核心集成电路(IC,IntegratedCircuit)映像等。不同类型的固件升级过程存在差异,若每种类型都单独采用一种自定义的升级方式,将会增加协议的复杂性和冗余度。因此,怎样提供一种光模块的统一在线升级方法,使其能够同时适应不同类型的固件升级,是目前亟待解决的问题。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种固件的升级方法和系统、上位机和光模块,以至少实现能够同时适应多种类型固件的在线升级。为达到上述目的,本专利技术的技术方案是这样实现的:一种固件的升级方法,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。优选的,所述通过读取光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型,包括:读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。优选的,所述对光模块执行相应类型的固件升级处理,包括:向所述光模块发送下载指令,并传输待升级的固件的映像数据;在所述映像数据传输成功后,向所述光模块发送试运行新固件命令,指示所述光模块执行新固件的试运行;在所述光模块试运行新固件成功后,向所述光模块发送映像数据指定命令,指定升级后的所述映像数据为所述光模块默认的启动相应固件的映像数据。一种固件的升级方法,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。优选的,所述执行相应类型的固件升级处理,包括:在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;在收到所述上位机发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。优选的,所述固件升级类型标识寄存器为管理数据输入/输出多源协议MDIOMSA的保留寄存器。一种上位机,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述上位机包括:类型判断单元,用于向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;固件升级单元,用于在所述类型判断单元的判断结果表征所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。优选的,所述类型判断单元进一步用于,读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。优选的,所述固件升级单元包括:数据传输子单元,用于向所述光模块发送下载指令,并传输待升级的固件的映像数据;固件试运行指示子单元,用于在所述映像数据传输成功后,向所述光模块发送试运行新固件命令,指示所述光模块执行新固件的试运行;数据指示子单元,用于在所述光模块试运行新固件成功后,向所述光模块发送映像数据指定命令,指定升级后的所述映像数据为所述光模块默认的启动相应固件的映像数据。一种光模块,所述光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述光模块还包括:升级处理单元,用于在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理。优选的,所述升级处理单元包括:数据下载子单元,用于在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;固件试运行子单元,用于在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;数据指定子单元,在收到所述上位机发送的映像数据指定命令后,根据本文档来自技高网
...

【技术保护点】
一种固件的升级方法,其特征在于,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,并通过读取所述光模块的固件升级状态寄存器,判断所述光模块是否支持待升级的固件类型;在确定所述光模块支持所述待升级的固件类型时,对所述光模块执行相应类型的固件升级处理。

【技术特征摘要】
1.一种固件的升级方法,其特征在于,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,该方法包括:向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识;通过读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,来判断所述光模块是否支持待升级的固件类型;若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级,对所述光模块执行相应类型的固件升级处理;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原因寄存器,若原因寄存器指示固件类型不支持,则确定所述光模块不支持写入的固件类型标识所对应类型的固件升级。2.根据权利要求1所述固件的升级方法,其特征在于,所述对光模块执行相应类型的固件升级处理,包括:向所述光模块发送下载指令,并传输待升级的固件的映像数据;在所述映像数据传输成功后,向所述光模块发送试运行新固件命令,指示所述光模块执行新固件的试运行;在所述光模块试运行新固件成功后,向所述光模块发送映像数据指定命令,指定升级后的所述映像数据为所述光模块默认的启动相应固件的映像数据。3.一种固件的升级方法,其特征在于,光模块中配置有固件升级类型标识寄存器和固件升级状态寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述固件升级状态寄存器中保存有升级命令执行状态比特位;当所述升级命令执行状态比特位指示命令执行成功,则支持写入的固件类型标识所对应类型的固件升级;当升级命令执行状态比特位指示命令执行失败,且所述固件升级状态寄存器中升级命令执行失败原因寄存器指示固件类型不支持,则不支持写入的固件类型标识所对应类型的固件升级;该方法包括:在收到上位机的下载指令时,根据所述上位机在所述固件升级类型标识寄存器中写入的升级固件类型,执行相应类型的固件升级处理;其中,所述下载指令为所述上位机从所述光模块读取的所述升级命令执行状态比特位指示命令执行成功时发送。4.根据权利要求3所述固件的升级方法,其特征在于,所述执行相应类型的固件升级处理,包括:在收到所述上位机发送的下载指令后,接收所述上位机传输的待升级的固件的映像数据,并在所述映像数据下载成功后,向所述上位机发送下载完成消息;在收到所述上位机发送的试运行新固件命令后,根据所述命令中的固件类型标识,通过统一接口调用相应类型的固件激活策略执行所述新固件的试运行,并在试运行成功后,向所述上位机发送固件试运行成功消息;在收到所述上位机发送的映像数据指定命令后,根据所述指定命令将升级后的所述映像数据设定为默认的启动相应固件的映像数据。5.根据权利要求3或4所述固件的升级方法,其特征在于,所述固件升级类型标识寄存器为管理数据输入/输出多源协议MDIOMSA的保留寄存器。6.一种上位机,其特征在于,光模块中配置有固件升级类型标识寄存器,所述固件升级类型标识寄存器中保存有所述光模块支持升级的固件类型标识,所述上位机包括:类型判断单元,用于向所述光模块对应的固件升级类型标识寄存器中写入待升级固件的类型标识,通过读取所述光模块的固件升级状态寄存器中升级命令执行状态比特位,来判断所述光模块是否支持待升级的固件类型;若所读比特位指示命令执行成功,则确定所述光模块支持写入的固件类型标识所对应类型的固件升级,对所述光模块执行相应类型的固件升级处理;如果命令执行失败,则读所述光模块的固件升级状态寄存器中升级命令执行失败原...

【专利技术属性】
技术研发人员:朱亚敏刘世兴
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1