基于mdio接口的下载方法及系统的制作方法

文档序号:7748799阅读:259来源:国知局
专利名称:基于mdio接口的下载方法及系统的制作方法
技术领域
本发明涉及通信领域,具体而言,涉及一种基于MDIO(Management Data Input/ Output,管理数据输入输出)接口的下载方法及系统。
背景技术
对于吉比特以太网而言,串行通信总线被称为管理数据输入输出MDI0,该总线由 IEEE通过以太网标准IEEE802. 3的条款加以定义。MDIO是一种简单的双线串行接口,将管理器件(如媒体访问控制(Media Access Control,MAC)控制器、微处理器)与具备管理功能的收发器(如多端口吉比特以太网收发器或10(ibE XAUI收发器)相连接,从而控制收发器并从收发器收集状态信息。随着光传输技术和数据业务的发展,光转发器TRANSPONDER得到了广泛地应用, 相关国际标准已经对100G TRANSPONDER和100G CFP光转发器进行了功能和接口定义。但是,却没有定义光模块的在线下载功能。随着光模块功能的复杂化和性能的日益提高改进, 光模块软件在线升级的能力对于系统设备厂家来说至关重要,主流光模块厂家近期已经开始着手定义一套基于现有硬件接口的IAP(Internet Access Point,网际访问点)协议,但该协议并没有考虑到大批量数据的传输,而且现有的MDIO接口的帧结构(如图1所示)的 64bit中,有效数据信息只有16bit,占整个帧长度的25%,这意味着,要完成IMByte的文件传送所用时间是仅下载有效数据信息的4倍。因此,现有实现IAP协议的MDIO的帧结构和通讯机制功能效率低下,下载时间长,而且容易反复出现下载失败的情况。

发明内容
本发明的主要目的在于提供一种基于MDIO接口的下载方法及系统,以解决通过现有MDIO的帧结构和通讯机制来实现IAP功能效率低下,下载时间长,容易反复出现下载失败的问题。根据本发明的一个方面,提供了一种基于管理数据输入输出MDIO接口的下载方法,包括主设备通知从设备使用MDIO接口开始批量数据包下载;主设备使用MDIO帧向从设备批量发送数据包,所述MDIO帧包括数据包地址字段和/或数据包编号字段,所述数据包地址字段用于指示一个数据包在所述从设备中的相对地址,所述数据包编号字段用于指示所述一个数据包在多个数据包中的位置;从设备判断接收的一个数据包为设备本次批量发送的最后一个数据包,结束本次批量下载。根据本发明的另一方面,提供了一种基于管理数据输入输出MDIO接口的下载系统,包括主设备和从设备,其中,主设备包括通知模块,用于通知从设备使用MDIO接口开始批量数据包下载;发送模块,用于使用MDIO帧向从设备批量发送数据包,所述MDIO帧包括数据包地址字段和/或数据包编号字段,所述数据包地址字段用于指示一个数据包在所述从设备中的相对地址,所述数据包编号字段用于指示所述一个数据包在多个数据包中的位置;从设备包括判断模块,用于判断接收的一个数据包为主设备本次批量发送的最后一个数据包;停止模块,用于结束本次批量下载。本发明通过使用新的通讯握手机制,使得主设备和从设备能够有效地进行批量数据下载,从而克服了相关技术中基于MDIO接口的下载无法进行大批量数据传输的问题。同时,本发明采用了新的MDIO帧结构,以使其适应批量数据下载的需求,提高了数据下载的效率。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是相关技术的一种MDIO帧结构的示意图;图2是根据本发明实施例的一种基于MDIO接口的下载方法的步骤流程图;图3是根据本发明实施例的另一种基于MDIO接口的下载方法的步骤流程图;图4是根据本发明实施例的一种基于MDIO接口的批量下载过程中的下载数据包分组示意图;图5是根据本发明实施例的再一种基于MDIO接口的下载方法的步骤流程图;图6是根据本发明实施例的一种MDIO帧结构的示意图;图7是根据本发明实施例的一种基于MDIO接口的下载系统的结构框图;图8是根据本发明实施例的另一种基于MDIO接口的下载系统的结构框图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。图2是根据本发明实施例的一种基于MDIO接口的下载方法的步骤流程图,包括以下步骤步骤S202 主设备通知从设备使用MDIO接口开始批量数据包下载;例如,在主设备获知从设备需要批量下载数据时,通知从设备使用MDIO接口进入批量下载状态,开始批量下载数据包。本步骤中,主设备可以通过标准MDIO协议命令通知从设备开始批量数据包下载,该MDIO协议命令中包括有启动从设备进入批量下载流程的信息,还可以包括数据包下载寄存器信息,如从设备MDIO地址,待传输数据包地址或序列5寸。步骤S204 主设备使用MDIO帧向从设备批量发送数据包;其中,MDIO帧包括用于指示一个数据包在从设备中的相对地址的数据包地址字段和/或用于指示一个数据包在多个数据包中的位置的数据包编号字段。在MDIO帧中设置数据包地址字段和/或数据包编号字段,以有效批量传输数据, 适应主、从设备批量数据包下载的需要。步骤S206 从设备判断接收的一个数据包为主设备本次批量发送的最后一个数据包,结束本次批量下载。从设备接收主设备发送的数据包,当所有数据包正常传输到从设备,从设备判断出接收的一个数据包为本次批量数据包下载的最后一个数据包,这时,从设备自动退出或者主设备发起主、从设备同时退出批量下载状态,结束本次批量下载。相关技术的IAP协议实现时,没有考虑到大批量数据传输,实现IAP协议的MDIO 的帧结构和通讯机制功能效率低下,下载时间长,而且容易反复出现下载失败的情况。本实施例通过采用新的适于批量数据下载的握手机制,以及与该机制相适应的MDIO帧结构,有效解决了批量数据下载问题,提高了数据下载效率。参照图3,示出了根据本发明实施例的另一种基于MDIO接口的下载方法的步骤流程图,包括以下步骤步骤S302 主设备通过标准MDIO协议命令通知从设备进入批量下载状态,开始批量数据包下载;步骤S304 主设备使用MDIO帧结构向从设备通过分批组包的方式批量发送数据包;其中,MDIO帧包括用于指示一个数据包在从设备中的相对地址的数据包地址字段和/或用于指示一个数据包在多个数据包中的位置的数据包编号字段。本实施例中MDIO 帧与现有标准MDIO帧的不同还包括,去掉现有标准MDIO帧的前导码字段,取代以设定位数的空闲字段,如2-4位空闲字段,该空闲字段指示一个新的MDIO帧。其中,空闲字段的位数可以由本领域人员根据实际情况适当设置。MDIO帧的大小可以根据从设备的硬件条件来加以定义,例如从设备的MDIO接口有足够大的Buffer,则不必符合MDIO标准帧长64bit。本步骤中,主设备可以采用如图4所示的方式通过分批组包将数据包发送到从设备。数据包的大小可以根据下载效率和异常处理事件处理的难易程度来综合确定。步骤S306 从设备完成下载寄存器地址映射,接收并存储主设备发送的数据包;从设备从MDIO帧中获取数据包地址字段和/或数据包编号字段,确定本次传输的数据包在从设备中的地址,接收主设备发送的该数据包,并将该数据包存储到相应的地址。从设备一旦进入批量下载状态,其将不再响应主设备发送的标准MDIO命令。步骤S308 从设备接收到主设备发送的最后一个数据包时,从设备自动或主设备发起主从设备同时退出批量下载状态,停止本次批量数据包下载;例如,从设备可以根据主设备发送的MDIO协议命令中的下载寄存器信息中的主设备向所述从设备批量发送的所述数据包的序列号,判断接收到主设备发送的一个数据包,根据序列号判断数据包是否为本次批量下载的最后一个数据包,实现简单,节约系统设计成本。步骤S310 主设备通过标准MDIO协议命令与从设备通讯,读取从设备的下载状态确认前一组数据包是否正常接收;本步骤中,主设备可以读取从设备的下载状态寄存器信息,从中获取从设备的下载状态。步骤S312 如果从设备下载状态正常,则可以直接启动新一组数据包的下载流程,否则主设备判断异常情况,并启动相应的处理流程,直接进行异常解决。在下载过程中出现任何异常的情况下,主设备可以通过发送特殊命令的方式强制从设备退出批量下载状态。参照图5,示出了根据本发明实施例的再一种基于MDIO接口的下载方法的步骤流程图,包括以下步骤
步骤S502 主设备将从设备的下载程序文件分成m个数据包Image Package,每个数据包的大小为32xl6bit,其中,32对应数据包被连续分割成子数据包image data的个数,16bit对应从设备常用MDIO接口的寄存器大小。在进入批量下载时,数据传送的基本单位子数据包的大小通常由主、从设备的底层设备条件限定,从而使得MDIO帧结构和通讯握手机制可以适应多种设备间的数据传输, MDIO帧结构和通讯握手机制灵活多样。步骤S504 主设备通过标准MDIO命令启动从设备进入批量下载流程,同时告知从设备批量下载的数据包起始地址(在从设备中的相对地址)。主设备的MDIO接口对下载功能实现的定义如表1所示,其中,A0F8是启动下载需要写入的从设备MDIO地址,写入的数据Image Package krialNo代表了主设备将要写入从设备的数据包Image Package的相对地址;MDIO命令中包含有该下载寄存器信息,以便从设备从MDIO命令中直接获得数据包存储地址。表1MDI0数据包下载寄存器信息
地址大小访问类型位寄存器名称描述整数值A0F82RW15 0Image Package SerialNoImage Package SerialNo0本步骤中,重新定义的批量下载MDIO帧结构如图6所示,该MDIO帧将标准MDIO 帧的前导码preamble去掉,取代以设定位数如2 4个空闲idle位,将其中的设备类型 "Device Type”字段更改为子数据包在从设备中的相对地址Image data address (或者为子数据包的编号Image data serialNo)字段,本实施例为子数据包的相对地址,该地址范围为0 31,主设备按照新的MDIO帧结构开始下发子数据包给从设备。步骤S506 从设备接收主设备发送的数据,并根据Image dataaddress地址完成地址映射,并将Image data存放在从设备相应的存储空间中。步骤S508 从设备接收到主设备的最后一个Image data,即Image data address =31,之后自动退出批量下载状态,停止批量数据包下载。步骤S510 如果从设备已经完成数据接收,并经过数据校验为有效,则从设备将其状态寄存器设置为正常,否则将其状态寄存器设置为异常;主设备通过标准MDIO命令读取从设备的状态寄存器信息,该状态寄存器信息如表2所示,其中,A0F2是从设备MDIO的寄存器地址,“Download Status”代表了状态寄存器的下载状态,如果状态正常主设备可以开始下一组数据包的传送,如果状态异常则根据异常信息进行异常处理流程。 表2工作MDIO下载状态寄存器信息
权利要求
1.一种基于管理数据输入输出MDIO接口的下载方法,其特征在于,包括 主设备通知从设备使用所述MDIO接口开始批量数据包下载;所述主设备使用MDIO帧向所述从设备批量发送数据包,所述MDIO帧包括数据包地址字段和/或数据包编号字段,所述数据包地址字段用于指示一个数据包在所述从设备中的相对地址,所述数据包编号字段用于指示所述一个数据包在多个数据包中的位置;所述从设备判断所述接收的一个数据包为所述主设备本次批量发送的最后一个数据包,结束本次批量下载。
2.根据权利要求1所述的方法,其特征在于,所述MDIO帧使用设定位数的空闲字段取代前导码字段。
3.根据权利要求1或2所述的方法,其特征在于,所述主设备通知从设备使用所述 MDIO接口开始批量数据包下载的步骤包括所述主设备通过MDIO协议命令通知所述从设备使用所述MDIO接口开始批量数据包下载,所述MDIO协议命令包括下载寄存器信息,所述下载寄存器信息包括所述主设备向所述从设备批量发送的所述数据包的序列号;所述从设备判断所述接收的一个数据包为所述主设备本次批量发送的最后一个数据包的步骤包括所述从设备根据所述序列号判断所述接收的一个数据包为所述主设备本次批量发送的最后一个数据包。
4.根据权利要求1或2所述的方法,其特征在于,所述从设备判断所述接收的一个数据包为所述主设备本次批量发送的最后一个数据包的步骤包括所述从设备接收所述主设备发送的一个MDIO帧,从所述MDIO帧中解析出数据包,按照所述数据包地址字段指示的地址,将所述数据包的数据存储到所述从设备中,或者,按照所述数据包编号字段指示的编号,将所述数据包的数据存储到所述从设备中;所述从设备判断所述存储的数据包为所述主设备本次批量发送的最后一个数据包。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括在所述主设备使用MDIO帧向所述从设备批量发送数据包的过程中,所述主设备通过 MDIO协议命令读取所述从设备的下载状态寄存器信息;所述主设备根据所述下载状态寄存器信息判断所述从设备是否正常接收前一组数据包;若是,则启动新一组的批量数据包下载; 若否,则强制所述从设备停止批量下载。
6.根据权利要求1或2所述的方法,其特征在于,还包括在所述主设备使用MDIO帧向所述从设备批量发送数据包的过程中,所述主设备或从设备发生异常,且未停止批量数据包下载;所述主设备设置所述MDIO帧的数据包地址字段或数据包编号字段的值,以指示所述从设备停止批量数据包下载。
7.根据权利要求1或2所述的方法,其特征在于,在所述主设备通知从设备使用所述 MDIO接口开始批量数据包下载步骤之前,还包括所述主设备根据所述从设备的硬件条件设置所述MDIO帧的长度。
8.一种基于管理数据输入输出MDIO接口的下载系统,包括主设备和从设备,其特征在于,所述主设备包括通知模块,用于通知从设备使用所述MDIO接口开始批量数据包下载; 发送模块,用于使用MDIO帧向所述从设备批量发送数据包,所述MDIO帧包括数据包地址字段和/或数据包编号字段,所述数据包地址字段用于指示一个数据包在所述从设备中的相对地址,所述数据包编号字段用于指示所述一个数据包在多个数据包中的位置; 所述从设备包括判断模块,用于判断所述接收的一个数据包为所述主设备本次批量发送的最后一个数据包;停止模块,用于结束本次批量下载。
9.根据权利要求8所述的系统,其特征在于,所述MDIO帧使用设定的空闲字段取代前导码字段。
10.根据权利要求8或9所述的系统,其特征在于,所述主设备的通知模块包括 MDIO命令模块,用于通过MDIO协议命令通知所述从设备使用所述MDIO接口开始批量数据包下载,所述MDIO协议命令包括所述下载寄存器信息,所述下载寄存器信息包括所述主设备向所述从设备批量发送的所述数据包的序列号; 所述从设备的判断模块包括命令接收模块,用于接收所述MDIO协议命令,获取所述序列号; 序列号判断模块,用于根据所述序列号判断所述接收的一个数据包为所述主设备本次批量发送的最后一个数据包。
11.根据权利要求8或9所述的系统,其特征在于,所述主设备还包括获取模块,用于在使用MDIO帧向所述从设备批量发送数据包的过程中,通过MDIO协议命令读取所述从设备的下载状态寄存器信息;执行模块,用于根据所述下载状态寄存器信息判断所述从设备是否正常接收前一组数据包;若是,则启动新一组的批量数据包下载;若否,则强制所述从设备停止批量下载。
12.根据权利要求8或9所述的系统,其特征在于,所述主设备还包括设置模块,用于在使用MDIO帧向所述从设备批量发送数据包的过程中,所述主设备或从设备发生异常,且未停止批量数据包下载时,设置所述MDIO帧的数据包地址字段或数据包编号字段的值,以指示所述从设备停止批量数据包下载。
全文摘要
本发明公开了一种基于MDIO接口的下载方法及系统,其中,所述方法包括主设备通知从设备使用所述MDIO接口开始批量数据包下载;所述主设备使用MDIO帧向所述从设备批量发送数据包,所述MDIO帧包括数据包地址字段和/或数据包编号字段,所述数据包地址字段用于指示一个数据包在所述从设备中的相对地址,所述数据包编号字段用于指示所述一个数据包在多个数据包中的位置;所述从设备判断所述接收的一个数据包为所述主设备本次批量发送的最后一个数据包,结束本次批量下载。通过本发明,使得主设备和从设备能够有效地进行批量数据下载,克服了相关技术中基于MDIO接口的下载无法进行大批量数据传输的问题。
文档编号H04L29/06GK102238055SQ20101017338
公开日2011年11月9日 申请日期2010年5月6日 优先权日2010年5月6日
发明者张赟, 方瑜 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1