CN104579548B - 基于管理数据输入输出多源协议的传输方法及装置 - Google Patents
基于管理数据输入输出多源协议的传输方法及装置 Download PDFInfo
- Publication number
- CN104579548B CN104579548B CN201310522735.6A CN201310522735A CN104579548B CN 104579548 B CN104579548 B CN 104579548B CN 201310522735 A CN201310522735 A CN 201310522735A CN 104579548 B CN104579548 B CN 104579548B
- Authority
- CN
- China
- Prior art keywords
- check value
- frame
- data
- register
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0083—Formatting with frames or packets; Protocol or part of protocol for error control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C19/00—Digital stores in which the information is moved stepwise, e.g. shift registers
- G11C19/30—Digital stores in which the information is moved stepwise, e.g. shift registers using opto-electronic devices, i.e. light-emitting and photoelectric devices electrically- or optically-coupled
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/009—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location arrangements specific to transmitters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Optical Communication System (AREA)
Abstract
本发明公开了一种基于管理数据输入输出多源协议的传输方法及装置,其中,该方法包括:发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。采用本发明,通讯时有校验机制,解决了主机与光模块间出现传输错误也无法及时纠正的问题,提高了通讯可靠性。
Description
技术领域
本发明涉及通讯技术,尤其涉及一种基于CFP管理数据输入输出(MDIO,Management Data Input/Output)多源协议(MSA,Multi Source Agreement)的传输方法及装置。
背景技术
目前,在基于通讯协议的数据传输场景下,例如基于管理数据输入输出(MDIO,Management Data Input/Output)多源协议(MSA,Multi Source Agreement)没有对读写操作中传送的数据进行即时校验,在通讯中,一旦发生数据传输错误,可能会造成无法估计的结果。例如:设置通道波长时发生错误,当希望将通道波长设置成第4波,由于传输中出现干扰,有可能接收成第6波,这样合波后第四波没有信号,第六波是两路叠加的信号,接收方将无法有效接收。导致两路信号业务中断。
本申请发明人在实现本申请实施例技术方案的过程中,至少发现现有技术中存在如下技术问题:
实际工作中MDIO通讯由于没有握手校验机制,经常会发生报文错误,或报文丢失,而主机却不知道,也无法及时纠正。
如图1所示为用于MDIO通讯的MDIO命令帧,对MDIO命令帧结构进行简单说明如下:
使用IEEE 802.3定义的数据帧结构进行通讯。每帧全部长度64位,前32位为前导码(Preamble),后32位为地址帧或命令帧。32位前导码为主机向光模块发送的连续32个逻辑“1”比特。帧和帧之间为空闲状态(Idle)。
MDIO帧命令体由6部分组成,具体如下:
——ST:开始位(2bit);
——OP:操作码(2bit);
——PHYADR:物理端口地址(5bit),其中地址值“0b00000”为广播地址;
——DEVADD:MDIO器件地址;
——TA:状态转换(turn around)码(2bit);对于读操作,主机和光模块保持MDIO数据线在TA的第一个比特为高阻态,TA的第二个比特由光模块置为逻辑“0”,主机开始数据发送;对于写操作,主机将驱动TA的两个比特为“0b10”,开始对光模块执行写数据操作;
——16-bit地址或数据:MDIO帧结构中的数据净荷域。
MDIO的通讯方式分为读操作,连续读操作,写操作。
综上所述,由于在通讯时没有校验机制,因此导致主机与光模块间出现传输错误也无法及时纠正的问题,针对这个问题尚未存在有效的解决方案。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于CFP MDIO MSA的传输方法及装置,通讯时有校验机制,至少解决了主机与光模块间出现传输错误也无法及时纠正的问题,提高了通讯可靠性。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种基于管理数据输入输出多源协议的传输方法,包括:
发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。
较佳地,执行所述读数据操作情况下,
所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址,光模块将计算得到的校验值写入所述第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
较佳地,执行所述连续读数据操作情况下,
所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据,主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;
光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址;
主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
较佳地,执行所述写数据操作情况下,
所述帧携带的操作码包含第一地址码时,指示写操作的第一寄存器地址;所述帧携带的操作码包含第一写操作码时,指示需写入的第一寄存器数据;在光模块侧根据所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述帧携带的操作码包含第二地址码时,指示第二寄存器地址,所述第二寄存器地址为主机计算得到校验值存放的寄存器地址;所述帧携带的操作码包含第二写操作码时,指示将主机计算得到校验值写入第二寄存器地址中;在光模块侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述写数据操作。
本发明实施例还提供了一种基于管理数据输入输出多源协议的传输装置,包括:
传输模块,用于发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
校验及决策模块,用于所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。
较佳地,执行所述读数据操作情况下,
所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;
所述校验及决策模块,进一步用于在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;
所述校验及决策模块,还用于指示读操作的第二寄存器地址时,光模块将计算得到的校验值写入所述第二寄存器地址;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
较佳地,执行所述连续读数据操作情况下,
所述传输模块,进一步用于所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据;
所述校验及决策模块,进一步用于主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址;
所述校验及决策模块,还用于主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
较佳地,执行所述写数据操作情况下,
所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示写操作的第一寄存器地址;所述帧携带的操作码包含第一写操作码时,指示需写入的第一寄存器数据;
所述校验及决策模块,进一步用于指示需写入的第一寄存器数据;在光模块侧根据所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示第二寄存器地址,所述第二寄存器地址为主机计算得到校验值存放的寄存器地址;所述帧携带的操作码包含第二写操作码时,指示将主机计算得到校验值写入第二寄存器地址中;
所述校验及决策模块,还用于在光模块侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述写数据操作。
本发明的方法是发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。采用本发明的方法,由于存在校验机制,因此,至少解决了主机与光模块间出现传输错误也无法及时纠正的问题,提高了通讯可靠性。
附图说明
图1为现有MDIO帧的帧结构示意图;
图2为本发明方法原理的流程图;
图3为本发明***的基本组成结构示意图。
具体实施方式
下面结合附图对技术方案的实施作进一步的详细描述。
本发明实施例的方法为采用CFP MDIO MSA通讯协议的传输校验方案,能提高通讯可靠性,提高了数据传输的正确性和可靠性,防止报文丢失和出错。本实施例是主机和光模块之间配合操作来实现的,主机作为发送方,发送帧并携带控制指令(如操作码实现的控制指令),光模块作为接收方,接收帧,根据读取的控制指令(如操作码实现的控制指令)执行对应的操作。而且,帧中包括校验帧,主机和光模块基于校验帧是基于一样的数据和校验算法所做的校验计算,以便进行主机和光模块分别计算得到的校验值的比对,如果校验值一致,则结束当前校验操作,否则,继续执行校验操作。
具体地,例如可以针对16-bit地址和数据,进行地址和数据内容校验、或仅对数据内容校验、或对完整的32-bit的帧进行前两种校验。在完成标准读、或标准写、或连续读操作后,增加一校验帧,并根据校验值的正确与否,决定是否需要进行重复前一操作,其流程如图2所示,加校验的读或写或连续读操作流程图包括以下步骤:
步骤101、主机开始对光模块执行读数据操作或连续读数据操作或写数据操作,发送对应的帧给光模块。
步骤102、接收对应帧,根据操作码实现的控制指令执行对应的操作,帧用于校验时进行校验操作。
步骤103、比对在主机侧和光模块侧分别计算得到的校验值是否匹配,如果校验值一致,说明校验值正确,结束当前校验流程,否则,校验值不一致,说明校验值不正确,转入执行步骤101,继续当前读数据操作或连续读数据操作或写数据操作。
以下分本发明实施例的各个具体应用场景分别阐述如下:
应用场景一:读数据操作的情况。
读数据操作的情况下:加校验的读操作是由4个帧组成,帧用于校验时在主机和光模块分别计算校验值以进行校验操作。主机先发送帧给光模块,前2帧同标准的读操作,即:第1帧操作码OP为地址(0b00),为了描述方便及便于区分,也可以称为第一地址码,数据净荷为读操作的寄存器地址,为了描述方便及便于区分,也可以称为读操作的第一寄存器地址;第2帧的操作码OP为读操作码(0b11),为了描述方便及便于区分,也可以称为第一读操作码,读出寄存器数据。光模块通过对读取的16-bit地址和数据,进行校验值计算,并将计算的校验值写入寄存器83FFh,为了描述方便及便于区分,也可以称为读操作的第二寄存器地址,同时,主机也计算出校验值。第3帧操作码OP为地址(0b00),为了描述方便及便于区分,也可以称为第二地址码,数据净荷为寄存器地址83FFh,为了描述方便及便于区分,也可以称为读操作的第二寄存器地址;第4帧的操作码OP为读操作码(0b11),为了描述方便及便于区分,也可以称为第二读操作码,读出寄存器83FFh的数据,即光模块计算得到的且写入寄存器83FFh的上述校验值,主机将其计算出的校验值,与其所读取的寄存器83FFh的校验值进行比较。如果校验值不相等,说明校验值错误,数据传输有误,需要纠正,则主机重新进行读数据操作。
在实际应用中,H指代主机(host),M指代光模块(optical module),读数据操作的示例参数为:
读取9000h起始的模块参数,可以分解为下列内容:
1、发送地址帧9000h
第1帧
| H->M |
<Idle><32-bit Preamble><00><00><AAAAA><00001><10><1001 0000 0000 0000><idle>
2、读地址9000h寄存器的数据
第2帧
| H->M || M->H |
<Idle><32-bit Preamble><00><11><AAAAA><00001><Z0><DDDD DDDD DDDD DDDD><idle>
3、发送83FFh寄存器的地址帧
第3帧
| H->M || M->H |
<Idle><32-bit Preamble><00><00><AAAAA><00001><10><1011 0110 1111 1111><Idle>
4、读地址83FFh寄存器的数据
第4帧
| H->M || M->H |
<Idle><32-bit Preamble><00><11><AAAAA><00001><Z0><DDDD DDDD DDDD DDDD><idle>
本次操作结束。
应用场景二:连续读数据操作的情况。
连续读数据操作的情况下:加校验的连续读操作。帧为至少一个,帧用于校验时在主机和光模块分别计算校验值以进行校验操作。主机先发送帧给光模块,第1帧同标准读操作,数据净荷为读操作的寄存器地址;第2帧的操作码为连续读操作码(0b10),读出对应寄存器的内容数据,同时光模块内部将下一个寄存器地址处的数据放到缓冲区中,等待下一帧来被读取;第3帧主机直接读取寄存器数据;以此类推,直到帧操作码不为连续读操作码(0b10)为止。光模块在主机连续读操作的同时连续计算校验值,每完成一帧读,就将计算出的校验写入83FFh。主机连续读操作结束后,读取该寄存器(操作方式与读操作同),主机根据算出的校验值和读到的校验值进行比较,如果有误进行重读。
在实际应用中,H指代主机(host),M指代光模块(optical module),连续读数据操作的示例参数为:
读取8000h起始的模块参数,可以分解为下列内容:
1、发送地址帧8000h
第1帧
| H->M |
<Idle><32-bit Preamble><00><00><AAAAA><00001><10><1000 0000 0000 0000><idle>
2、读地址8000h寄存器的数据
第2帧
| H->M || M->H |
<Idle><32-bit Preamble><00><10><AAAAA><00001><Z0><DDDD DDDD DDDD DDDD><idle>
3、读地址8001h寄存器的数据
第3帧
| H->M || M->H |
<Idle><32-bit Preamble><00><10><AAAAA><00001><Z0><DDDD DDDD DDDD DDDD><idle>
……
……
4、读地址8000h+n寄存器的数据(最后一帧)
第n+1帧
| H->M || M->H |
<Idle><32-bit Preamble><00><10><AAAAA><00001><Z0><DDDD DDDD DDDD DDDD><idle>
5、发送83FFh寄存器的地址帧
第n+2帧
| H->M || M->H |
<Idle><32-bit Preamble><00><00><AAAAA><00001><10><1011 0110 1111 1111><Idle>
6、读地址83FFh寄存器的数据
第n+3帧
| H->M || M->H |
<Idle><32-bit Preamble><00><11><AAAAA><00001><Z0><DDDD DDDD DDDD DDDD><idle>
本操作结束。
应用场景三:写数据操作的情况。
写数据操作的情况下:加校验的写数据操作由4帧的结构组成,帧用于校验时在主机和光模块分别计算校验值以进行校验操作。主机先发送帧给光模块,第1帧的OP为地址,为了描述方便及便于区分,也可以称为第一地址码,数据净荷域为光模块寄存器地址,为了描述方便及便于区分,也可以称为写操作的第一寄存器地址;第2帧的OP为写操作(0b01),为了描述方便及便于区分,也可以称为第一写操作码;数据净荷域为要写的寄存器内容;同时,光模块计算出这2帧的CRC-16校验值;第3帧的OP为地址,为了描述方便及便于区分,也可以称为第二地址码,数据净荷域为校验值存放的寄存器地址83FEh,为了描述方便及便于区分,也可以称为写操作的第二寄存器地址;第4帧的OP为写操作,为了描述方便及便于区分,也可以称为第二写操作码,数据净荷域为主机计算出的前2帧的CRC-16的校验值。4帧都发送完毕后,加校验写操作结束。模块将自己计算的校验值与83FEh中的值进行比较。如果有错误,置位A021h的bit0为1。此位将引发告警产生。主机根据告警信息,可重新进行写操作。对此光模块也可以用其他方式通知主机。
在实际应用中,H指代主机(host),M指代光模块(optical module),写数据操作的示例参数为:
设置CFP光模块光发送通道。向发送通道设置寄存器B400h写入期望的波长0012h(第18波)。将计算得到的CRC-16的校验值放入寄存器83FEh。可以分解为下列内容:
1、发送地址帧B400h
第1帧
| H->M |
<Idle><32-bitPreamble><00><00><AAAAA><00001><10><1011010000000000><Idle>
2、发送数据帧0012h
第2帧
| H->M |
<Idle><32-bitPreamble><00><01><AAAAA><00001><10><0000000000010010><Idle>
3、发送地址帧83FEh
第3帧
| H->M |
<Idle><32-bit Preamble><00><00><AAAAA><00001><10><1011 0110 1111 1110><Idle>
4、发送数据帧(前2帧数据净荷的CRC-16的校验值)8805h
第4帧
| H->M |
<Idle><32-bitPreamble><00><01><AAAAA><00001><10><1000 1000 0000 0101><Idle>
本操作结束。
这里需要指出的是,校验值的算法可以有多种形式,不受本文内容的限制,本文采用的是CRC-16。校验值存放的寄存器地址也不限于本文所用地址的寄存器(寄存器地址83FEh),可根据情况选择使用。
本发明实施例的装置如图3所述,包括传输模块和校验及决策模块,其中传输模块主要用于在主机与光模块之间互传所述帧,即用于发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作。所述校验及决策模块主要用于在主机侧或在光模块侧进行针对帧的校验及决策是否进行重新读数据操作,连续读数据操作及写数据操作的处理,即用于所述帧为至少一个,所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。
具体地,分为以下三个场景分别描述:
应用场景1:执行所述读数据操作情况。
所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;
相应地,所述校验及决策模块,进一步用于在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值。
所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;
相应地,所述校验及决策模块,还用于指示读操作的第二寄存器地址时,光模块将计算得到的校验值写入所述第二寄存器地址;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
应用场景2:执行所述连续读数据操作情况。
所述传输模块,进一步用于所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据;
相应地,所述校验及决策模块,进一步用于主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址。
所述校验及决策模块,还用于主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
应用场景3:执行所述写数据操作情况。
所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示写操作的第一寄存器地址;所述帧携带的操作码包含第一写操作码时,指示需写入的第一寄存器数据;
相应地,所述校验及决策模块,进一步用于指示需写入的第一寄存器数据;在光模块侧根据所述第一寄存器地址和所述第一寄存器数据计算校验值。
所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示第二寄存器地址,所述第二寄存器地址为主机计算得到校验值存放的寄存器地址;所述帧携带的操作码包含第二写操作码时,指示将主机计算得到校验值写入第二寄存器地址中;
相应地,所述校验及决策模块,还用于在光模块侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述写数据操作。
综上所述,采用上述三个应用场景的具体说明,从上面的叙述中,可以看出本发明的优势在于:
1)操作简单,不改变帧的结构,也不改变主机与光模块间总的处理流程,是在完成标准读或标准写或连续读操作后,增加一校验帧进行传输校验。
2)通过主机与光模块间对校验值的比对以及相应的操作,保证了数据传送的正确可靠,及时发现传输内容的缺漏,以便于及早发现问题,及早纠正。
本发明实施例所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
相应的,本发明实施例还提供一种计算机存储介质,其中存储有计算机程序,该计算机程序用于执行本发明实施例的基于管理数据输入输出多源协议的传输方法。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
Claims (6)
1.一种基于管理数据输入输出多源协议的传输方法,其特征在于,所述方法包括:
发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作;
其中,执行所述读数据操作情况下,
所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址,光模块将计算得到的校验值写入所述第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
2.一种基于管理数据输入输出多源协议的传输方法,其特征在于,所述方法包括:
发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作;
其中,执行所述连续读数据操作情况下,
所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据,主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;
光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址;
主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
3.一种基于管理数据输入输出多源协议的传输方法,其特征在于,所述方法包括:
发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作;
其中,执行所述写数据操作情况下,
所述帧携带的操作码包含第一地址码时,指示写操作的第一寄存器地址;所述帧携带的操作码包含第一写操作码时,指示需写入的第一寄存器数据;在光模块侧根据所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述帧携带的操作码包含第二地址码时,指示第二寄存器地址,所述第二寄存器地址为主机计算得到校验值存放的寄存器地址;所述帧携带的操作码包含第二写操作码时,指示将主机计算得到校验值写入第二寄存器地址中;在光模块侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述写数据操作。
4.一种基于管理数据输入输出多源协议的传输装置,其特征在于,所述装置包括:
传输模块,用于发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
校验及决策模块,用于所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作;
其中,执行所述读数据操作情况下,
所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;
所述校验及决策模块,进一步用于在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;
所述校验及决策模块,还用于指示读操作的第二寄存器地址时,光模块将计算得到的校验值写入所述第二寄存器地址;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
5.一种基于管理数据输入输出多源协议的传输装置,其特征在于,所述装置包括:
传输模块,用于发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
校验及决策模块,用于所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作;
其中,执行所述连续读数据操作情况下,
所述传输模块,进一步用于所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据;
所述校验及决策模块,进一步用于主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址;
所述校验及决策模块,还用于主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
6.一种基于管理数据输入输出多源协议的传输装置,其特征在于,所述装置包括:
传输模块,用于发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
校验及决策模块,用于所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作;
其中,执行所述写数据操作情况下,
所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示写操作的第一寄存器地址;所述帧携带的操作码包含第一写操作码时,指示需写入的第一寄存器数据;
所述校验及决策模块,进一步用于指示需写入的第一寄存器数据;在光模块侧根据所述第一寄存器地址和所述第一寄存器数据计算校验值;
所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示第二寄存器地址,所述第二寄存器地址为主机计算得到校验值存放的寄存器地址;所述帧携带的操作码包含第二写操作码时,指示将主机计算得到校验值写入第二寄存器地址中;
所述校验及决策模块,还用于在光模块侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述写数据操作。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310522735.6A CN104579548B (zh) | 2013-10-29 | 2013-10-29 | 基于管理数据输入输出多源协议的传输方法及装置 |
EP14795226.1A EP3065323B1 (en) | 2013-10-29 | 2014-05-29 | Transmission method and device based on management data input/output multi-source agreements |
PCT/CN2014/078768 WO2014180414A1 (zh) | 2013-10-29 | 2014-05-29 | 基于管理数据输入输出多源协议的传输方法及装置 |
US15/032,580 US10014981B2 (en) | 2013-10-29 | 2014-05-29 | Transmission method and device based on management data input/output multi-source agreements |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310522735.6A CN104579548B (zh) | 2013-10-29 | 2013-10-29 | 基于管理数据输入输出多源协议的传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104579548A CN104579548A (zh) | 2015-04-29 |
CN104579548B true CN104579548B (zh) | 2019-09-10 |
Family
ID=51866794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310522735.6A Active CN104579548B (zh) | 2013-10-29 | 2013-10-29 | 基于管理数据输入输出多源协议的传输方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10014981B2 (zh) |
EP (1) | EP3065323B1 (zh) |
CN (1) | CN104579548B (zh) |
WO (1) | WO2014180414A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109683960B (zh) * | 2018-12-21 | 2021-03-30 | 深圳市源拓光电技术有限公司 | 一种电口模块的寄存器配置方法及其电口模块 |
CN111367943A (zh) * | 2018-12-26 | 2020-07-03 | 中兴通讯股份有限公司 | 数据传送的校验方法、***、计算机设备及存储介质 |
US11442852B2 (en) * | 2020-06-25 | 2022-09-13 | Western Digital Technologies, Inc. | Adaptive context metadata message for optimized two-chip performance |
CN115484130B (zh) * | 2022-08-31 | 2023-11-03 | 江苏奥立信数字科技有限公司 | 物联网网关以及用于该物联网网关的空压在线存储*** |
CN115587055A (zh) * | 2022-12-12 | 2023-01-10 | 奉加微电子(昆山)有限公司 | 总线的传输方法、***、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996350A (zh) * | 2006-12-20 | 2007-07-11 | 杭州华为三康技术有限公司 | 光模块的电子标签、制作和识别方法及识别装置 |
CN101018186A (zh) * | 2005-12-28 | 2007-08-15 | 索尼株式会社 | 信息处理装置、信息处理方法、信息处理程序和记录介质 |
JP2008118349A (ja) * | 2006-11-02 | 2008-05-22 | Oki Electric Ind Co Ltd | 通信装置 |
CN102237983A (zh) * | 2010-05-06 | 2011-11-09 | 中兴通讯股份有限公司 | 非帧结构通讯***中文件传输方法、发送装置和接收装置 |
CN102238055A (zh) * | 2010-05-06 | 2011-11-09 | 中兴通讯股份有限公司 | 基于mdio接口的下载方法及*** |
US8200473B1 (en) * | 2008-08-25 | 2012-06-12 | Qlogic, Corporation | Emulation of multiple MDIO manageable devices |
CN102916776A (zh) * | 2012-10-15 | 2013-02-06 | 青岛海信宽带多媒体技术有限公司 | 光模块参数传输方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719890A (en) * | 1995-06-01 | 1998-02-17 | Micron Technology, Inc. | Method and circuit for transferring data with dynamic parity generation and checking scheme in multi-port DRAM |
US7535907B2 (en) * | 2005-04-08 | 2009-05-19 | Oavium Networks, Inc. | TCP engine |
US7376780B2 (en) * | 2005-10-31 | 2008-05-20 | Lsi Corporation | Protocol converter to access AHB slave devices using the MDIO protocol |
JP5537462B2 (ja) * | 2011-02-24 | 2014-07-02 | 株式会社日立製作所 | 通信ネットワークシステム及び通信ネットワーク構成方法 |
-
2013
- 2013-10-29 CN CN201310522735.6A patent/CN104579548B/zh active Active
-
2014
- 2014-05-29 WO PCT/CN2014/078768 patent/WO2014180414A1/zh active Application Filing
- 2014-05-29 EP EP14795226.1A patent/EP3065323B1/en active Active
- 2014-05-29 US US15/032,580 patent/US10014981B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101018186A (zh) * | 2005-12-28 | 2007-08-15 | 索尼株式会社 | 信息处理装置、信息处理方法、信息处理程序和记录介质 |
JP2008118349A (ja) * | 2006-11-02 | 2008-05-22 | Oki Electric Ind Co Ltd | 通信装置 |
CN1996350A (zh) * | 2006-12-20 | 2007-07-11 | 杭州华为三康技术有限公司 | 光模块的电子标签、制作和识别方法及识别装置 |
US8200473B1 (en) * | 2008-08-25 | 2012-06-12 | Qlogic, Corporation | Emulation of multiple MDIO manageable devices |
CN102237983A (zh) * | 2010-05-06 | 2011-11-09 | 中兴通讯股份有限公司 | 非帧结构通讯***中文件传输方法、发送装置和接收装置 |
CN102238055A (zh) * | 2010-05-06 | 2011-11-09 | 中兴通讯股份有限公司 | 基于mdio接口的下载方法及*** |
CN102916776A (zh) * | 2012-10-15 | 2013-02-06 | 青岛海信宽带多媒体技术有限公司 | 光模块参数传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104579548A (zh) | 2015-04-29 |
EP3065323A4 (en) | 2016-11-16 |
EP3065323A1 (en) | 2016-09-07 |
WO2014180414A1 (zh) | 2014-11-13 |
US20160277151A1 (en) | 2016-09-22 |
US10014981B2 (en) | 2018-07-03 |
EP3065323B1 (en) | 2018-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104579548B (zh) | 基于管理数据输入输出多源协议的传输方法及装置 | |
CN104461903B (zh) | 基于浏览器的测试客户端的方法和装置 | |
CN105162868B (zh) | 一种教师端与学生端之间的可靠数据传输方法 | |
CN106843942A (zh) | 穿戴式设备的固件升级方法及穿戴式设备 | |
CN107404418B (zh) | 互联网产品测试方法、装置、设备及存储介质 | |
KR20170034424A (ko) | 컴퓨터 시스템에서의 메모리 쓰기 관리 | |
CN106878164A (zh) | 一种报文传输方法和装置 | |
CN104317716B (zh) | 分布式节点间的数据传输方法及分布式节点设备 | |
CN109871312A (zh) | 一种接口测试方法、装置、设备及可读存储介质 | |
CN108292254A (zh) | 用于验证设备的操作的技术 | |
CN108632020A (zh) | 数据发送方法、接收方法及装置 | |
CN108111929A (zh) | 一种基于Python自动化测试的方法、***及测试终端 | |
CN103984633B (zh) | 一种银行主机下传作业的自动化测试*** | |
CN107168832A (zh) | 自动检测的方法、装置 | |
CN115116530A (zh) | 存储器的校验管脚处理方法、装置、设备和存储介质 | |
US20090103443A1 (en) | Loopback configuration for bi-directional interfaces | |
US11163579B2 (en) | Instruction generation based on selection or non-selection of a special command | |
CN110297764A (zh) | 漏洞测试模型训练方法和装置 | |
CN104536884B (zh) | 代码测试方法和装置 | |
CN109450761A (zh) | 一种多功能1553b通信模块 | |
CN106372026A (zh) | 一种链路检测方法和接收设备 | |
CN106257257B (zh) | 一种检测光模块星座图的方法、装置及虚拟矢量分析仪 | |
CN112527678A (zh) | 用于测试协议的方法、装置、设备以及存储介质 | |
CN113852610B (zh) | 报文处理方法、装置、计算机设备和存储介质 | |
CN113835946B (zh) | 数据交换的压力测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190809 Address after: Yuhuatai District of Nanjing City, Jiangsu province 210012 Bauhinia Road No. 68 Applicant after: Nanjing Zhongxing New Software Co., Ltd. Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice Applicant before: ZTE Corporation |
|
GR01 | Patent grant | ||
GR01 | Patent grant |