基于管理数据输入输出多源协议的传输方法及装置的制造方法

文档序号:8265156阅读:438来源:国知局
基于管理数据输入输出多源协议的传输方法及装置的制造方法
【技术领域】
[0001]本发明涉及通讯技术,尤其涉及一种基于CFP管理数据输入输出(MD10,Management Data 1即111:/01^口111:)多源协议(]\^4,]\11111:1 Source Agreement)的传输方法及
>J-U ρ?α装直。
【背景技术】
[0002]目前,在基于通讯协议的数据传输场景下,例如基于管理数据输入输出(MD10,Management Data Input/Output)多源协议(MSA,Multi Source Agreement)没有对读写操作中传送的数据进行即时校验,在通讯中,一旦发生数据传输错误,可能会造成无法估计的结果。例如:设置通道波长时发生错误,当希望将通道波长设置成第4波,由于传输中出现干扰,有可能接收成第6波,这样合波后第四波没有信号,第六波是两路叠加的信号,接收方将无法有效接收。导致两路信号业务中断。
[0003]本申请发明人在实现本申请实施例技术方案的过程中,至少发现现有技术中存在如下技术问题:
[0004]实际工作中MD1通讯由于没有握手校验机制,经常会发生报文错误,或报文丢失,而主机却不知道,也无法及时纠正。
[0005]如图1所示为用于MD1通讯的MD1命令帧,对MD1命令帧结构进行简单说明如下:
[0006]使用IEEE 802.3定义的数据帧结构进行通讯。每帧全部长度64位,前32位为前导码(Preamble),后32位为地址帧或命令帧。32位前导码为主机向光模块发送的连续32个逻辑“I”比特。帧和帧之间为空闲状态(Idle)。
[0007]MD1帧命令体由6部分组成,具体如下:
[0008]——ST:开始位(2bit);
[0009]-OP:操作码(2bit);
[0010]——PHYADR:物理端口地址(5bit),其中地址值“ObOOOOO”为广播地址;
[0011 ] -DEVADD:MD10 器件地址;
[0012]-TA:状态转换(turn around)码(2bit);对于读操作,主机和光模块保持MD1
数据线在TA的第一个比特为高阻态,TA的第二个比特由光模块置为逻辑“0”,主机开始数据发送;对于写操作,主机将驱动TA的两个比特为“OblO”,开始对光模块执行写数据操作;
[0013]——16-bit地址或数据:MD10帧结构中的数据净荷域。
[0014]MD1的通讯方式分为读操作,连续读操作,写操作。
[0015]综上所述,由于在通讯时没有校验机制,因此导致主机与光模块间出现传输错误也无法及时纠正的问题,针对这个问题尚未存在有效的解决方案。

【发明内容】

[0016]有鉴于此,本发明的主要目的在于提供一种基于CFP MD1 MSA的传输方法及装置,通讯时有校验机制,至少解决了主机与光模块间出现传输错误也无法及时纠正的问题,提高了通讯可靠性。
[0017]为达到上述目的,本发明的技术方案是这样实现的:
[0018]本发明实施例提供了一种基于管理数据输入输出多源协议的传输方法,包括:
[0019]发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
[0020]所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。
[0021]较佳地,执行所述读数据操作情况下,
[0022]所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值;
[0023]所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址,光模块将计算得到的校验值写入所述第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
[0024]较佳地,执行所述连续读数据操作情况下,
[0025]所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据,主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;
[0026]光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址;
[0027]主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
[0028]较佳地,执行所述写数据操作情况下,
[0029]所述帧携带的操作码包含第一地址码时,指示写操作的第一寄存器地址;所述帧携带的操作码包含第一写操作码时,指示需写入的第一寄存器数据;在光模块侧根据所述第一寄存器地址和所述第一寄存器数据计算校验值;
[0030]所述帧携带的操作码包含第二地址码时,指示第二寄存器地址,所述第二寄存器地址为主机计算得到校验值存放的寄存器地址;所述帧携带的操作码包含第二写操作码时,指示将主机计算得到校验值写入第二寄存器地址中;在光模块侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述写数据操作。
[0031 ] 本发明实施例还提供了一种基于管理数据输入输出多源协议的传输装置,包括:
[0032]传输模块,用于发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作;
[0033]校验及决策模块,用于所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。
[0034]较佳地,执行所述读数据操作情况下,
[0035]所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;
[0036]所述校验及决策模块,进一步用于在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值;
[0037]所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;
[0038]所述校验及决策模块,还用于指示读操作的第二寄存器地址时,光模块将计算得到的校验值写入所述第二寄存器地址;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
[0039]较佳地,执行所述连续读数据操作情况下,
[0040]所述传输模块,进一步用于所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据;
[0041]所述校验及决策模块,进一步用于主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址;
[0042]所述校验及决策模块,还用于主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
[0043]较佳地,执行所述写数据操作情况下,
[0044
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1