用于光纤通道的循环冗余校验方法技术

技术编号:11138087 阅读:101 留言:0更新日期:2015-03-12 16:26
本发明专利技术属于高速数据通信技术领域,具体涉及一种用于光纤通道的循环冗余校验方法,其能够依据光纤通道协议对光纤通道数据进行校验。其包括:上层模块控制光纤通道CRC校验的开始与停止,并将给出待校验的光纤通道数据提交给CRC校验模块进行CRC校验;CRC校验模块包括:数据变换模块、CRC余数计算模块、余数比较模块;数据变换模块接收上层模块传来的光纤通道数据,检测所接收到的光纤通道数据是否为有效数据;CRC余数计算模块根据如下CRC32校验公式进行迭代运算;余数比较模块将运算结果与光纤通道协议规定的CRC校验用数据比较,将比较结果上报上层模块。该方案具有较低的延迟,能够满足8Gbps以上的通信速率要求。

【技术实现步骤摘要】

本专利技术属于高速数据通信
,具体涉及一种用于光纤通道的循环冗余校验方法,其能够依据光纤通道协议对光纤通道数据进行校验。
技术介绍
循环冗余交换(Cyclic Redundancy Check,CRC)是一种常用的数据校验技术,在数据通信领域中应用广泛。CRC技术将需要传输的每一位数据按照一定的计算方式进行运算,并将结果作为校验码添加的数据流后一起传输,接收方通过相同的计算方法对接收到的数据进行计算,将结果与规定的码字进行比较,从而确定数据传输的正确性。光纤通道是一种高速数据通信技术,为了确保发现光纤通道数据在传输过程的错误,需要对传输的数据进行校验,光纤通道协议采用了CRC32交换方式。光纤通道传输速度在1G以上,因此对光纤通道数据进行校验一般采用硬件实现。
技术实现思路
(一)要解决的技术问题本专利技术要解决的技术问题是:如何提供一种光纤通道数据校验方法,要求其利用CRC校验方法和装置对接收到的光纤通道数据帧进行校验。(二)技术方案为解决上述技术问题,本专利技术提供一种用于光纤通道的循环冗余校验方法,其包括:步骤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表示校验错误,并将比较结果上报上层模块。(三)有益效果与现有技术相比较,本专利技术具备如下有益效果:该方案可以根据光纤通道协议对光纤通道数据进行校验,并且具有较低的延迟,能够满足8Gbps以上的通信速率要求。附图说明图1是本专利技术装置示意图。图2是CRC32校验电路示意图。具体实施方式为使本专利技术的目的、内容、和优点更加清楚,下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。为解决现有技术的问题,本专利技术提供一种用于光纤通道的循环冗余校验方法,其包括:步骤S1:上层模块控制光纤通道CRC校验的开始与停止,并将给出待校验的光纤通道数据提交给CRC校验模块进行CRC校验,数据位宽为32位,数据长度为M;上层模块依据光纤通道协议帧定界符判断一帧数据的开始和结束,当上层模块检测到SOF定界符时,表示一个光纤通道帧的开始,此时产生CRC校验开始信号,并将此后接收到的光纤通道数据依次发送给CRC校验模块;当上层模块检测到EOF定界符时,表示一个光纤通道帧的结束,此时停止向CRC校验模块发送数据并产生CRC校验停止信号;如图1所示,所述CRC校验模块包括:数据变换模块、CRC余数计算模块、余数比较模块;步骤S2:CRC校验模块接收到上层模块的CRC校验开始信号时启动;具体由所述数据变换模块接收上层模块传来的光纤通道数据,检测所接收到的光纤通道数据是否为紧随CRC校验开始信号而来的有效数据,若是,则判断其为第一个有效数据,将该有效数据取反并提交给CRC余数计算模块;若否,则判断其不为第一个有效数据,将该有效数据直接提交给CRC余数计算模块;步骤S3:CRC余数计算模块将经过数据变换模块变换后的有效数据根据如下CRC32校验公式进行迭代运算,该CRC32校验公式所基于的CRC32校验电路如图2所示;其中,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^Din...

【技术保护点】
一种用于光纤通道的循环冗余校验方法,其特征在于,其包括:步骤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表示校验错误,并将比较结果上报上层模块。...

【技术特征摘要】
1.一种用于光纤通道的循环冗余校验方法,其特征在于,其包
括:
步骤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校验公式具体为:
D3...

【专利技术属性】
技术研发人员:秦刚刚王刚刘剑锋
申请(专利权)人:中国航天科工集团第三研究院第八三五七研究所
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1