[发明专利]一种高速以太网中并行循环冗余校验方法及装置有效
申请号: | 201210230530.6 | 申请日: | 2012-07-03 |
公开(公告)号: | CN102752081A | 公开(公告)日: | 2012-10-24 |
发明(设计)人: | 梁凯平;王兆明 | 申请(专利权)人: | UT斯达康通讯有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00;H04L12/56 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 杨天娇 |
地址: | 310052 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高速 以太网 并行 循环 冗余 校验 方法 装置 | ||
技术领域
本发明涉及通信及计算机数据传输差错控制技术领域,特别是涉及一种高速以太网通信中并行的循环冗余校验计算方法。
背景技术
在数据通信中,一般将数据分组传输,在其后附加帧校验序列(FCS,Frame Check Sequence)进行差错控制编码,以保证传输的正确性。在帧校验序列的实现中,循环冗余校验码CRC(Cyclic RedundancyCode)以其高效率、高性能获得了广泛应用,是目前数据传输过程中普遍采用的一种提高数据通信可靠性的方法。
在实时高速通信系统中,传统基于位的串行CRC的产生和校验电路早就已经不能满足信息处理高速化、并行化的要求。必须采用并行的CRC校验来提高CRC的校验速度,大部分并行CRC校验计算方法都是通过CRC的生成多项式,推导出校验值的前一状态和下一个状态的的矩阵运算关系,进行N次的矩阵运算可以得出第N个状态和第0个状态的关系,即可以实现N位的并行处理,满足高速带宽的需求。
在数据通信系统内部,以太网数据包一般都比较庞大,需要分成N拍并行传输,在内部并行处理一般用芯片或者FPGA,工程师一般会根据芯片或FPGA能达到频率设置合理的位宽来达到提高芯片处理速度的目的。由于以太网数据包的长度是随机的,这样导致最后一拍的数据长度也是不固定。以10Gbps高速以太网为例,数据位宽采用64比特才能达到处理要求。此时计算CRC值,采用64位CRC32并行计算电路,对于最后一拍长度不固定,有1~7多种情况,因此进行CRC校验时根据最后一拍的有效数据位数使用8,16,24,32,40,48,56,64位的并行CRC32校验模块进行计算,往往要占用比较多的逻辑资源,时序要求也满足不了,这个也成为高速以太网系统中的瓶颈。所以很有必要找到其他方法能够简化它的处理,最好只适用一种位宽的校验单元。
公开号为CN 102158316A的中国发明专利申请公开了一种64bit位宽的并行CRC32校验方法及装置,对数据帧以64bit进行位宽匹配,若判断出数据帧不足64bit,则将预设的56bit数据中低8i比特数据填充比特添加到数据帧的尾部,得到64bit数据,然后对其采用64位CRC32模块进行计算,然后将得到的校验结果与填充比特对应的CRC校验值进行比较来进行判断。这种类似的方法都是采用填充法,然后进行比对来进行CRC校验,但是这类方法在设计后都只能适合固定64位的CRC校验,适用范围窄。
发明内容
本发明的目的是提供一种并行循环冗余校验方法及装置,以解决现有技术中占用较多逻辑资源及使用范围窄的问题。
一种高速以太网中并行循环冗余校验方法,应用于循环冗余校验CRC模块进行并行循环冗余校验,包括;
步骤1、对数据帧以预设位宽进行位宽匹配;
步骤2、将匹配后的数据流送入通用的预设位宽并行循环冗余校验模块进行计算得到校验值;
步骤3、根据最后一拍的有效数据位数,对步骤2计算得到的校验值进行逆运算,得到最终的CRC校验结果。
进一步地,所述步骤3包括:
读取最后一拍的有效数据位数信息,决定逆运算的次数;
提取当前状态前8比特无效数据;
进行8位逆运算;
若逆运算次数未完,继续提取当前状态前8比特无效数据,进行逆运算,直到完成逆运算,得到最终的CRC校验结果。
进一步地,所述预设位宽为64位,所述预设位宽并行循环冗余校验模块为64位CRC32模块。
进一步地,所述8位逆运算公式为:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于UT斯达康通讯有限公司,未经UT斯达康通讯有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210230530.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一次性布盆自动成型机
- 下一篇:锌空气电池用锌膏及其制备方法