光模块固件升级方法及系统的制作方法

文档序号:7889445阅读:258来源:国知局
专利名称:光模块固件升级方法及系统的制作方法
技术领域
本发明涉及固件升级,尤其涉及一种光模块固件升级方法及系统。
背景技术
光纤通信由于其大容量、高速率、受电磁干扰的影响小等优点,从其一出现便受到了人们的青睐。光模块是光纤通信中不可缺少的主要器件,随着三网融合的实施,更加快了光纤通信的步伐,光模块随着光网络单元ONU(optical network unit)也进入了千家万户中。时代不断在进步,人们对网络的需求也不断在提升,这就需要对光网络单元ONU及光模块不断的固件更新,以满足信息时代的需要。对在网中成千上万用户的光模块进行固件升级,实际操作中需要到用户家中打开光网络单元0NU,拆卸下光模块进行升级。这是一种费时费力又容易损坏光模块等器件的升级方式。

发明内容基于此,有必要提供一种简单、快速、不需拆卸光模块的光模块固件升级方法。一种光模块固件升级方法,包括以下步骤:光线路终端传送光模块升级文件到光网络单元并存储于光网络单元的存储空间中;光线路终端向光网络单元发出升级请求,使光模块将光网络单元存储空间中的光模块升级文件下载到光模块的闪存备份区中;所述光网络单元根据所述升级请求将升级指令发送给所述光模块,所述光模块接收升级指令并根据光模块升级文件升级。优选地,所述光线路终端传送光模块升级文件到光网络单元的步骤包括:向光网络单元发送光模块升级文件接收请求;光网络单元接受所述光模块升级文件接收请求并向光线路终端发送接受文件传输;所述光线路终端根据所述接受文件传输向光网络单元发送光模块升级文件;光网络单元接收光线路终端传送的光模块升级文件。优选地,所述光线路终端根据所述接受文件传输向光网络单元发送光模块升级文件的步骤是:将光模块升级文件分为一个或多个分段通过光线路终端依次向光网络单元传送。

优选地,所述光模块固件升级方法还包括:根据光线路终端接收的最后一个接受文件传输校验所述光模块升级文件的正确性。优选地,所述光模块接收升级指令并根据光模块升级文件升级的步骤包括:光模块接收升级指令后将闪存备份区中的升级文件写入MCU中;光网络单元向光模块发送重启命令;所述光模块接收重启命令并重启从而完成光模块升级。
此外,还有必要提供一种简单、快速、不需拆卸光模块的光模块固件升级系统。一种光模块固件升级系统,所述光模块固件升级系统包括:光线路终端、光网络单兀及光模块;所述光线路终端用于将光模块升级文件传送到光网络单元,光网络单元接收升级文件并存储于光网络单元的存储空间中;在光线路终端向光网络单元发出升级请求后,所述光网络单元用于将存储的光模块升级文件传送给光模块,所述光模块接收升级文件并存储于闪存备份区中;所述光网络单元还用于向光模块发送升级指令,所述光模块接收升级指令并根据升级文件升级。优选地,所述光线路终端用于向光网络单元发送光模块升级文件接收请求;所述光网络单元用于接受所述光模块升级文件接收请求并向光线路终端发送接受文件传输;所述光线路终端用于根据所述接受文件传输向光网络单元发送光模块升级文件;所述光网络单元用于接收光线路终端传送的光模块升级文件。优选地,所述光线路终端还用于将光模块升级文件分为一个或多分段依次向光网络单元传送。优选地,所述光网络单元用于根据光线路终端接收的最后一个接受文件传输校验所述光模块升级文件的正确性。

优选地,所述光模块根据升级指令将闪存备份区中的升级文件写入MCU中;所述光网络单元用于向光模块发送重启命令;所述光模块重启后获得升级文件中的最新工作版本。上述光模块固件升级方法将升级文件通过光线路终端传送到光网络单元,光网络单元接收到升级文件后写入光模块中,光模块就能根据升级文件快速完成升级。在这个光模块固件过程中不需要拆卸光模块,且只需下载光模块升级文件就能完成升级,因此上述光模块固件升级方法简单省时。

图1为Organization-Specific Extension方式扩展操作码消息格式示意图;图2为Message format的消息格式示意图;图3为光模块固件升级方法的流程图;图4为光线路终端写升级文件到光网络单元的消息交互示意图;图5为光网络单元写文件到光模块的消息交互示意图;图6为光模块固件升级系统的结构示意图。
具体实施方式在EPON(Ethernet Passive Optical Network,以太网无源光网络)系统中,用于固件的远程下载的信息由 OAMPDU (Operation Administration and Maintenance ProtocolData Unit, 0AM协议数据单元)承载,采用Organization-Specific Extension方式实现其交互过程。如图1所示,为用于软件下载的Organization-Specific OAMPDU巾贞格式。该中贞中包括目的地址、源地址等信息,将子类型(subtype)设置为0x03,即OAM类型。与软件数据有关的具体数据都包含在Data/Pad字段,其中扩展操作码(Ext.0pcode)的值为“0x08”,数据由 Payload 字段承载。Payload 字段中包括 Data Type、Length、TID 和 Message format。Data Type:表示payload部分的数据类型,OxOl表示是TFTP协议的数据,0x02表示是校验文件完整性的数据,0x03表示是加载并执行软件镜像的数据。Length:表不 payload 域的字节长度,是 Data Type、Length、TID 和 Messageformat三个域的长度之和。TID:隧道标识,用于在GSN之间(SGSN和GGSN之间,或新SGSN和原SGSN之间)唯一地标识一个PDP上下文。采用光网络单元的LLID号来表示TID,在M-LLID模式下,采用Base LLLID号来表示TID。Message format:包括File Write Request、File Transfer Data、File TransferACK、Error 等 4 种 TFTP 消息类型。其中,File Write Request、File Transfer Data、FileTransfer ACK、Error 为标准的 TFTP 消息,且Data Type = 0x01 ;End Download Request 和End Download Response 消息用于校验文件完整性,且Data Type = 0x02 ;Activate ImageRequest和Activate Image Response消息用于配置光网络单元ONU加载并执行所下载的软件,且Data Type = 0x03。TFTP消息的格式应符合IETF RFC1350中对TFTP协议数据包的定义。消息格式如图2所示。基于上述数据类型及消息类型,如图3所示,为一种光模块固件升级方法的流程图,包括以下步骤:步骤S110,光线 路终端传送光模块升级文件到光网络单元并存储于光网络单元的存储空间中。在本实施例中,步骤SllO光线路终端传送光模块升级文件到光网络单元包括:①向光网络单元发送光模块升级文件接收请求。②光网络单元接受所述光模块升级文件接收请求并向光线路终端发送接受文件传输。在本实施例中,向光网络单元发送光模块升级文件接收请求采用写文件请求(File Write Request)消息。写文件请求(File Write Request)消息用于向接收端发起文件接收请求,接收端应该按照该消息的要求接收一个文件。光网络单元接受所述光模块升级文件接收请求,并在向光线路终端发送接受文件传输前发送接受文件传输FileTransfer ACK)消息,作为对写文件请求(File Write Request)消息的应答,并且序列号(Block number)为O。光网络单元或者发送Error消息表示有错误,错误类型参见ErrorCode 域。③所述光线路终端根据所述接受文件传输向光网络单元发送光模块升级文件。在本实施例中,光线路终端根据所述接受文件传输向光网络单元发送光模块升级文件的步骤是:将光模块升级文件分为一个或多个分段通过光线路终端依次向光网络单元传送。发送文件采用传输文件(File Transfer Data)消息,传输文件(File TransferData)消息的定义为:每个文件均应分为一个或者多个分段(Block)依次传输。每个传输文件(File Transfer Data)消息带有一个序列号(block number)和数据文件中的一个分段。分段大小不超过1400字节,如果是1400字节长则该分段不是最后一个分段,否则是文件的最后一个分段。分段的传输文件应按照顺序发送,第一个分段的序列号是1,随后的分段的序列号依次递增。只有当光模块升级文件的数据帧的光线路终端收到光网络单元的确认发送才能发送下一个数据帧。④光网络单元接收光线路终端传送的光模块升级文件。在本实施例中,光网络单元接收光线路终端传送的光模块升级文件时需要发送接受文件传输(File Transfer Ack)消息,该消息用于对写文件请求(File Write Request)消息、传输文件(File Transfer Data)消息的确认。接受文件传输(File Transfer Ack)消息包含一个序列号,表示光网络单元ONU此次接收的分段的序列号。在本实施例中,根据光线路终端接收的最后一个接受文件传输(File TransferAck)消息校验所述光模块升级文件的正确性。在本实施例中,光线路终端在接收最后一个分段的接受文件传输(File TransferACK)消息后需要发送校验文件正确性(End Download Request)消息,用于校验接受文件传输(File Transfer ACK)消息给出的文件的正确性,并且确认该文件是否成功写入非易失性存储器(non-volatile storage)。校验文件正确性(End Download Request)消息的参数包括CRC32校验位和传送的文件的大小。在本实施例中,光网络单元接收升级文件并对升级文件的正确性进行校验之后,光网络单元会发送确认校验文件正确性(End Download Response)消息,用于对校验文件正确性(End Download Request)消息的确认。在确认校验文件正确性(End DownloadResponse)消息中,RPSCode = 0x00,表示下载的升级文件校验成功并且已经写入光网络单元的SDROM临时目录中,RPSCode = 0x01,表示光网络单元正在将下载的升级文件写入SDROM临时目录中,RPSCode = 0x02,表示下载的升级文件校验错误,RPSCode = 0x03,表示光线路终端发送的消息参数错误;RPSCode = 0x04,表示光网络单元不支持该命令。在本实施例中,如图4所示,为光线路终端写升级文件到光网络单元的消息交互示意图。光线路终端向光网络单元发出接收升级文件请求(Get Request),光网络单元确认接收文件请求(Get Request)光线路终端,光线路终端向光网络单元发送写文件请求(File Write Request)消息,光网络单元回复接受文件传输(File Transfer ACK)消息作为应答,光线路终端向光网络单元发送传输文件(File Transfer Data)消息,传输文件(File Transfer Data)消息将文件分成一个或多个分段(Data Block)发送给光网络单元,光网络单元发送接受文件传输(File Transfer Ack)消息给光线路终端。光线路终端在接收最后一个分段的接受文件传输(File Transfer Ack)消息后向光网络单元发送校验文件正确性(End Download Request)消息,光网络单元回复确认校验文件正确性(EndDownload Response)消息进行确认。在光网络单元接收升级文件后,光线路终端向光网络单元发送升级请求(Module updata Request)消息,光网络单元将升级请求(Moduleupdata Request)消息转发给光模块,光模块反馈确认升级请求(Module updata GetRequest)消息进行确认,光网络单元再将确认升级请求(Module updata Get Request)消息发送给光线路终端,即完成光线路终端写文件到光网络单元的消息交互。

步骤S120,光线路终端向光网络单元发出升级请求,使光模块将光网络单元存储空间中的光模块升级文件下载到光模块的闪存备份区中。 在本实施例中,光网络单元接收升级文件后存储于光网络单元的存储空间中,只有在光线路终端向光网络单元发出升级请求后,光网络单元才开始将升级文件写入光模块的闪存备份区中。步骤S130,所述光网络单元根据所述升级请求将升级指令发送给所述光模块,所述光模块接收升级指令并根据光模块升级文件升级。在本实施例中,步骤S130光模块接收升级指令并根据光模块升级文件升级包括:光模块接收升级指令后将闪存备份区中的升级文件写入MCU中;光网络单元向光模块发送重启命令;所述光模块接收重启命令并重启从而完成光模块升级。在本实施例中,光网络单元接收并存储升级文件之后,光线路终端向光网络单元发送升级请求(Module updata Request)消息,光网络单元将升级请求(Module updataRequest)消息转发给光模块,用于向光模块发起升级请求。在升级请求(Module updataRequest)消息中,如果Flag字段的值为“0x00”,表示请求光模块升级。光网络单元收到该Flag = 0x00的Activate Image Request消息后,将向光模块通过I2C发起升级请求,光模块收到请求后返回 action,当光模块应答升级后,光网络单元将SDRAM临时目录中的升级文件通过I2C发送到光模块闪存(FLASH)的备份区中,当接收完成后向光网络单元发送file_crc校验请求,光网络单元再返回一个CRC校验码,光模块校验成功后发送f ile_crc_succeed,此时已将升级文件保存在闪存(FLASH)的备份区中。光网络单元再发送光模块升级命令,将闪存(FLASH)备份区中的文件写入MCU中,写入成功返回Write_ok,如果写入时有问题,将回滚到之前的版本并返回Write_err,ONU下发重启命令,将光模块重启以获得最新工作版本.并返回确认升级请求(Module updata Response)消息给光网络单元,光网络单元再将确认升级请求(Module updata Response)消息反馈给光线路终端,完成整个交互过程。如表I所示,为光网络单元ONU与光模块之间的通信协议。
命令名称命令格式返回
升级请求__5A 10 50 10 成功:0X00 失败:0x11
文件传送5A 10 50 30 成功:0X00 失败:0x11----
写文件到MCU 5A 10 50 40 成功:0X00 失败:0xll重启光模块 5A 10 60 00 成功:0X00 失败:0x11文件校验5A 10 50 20 成功:0X00 失败:0x11表I在本实施例中,对于光模块的升级,光网络单元需要接收对升级请求(Moduleupdata Request)消息的确认消息确认升级请求(Module updata Response),同时,光网络单元会将确认升级请求(Module updata Response)反馈给光线路终端。其中,ACK = 0x00,表示升级光模块成功;ACK = 0x01,表示光线路终端发送的消息参数错误;ACK = 0x02,表示光网络单元不支持该命令;ACK = 0x05,表示光网络单元加载失败。
如图5所示,为光网络单元写文件到光模块的消息交互示意图。光网络单元在接收到光线路终端发送的升级请求(Module updata Request)消息后,向光模块发出写入请求(Write Request),光模块接收后回复确认写入请求(Write Response),光网络单元则发送校验请求(File CRC Request),光模块回复确认校验请求(File CRC Response),光网络单元则发送下载文件请求(File Download Request),光模块发出确认下载文件请求(FileDownload Info),此时,光网络单元已经将升级文件写入光模块,同时光网络单元将重置升级请求(Module reset)发送给光模块,光模块开始升级。如图6所示,为光模块固件升级系统的结构示意图,光模块固件升级系统包括:光线路终端10、光网络单元20及光模块30。

光线路终端10用于将光模块升级文件传送到光网络单元20,光网络单元20接收升级文件并存储于光网络单元20的存储空间中。光网络单元20用于将存储的光模块升级文件传送给光模块30,光模块30接收升级文件并存储于闪存备份区中;光网络单元20还用于向光模块30发送升级指令,光模块30接收升级指令并根据升级文件升级。在本实施例中,光线路终端10与光网络单元20的之间的传输由光分配节点完成。在本实施例中,光线路终端10用于向光网络单元20发送光模块升级文件接收请求。光网络单元20用于接受所述光模块升级文件接收请求并向光线路终端10发送接受文件传输。光线路终端10用于根据所述接受文件传输向光网络单元20发送光模块升级文件;光网络单元20用于接收光线路终端10传送的光模块升级文件。在本实施例中,光线路终端10还用于将将光模块升级文件分为一个或多分段依次向光网络单元20传送。在本实施例中,光网络单元20用于根据光线路终端10接收的最后一个接受文件传输校验光模块升级文件的正确性。在本实施例中,光模块30根据升级指令将闪存备份区中的升级文件写入MCU中。光网络单元20用于向光模块30发送重启命令。光模块30重启后获得升级文件中的最新工作版本。上述光模块固件升级方法将升级文件通过光线路终端传送到光网络单元,光网络单元接收到升级文件后写入光模块中,光模块就能根据升级文件快速完成升级。在这个光模块固件过程中不需要拆卸光模块,且只需下载光模块升级文件就能完成升级,因此上述光模块固件升级方法简单省时。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种光模块固件升级方法,包括以下步骤: 光线路终端传送光模块升级文件到光网络单元并存储于光网络单元的存储空间中;光线路终端向光网络单元发出升级请求,使光模块将光网络单元存储空间中的光模块升级文件下载到光模块的闪存备份区中; 所述光网络单元根据所述升级请求将升级指令发送给所述光模块,所述光模块接收升级指令并根据光模块升级文件升级。
2.根据权利要求1所述的光模块固件升级方法,其特征在于,所述光线路终端传送光模块升级文件到光网络单元的步骤包括: 向光网络单元发送光模块升级文件接收请求; 光网络单元接受所述光模块升级文件接收请求并向光线路终端发送接受文件传输; 所述光线路终端根据所述接受文件传输向光网络单元发送光模块升级文件; 光网络单元接收光线路终端传送的光模块升级文件。
3.根据权利要求2所述的光模块固件升级方法,其特征在于,所述光线路终端根据所述接受文件传输向光网络单元发送光模块升级文件的步骤是:将光模块升级文件分为一个或多个分段通过光线路终端依次向光网络单元传送。
4.根据权利要求2所述的光模块固件升级方法,其特征在于,所述光模块固件升级方法还包括:根据光线路终端接收的最后一个接受文件传输校验所述光模块升级文件的正确性。
5.根据权利要求1所述的光模块固件升级方法,其特征在于,所述光模块接收升级指令并根据光模块升级文件升级的步骤包括:` 光模块接收升级指令后将闪存备份区中的升级文件写入MCU中; 光网络单元向光模块发送重启命令; 所述光模块接收重启命令并重启从而完成光模块升级。
6.一种光模块固件升级系统,其特征在于,所述光模块固件升级系统包括:光线路终端、光网络单元及光模块; 所述光线路终端用于将光模块升级文件传送到光网络单元,光网络单元接收升级文件并存储于光网络单元的存储空间中; 在光线路终端向光网络单元发出升级请求后,所述光网络单元用于将存储的光模块升级文件传送给光模块,所述光模块接收升级文件并存储于闪存备份区中; 所述光网络单元还用于向光模块发送升级指令,所述光模块接收升级指令并根据升级文件升级。
7.根据权利要求6所述的光模块固件升级系统,其特征在于,所述光线路终端用于向光网络单元发送光模块升级文件接收请求; 所述光网络单元用于接受所述光模块升级文件接收请求并向光线路终端发送接受文件传输; 所述光线路终端用于根据所述接受文件传输向光网络单元发送光模块升级文件; 所述光网络单元用于接收光线路终端传送的光模块升级文件。
8.根据权利要求7所述的光模块固件升级系统,其特征在于,所述光线路终端还用于将光模块升级文件分为一个或多分段依次向光网络单元传送。
9.根据权利要求7所述的光模块固件升级系统,其特征在于,所述光网络单元用于根据光线路终端接收的最后一个接受文件传输校验所述光模块升级文件的正确性。
10.根据权利要求6所述的光模块固件升级系统,其特征在于,所述光模块根据升级指令将闪存备份区中的升级文件写入MCU中; 所述光网络单元用于向光模块发送重启命令; 所述光模块重启后获得升 级文件中的最新工作版本。
全文摘要
一种光模块固件升级方法,包括以下步骤光线路终端传送光模块升级文件到光网络单元并存储于光网络单元的存储空间中;光线路终端向光网络单元发出升级请求,使光模块将光网络单元存储空间中的光模块升级文件下载到光模块的闪存备份区中;所述光网络单元根据所述升级请求将升级指令发送给所述光模块,所述光模块接收升级指令并根据光模块升级文件升级。上述光模块固件升级方法在光模块固件过程中不需要拆卸光模块,且只需下载光模块升级文件就能完成升级。此外,还提供一种光模块固件升级系统。
文档编号H04L29/08GK103248424SQ201210032770
公开日2013年8月14日 申请日期2012年2月14日 优先权日2012年2月14日
发明者唐李智 申请人:深圳市卓翼科技股份有限公司, 天津卓达科技发展有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1