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

文档序号:8265156阅读:来源:国知局
094]I H->MI I M->H
[0095]<IdleX32-bit PreambleXOOXlOXAAAAAXOOOOlXZOXDDDD DDDD DDDDDDDDXidle〉
[0096]......
[0097]......
[0098]4、读地址8000h+n寄存器的数据(最后一帧)
[0099]第 η+1 帧
[0100]I Η->ΜI I Μ->Η
[0101]<IdleX32-bit PreambleXOOXlOXAAAAAXOOOOlXZOXDDDD DDDD DDDDDDDDXidle〉
[0102]5、发送83FFh寄存器的地址帧
[0103]第n+2 帧
[0104]I H->MI I M->H
[0105]<IdleX32-bit PreambleXOOXOOXAAAAAXOOOOlXlOXlOlI 0110 1111llllXIdle〉
[0106]6、读地址83FFh寄存器的数据
[0107]第n+3 帧
[0108]I H->MI I M->H
[0109]<IdleX32-bit PreambleXOOXllXAAAAAXOOOOlXZOXDDDD DDDD DDDDDDDDXidle〉
[0110]本操作结束。
[0111]应用场景三:写数据操作的情况。
[0112]写数据操作的情况下:加校验的写数据操作由4帧的结构组成,帧用于校验时在主机和光模块分别计算校验值以进行校验操作。主机先发送帧给光模块,第I帧的OP为地址,为了描述方便及便于区分,也可以称为第一地址码,数据净荷域为光模块寄存器地址,为了描述方便及便于区分,也可以称为写操作的第一寄存器地址;第2帧的OP为写操作(ObOl),为了描述方便及便于区分,也可以称为第一写操作码;数据净荷域为要写的寄存器内容;同时,光模块计算出这2帧的CRC-16校验值;第3帧的OP为地址,为了描述方便及便于区分,也可以称为第二地址码,数据净荷域为校验值存放的寄存器地址83FEh,为了描述方便及便于区分,也可以称为写操作的第二寄存器地址;第4帧的OP为写操作,为了描述方便及便于区分,也可以称为第二写操作码,数据净荷域为主机计算出的前2帧的CRC-16的校验值。4帧都发送完毕后,加校验写操作结束。模块将自己计算的校验值与83FEh中的值进行比较。如果有错误,置位A021h的bitO为I。此位将引发告警产生。主机根据告警信息,可重新进行写操作。对此光模块也可以用其他方式通知主机。
[0113]在实际应用中,H指代主机(host), M指代光模块(optical module),写数据操作的示例参数为:
[0114]设置CFP光模块光发送通道。向发送通道设置寄存器MOOh写入期望的波长0012h(第18波)。将计算得到的CRC-16的校验值放入寄存器83FEh。可以分解为下列内容:
[0115]1、发送地址帧MOOh
[0116]第I帧
[0117]I H->M
[0118]〈Idle>〈32-bitPreamble>〈00X00>〈AAAAA>〈00001>〈10>〈1011010000000000>〈Idle>
[0119]2、发送数据帧0012h
[0120]第2帧
[0121]I H->M
[0122]〈Idle>〈32-bitPreamble>〈00X01>〈AAAAA>〈00001>〈10>〈0000000000010010>〈Idle>
[0123]3、发送地址帧83FEh
[0124]第3帧
[0125]I H->M
[0126]<IdleX32-bit PreambleXOOXOOXAAAAAXOOOOlXlOXlOlI 0110 11111110XIdle>
[0127]4、发送数据帧(前2帧数据净荷的CRC-16的校验值)8805h
[0128]第4帧
[0129]I H->M
[0130]<Idle><32-bitPreamble><00><01XAAAAA><00001X10X1000 1000 00000101>〈Idle>
[0131]本操作结束。
[0132]这里需要指出的是,校验值的算法可以有多种形式,不受本文内容的限制,本文采用的是CRC-16。校验值存放的寄存器地址也不限于本文所用地址的寄存器(寄存器地址83FEh),可根据情况选择使用。
[0133]本发明实施例的装置如图3所述,包括传输模块和校验及决策模块,其中传输模块主要用于在主机与光模块之间互传所述帧,即用于发送至少一个帧,主机根据所述帧携带的操作码来指示对光模块执行读数据操作或连续读数据操作或写数据操作。所述校验及决策模块主要用于在主机侧或在光模块侧进行针对帧的校验及决策是否进行重新读数据操作,连续读数据操作及写数据操作的处理,即用于所述帧为至少一个,所述帧用于校验时在所述主机和所述光模块侧分别计算校验值,根据校验值比对的结果判断校验值的正确与否,决定是否需要进行重复所述读数据操作或连续读数据操作或写数据操作。
[0134]具体地,分为以下三个场景分别描述:
[0135]应用场景1:执行所述读数据操作情况。
[0136]所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示读操作的第一寄存器地址;所述帧携带的操作码包含第一读操作码时,指示读出第一寄存器数据;
[0137]相应地,所述校验及决策模块,进一步用于在光模块侧根据读取的所述第一寄存器地址和所述第一寄存器数据计算校验值。
[0138]所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示读操作的第二寄存器地址;所述帧携带的操作码包含第二读操作码时,指示读出第二寄存器地址中的所述校验值;
[0139]相应地,所述校验及决策模块,还用于指示读操作的第二寄存器地址时,光模块将计算得到的校验值写入所述第二寄存器地址;在主机侧将其计算的校验值与从所述第二寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述读数据操作。
[0140]应用场景2:执行所述连续读数据操作情况。
[0141]所述传输模块,进一步用于所述帧携带的操作码包含地址码时,指示连续读操作的寄存器地址;所述帧携带的操作码包含连续读操作码时,指示读出寄存器数据;
[0142]相应地,所述校验及决策模块,进一步用于主机直接连续读取寄存器数据直至后续帧的操作码不为所述连续读操作码为止;光模块在主机连续读取寄存器数据同时根据每一帧读取的寄存器地址和寄存器数据连续计算校验值,每当完成一帧的读取就将计算得到的校验值写入存放校验值的寄存器地址。
[0143]所述校验及决策模块,还用于主机连续读操作结束后,读取存放校验值的寄存器地址,在主机侧将其计算的校验值与从所述存放校验值的寄存器地址读取的校验值进行校验值比对,如果校验值一致,结束当前流程,否则,传输有误,需重复所述连续读数据操作。
[0144]应用场景3:执行所述写数据操作情况。
[0145]所述传输模块,进一步用于所述帧携带的操作码包含第一地址码时,指示写操作的第一寄存器地址;所述帧携带的操作码包含第一写操作码时,指示需写入的第一寄存器数据;
[0146]相应地,所述校验及决策模块,进一步用于指示需写入的第一寄存器数据;在光模块侧根据所述第一寄存器地址和所述第一寄存器数据计算校验值。
[0147]所述传输模块,还用于所述帧携带的操作码包含第二地址码时,指示第二寄存器地址,所述第二寄存器地址为主机计算得到校验值存放的寄存器地址;所述帧携带的操作码包含第二写操作码时,指示将主机计算得到校验值写入第二寄存器地址中;
[0148]相应地,所述校验及决策模块,还用于在光模块侧将其计算
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1