一种计算高速网络中crc值的方法及系统的制作方法_3

文档序号:9399059阅读:来源:国知局
数据切片CRC值计算单元用于:收到计算信号后,采用并行计算CRC算法同时计算 N个数据切片的CRC值,向数据合并单元发送合并信号;
[0089] 数据合并单元用于:收到合并信号后,根据CRC编码器的状态公式,类推计算出与 所有数据切片对应的相对位置系数矩阵,每个数据切片对应一个相对位置系数矩阵;将数 据切片CRC值计算单元计算得到的N个数据切片的CRC值分别输入相对位置系数矩阵,得 到N个输出值;将N个输出值做按位异或运算,合并得到待计算数据块的CRC终值。
[0090] 为了提高计算CRC值的正确率,使得在计算CRC时初始值不为全0的情况下,依然 能够保证所计算的CRC值为正确值,本系统还包括后补偿计算单元,该后补偿计算单元用 于:判断CRC终值是否为正确值,若是,无需进行补偿修正;否则对CRC终值进行补偿修正 计算。
[0091] 其中,后补偿计算单元包括补偿判断子单元和补偿修正子单元;
[0092] 补偿判断子单元用于:判断数据切片CRC值计算单元在计算数据切片的CRC值时, CRC的初始值是否全部为0,若是,表明CRC终值为正确值,无需进行补偿修正;否则,向补偿 修正子单元发送补偿修正信号;
[0093] 补偿修正子单元用于:收到补偿修正信号后,将CRC终值与相对位置系数矩阵的 逆矩阵的M次幂做异或运算,得到待计算数据块的CRC终值的修正值。
[0094] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离 本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护 范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
【主权项】
1. 一种计算高速网络中CRC值的方法,其特征在于,包括以下步骤: A、 判断待计算数据块中,有效净荷的长度是否小于待计算数据块的长度Y,若是,对待 计算数据块进行数据的移位和补〇操作后转入步骤B;否则直接转入步骤B; B、 按照均等的位宽L,将待计算数据块分成N个数据切片,1 = N为正整数,转入 步骤C; C、 采用并行计算CRC算法,同时计算N个数据切片的CRC值,转入步骤D; D、 根据CRC编码器的状态公式计算出与所有数据切片对应的相对位置系数矩阵,每个 数据切片对应一个相对位置系数矩阵;将步骤C中的N个数据切片的CRC值分别输入对应 的相对位置系数矩阵,得到N个输出值;将N个输出值做按位异或运算,合并得到待计算数 据块的CRC终值。2. 如权利要求1所述的计算高速网络中CRC值的方法,其特征在于:在步骤D之后还 包括步骤E:判断CRC终值是否为正确值,若是,无需进行补偿修正,结束;否则对CRC终值 进行补偿修正计算,结束。3. 如权利要求2所述的计算高速网络中CRC值的方法,其特征在于:所述步骤E具体 包括以下步骤:判断步骤C中计算数据切片的CRC值时CRC的初始值是否全部为0,若是, 表明步骤D中合并得到的待计算数据块的CRC终值为正确值,无需进行补偿修正,结束;否 贝1J,将CRC终值与相对位置系数矩阵的逆矩阵的M次幂做异或运算,M为步骤A中补0的个 数,得到待计算数据块的CRC终值的修正值,结束。4. 如权利要求1所述的计算高速网络中CRC值的方法,其特征在于:步骤A中所述进行 数据的移位和补〇操作,具体包括以下步骤:将有效净荷数据移位到待计算数据块的低位; 在待计算数据块的高位补〇。5. 如权利要求1所述的计算高速网络中CRC值的方法,其特征在于:步骤D中所述根 据CRC编码器的状态公式计算出与数据切片对应的N个相对位置系数矩阵,具体包括以下 步骤: 根据1个时钟周期的CRC编码器状态公式D:=TD+Pin,D为CRC编码器的状态初值,T和P为常数矩阵,in为第n个待计算的输入数据,n为正整数,可知: n个时钟周期的CRC编码器状态公式为Dn=TnD+T(n外、2)Pi(n2)+… 设待计算的输入数据位宽为L,则代入上述公式可得: DL=TLD+TL 中紅片俨 2PiL2+TL3PiL3+…(1) 若待计算的输入数据位宽为2L,则有: D2L=t2LD+T2Li+f2Pi2L2+T2L3Pi2L3+…+TLPiL+TL 中紅i+TL2PiL2+TL3PiL3+…+TPh+Pi〇 (2) 在CRC初值为0时,(1)式可以化简为: dl=TL 中紅i+tl2PiL2+TL3PiL3+…(3) 将⑶式带入⑵式得到: D2L=T2LD+T2Lipi2L2Pi2L2+T2L3Pi2L3+…+TLPiL+TLDL (4) 依次类推,若输入数据的位宽为NL,N为切片个数,则: 〇NL=tNL〇+tNLlpi^1+TNL2pi^2+TNL3pi^ 3+...TLpiNL+T(N1)LD(N1)L ⑶ 在式⑶类推到式(5)的过程中,得到的T'T(N 'T(NT'f,即为与数据切 片对应的N个相对位置系数矩阵。6. 如权利要求5所述的计算高速网络中CRC值的方法,其特征在于:所述常数矩阵T是 由CRC标准算法生成多项式输入数据为0时得到的单位系数矩阵。7. 如权利要求6所述的计算高速网络中CRC值的方法,其特征在于:所述常数矩阵T 是由CRC-32生成多项式输入数据为0时得到的单位系数矩阵;其中,CRC-32生成多项式为 G(x) =f+f+P+x'f+^+xn+WxW+f+xVy+x+u』单位系数矩阵t为: 8. -种实现权利要求1至7任一项所述方法的计算高速网络中CRC值的系统,其特征 在于:包括数据移位单元、数据分片单元、数据切片CRC值计算单元、数据合并单元; 所述数据移位单元用于:判断待计算数据块中,有效净荷的长度是否小于待计算数据 块的长度Y,若是,对待计算数据块进行数据的移位和补0操作后,向数据分片单元发送分 片信号;否则直接向数据分片单元发送分片信号; 所述数据分片单元用于:收到分片信号后,按照均等的位宽L,将待计算数据块分成N 个数据切片,NN为正整数,并向数据切片CRC值计算单元发送计算信号; 所述数据切片CRC值计算单元用于:收到计算信号后,采用并行计算CRC算法同时计算N个数据切片的CRC值,向数据合并单元发送合并信号; 所述数据合并单元用于:收到合并信号后,根据CRC编码器的状态公式,类推计算出与 所有数据切片对应的相对位置系数矩阵,每个数据切片对应一个相对位置系数矩阵;将数 据切片CRC值计算单元计算得到的N个数据切片的CRC值分别输入相对位置系数矩阵,得 到N个输出值;将N个输出值做按位异或运算,合并得到待计算数据块的CRC终值。9. 如权利要求8所述的计算高速网络中CRC值的系统,其特征在于:该系统还包括后 补偿计算单元,所述后补偿计算单元用于:判断CRC终值是否为正确值,若是,无需进行补 偿修正;否则对CRC终值进行补偿修正计算。10. 如权利要求9所述的计算高速网络中CRC值的系统,其特征在于:所述后补偿计算 单元包括补偿判断子单元和补偿修正子单元; 所述补偿判断子单元用于:判断数据切片CRC值计算单元在计算数据切片的CRC值时,CRC的初始值是否全部为0,若是,表明CRC终值为正确值,无需进行补偿修正;否则,向补偿 修正子单元发送补偿修正信号; 所述补偿修正子单元用于:收到补偿修正信号后,将CRC终值与相对位置系数矩阵的 逆矩阵的M次幂做异或运算,得到待计算数据块的CRC终值的修正值。
【专利摘要】本发明公开了一种计算高速网络中CRC值的方法及系统,涉及数字通信系统的循环冗余校验技术领域。该方法包括以下步骤:判断待计算数据块中,有效净荷的长度是否小于待计算数据块的长度,若是,对待计算数据块进行数据的移位和补0操作;按照均等的位宽,将待计算数据块分成N个数据切片;采用并行计算CRC算法,同时计算N个数据切片的CRC值;将计算得到的N个数据切片的CRC值分别输入对应的相对位置系数矩阵,得到N个输出值;将N个输出值做按位异或运算,合并得到待计算数据块的CRC终值。本发明能够快速、实时地计算出当前数据的CRC值,满足高速网络线路上数据传输速率要求。
【IPC分类】H04L1/00
【公开号】CN105119694
【申请号】CN201510575502
【发明人】李剑峰, 李光瑜, 胡峰, 海增强, 冯波
【申请人】烽火通信科技股份有限公司
【公开日】2015年12月2日
【申请日】2015年9月11日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1