发明名称 用于光纤通道的循环冗余校验方法
摘要 本发明属于高速数据通信技术领域,具体涉及一种用于光纤通道的循环冗余校验方法,其能够依据光纤通道协议对光纤通道数据进行校验。其包括:上层模块控制光纤通道CRC校验的开始与停止,并将给出待校验的光纤通道数据提交给CRC校验模块进行CRC校验;CRC校验模块包括:数据变换模块、CRC余数计算模块、余数比较模块;数据变换模块接收上层模块传来的光纤通道数据,检测所接收到的光纤通道数据是否为有效数据;CRC余数计算模块根据如下CRC32校验公式进行迭代运算;余数比较模块将运算结果与光纤通道协议规定的CRC校验用数据比较,将比较结果上报上层模块。该方案具有较低的延迟,能够满足8Gbps以上的通信速率要求。
申请公布号 CN104410477A 申请公布日期 2015.03.11
申请号 CN201410707150.6 申请日期 2014.11.27
申请人 中国航天科工集团第三研究院第八三五七研究所 发明人 秦刚刚;王刚;刘剑锋
分类号 H04L1/00(2006.01)I;H04B10/07(2013.01)I 主分类号 H04L1/00(2006.01)I
代理机构 中国兵器工业集团公司专利中心 11011 代理人 刘东升
主权项 一种用于光纤通道的循环冗余校验方法,其特征在于,其包括:步骤S1:上层模块控制光纤通道CRC校验的开始与停止,并将给出待校验的光纤通道数据提交给CRC校验模块进行CRC校验,数据位宽为32位,数据长度为M;上层模块依据光纤通道协议帧定界符判断一帧数据的开始和结束,当上层模块检测到SOF定界符时,表示一个光纤通道帧的开始,此时产生CRC校验开始信号,并将此后接收到的光纤通道数据依次发送给CRC校验模块;当上层模块检测到EOF定界符时,表示一个光纤通道帧的结束,此时停止向CRC校验模块发送数据并产生CRC校验停止信号;所述CRC校验模块包括:数据变换模块、CRC余数计算模块、余数比较模块;步骤S2:CRC校验模块接收到上层模块的CRC校验开始信号时启动;具体由所述数据变换模块接收上层模块传来的光纤通道数据,检测所接收到的光纤通道数据是否为紧随CRC校验开始信号而来的有效数据,若是,则判断其为第一个有效数据,将该有效数据取反并提交给CRC余数计算模块;若否,则判断其不为第一个有效数据,将该有效数据直接提交给CRC余数计算模块;步骤S3:CRC余数计算模块将经过数据变换模块变换后的有效数据根据如下CRC32校验公式进行迭代运算,其中,Din为数据变换模块提供的光纤通道数据;所述CRC32校验公式具体为:D31=D30D30=D29D29=D28D28=D27D27=D26D26=D25^D31^DinD25=D24D24=D23D23=D22^D31^DinD22=D21^D31^DinD21=D20D20=D19D19=D18D18=D17D17=D16D16=D15^D31^DinD15=D14D14=D13D13=D12D12=D11^D31^DinD11=D10^D31^DinD10=D9^D31^DinD9=D8D8=D7^D31^DinD7=D6^D31^DinD6=D5D5=D4^D31^DinD4=D3^D31^DinD3=D2D2=D1^D31^DinD1=D0^D31^DinD0=D31^Din步骤S4:CRC校验模块根据上层模块的CRC校验停止信号停止CRC校验模块的工作;具体由CRC余数计算模块根据上层模块提供的CRC校验停止信号,将步骤S3中余数迭代运算的结果提交给余数比较模块;余数比较模块将运算结果与光纤通道协议规定的CRC校验用数据0xHC704DD7B进行比较,如果相同输出数据1表示校验正确,如果不同输出数据0表示校验错误,并将比较结果上报上层模块。
地址 300308 天津市东丽区空港经济区保税路357号