[发明专利]循环冗余校验码的生成和数据序列发送、校验方法及装置有效
申请号: | 200610165418.3 | 申请日: | 2006-12-19 |
公开(公告)号: | CN101207467A | 公开(公告)日: | 2008-06-25 |
发明(设计)人: | 张文红 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
主分类号: | H04L1/22 | 分类号: | H04L1/22 |
代理公司: | 北京信远达知识产权代理事务所 | 代理人: | 王学强 |
地址: | 100083*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 循环 冗余 校验码 生成 数据 序列 发送 校验 方法 装置 | ||
技术领域
本发明涉及通信及计算机数据传输技术领域,尤其涉及一种循环冗余校验码的生成和数据序列发送、校验方法及装置。
背景技术
在数据传输过程中,由于受传输距离、现场状况、以及各种干扰等诸多因素的影响,使得通信设备之间的数据传输常会发生一些无法预测的错误。为降低这些错误所带来的不利影响,在数据传输时通常采用数据校验的方法来发现和/或纠正,例如,在发送端的待发送数据中插入特定的校验码,在接收端利用接收到的数据中特定的校验码对数据进行校验,进而判断所述数据在传输中是否有误。
目前,循环冗余校验(CRC,Cyclic Redundancy Check)码是数字信号传输中使用较普遍的一种差错控制编码。所述CRC校验的基本原理是:发送端将待发数据序列N(x)除以某一特定的CRC生成多项式G(x)(如CRC-5、CRC-8、CRC-16、CRC-32等),得到余数R(x),该余数R(x)为CRC校验码。发送端将该CRC校验码置于所述待发数据序列N(x)之后,并随该数据序列N(x)一同发送。接收端将接收到的数据序列N(x)按照与发送端相同的方法,除以同一生成多项式G(x),得到新的CRC校验码。将该新CRC校验码与原CRC校验码进行比较,如果一致,则认为接收的数据序列正确;反之,则认为该数据在传输中有差错,并要求发送端重新发送。
所述CRC校验操作通常采用专用硬件电路实现,但为降低成本,很多系统常利用单片机、微处理器编程或可编程器件来完成。目前常用的CRC校验方法有:
方法一:直接生成法。所述直接生成法是根据所述CRC校验码的生成原理直接计算生成CRC校验码,该方法是将整列待发数据N(x)除以某一特定生成多项式G(x),直到得到最终的结果,生成的余数即所述的CRC校验码。这种方法由于逐位处理,1次只能处理1比特数据,因此处理数据的效率低,且运算量大,不适合对较长数据序列的校验处理。
方法二:查表法。所述查表法是在CRC表项中查找到与数据序列对应的CRC校验码,然后根据该CRC校验码进行校验。该方法首先要求生成一个与待处理数据序列长度同比特的CRC表项,所述表项中包含所有该位数的数据序列和与之对应的CRC校验码。然而,该方法在数据序列较长时,会占用较大的表项资源。例如,如果对20比特的二进制数据序列进行CRC-5校验,则需要的表项的数量为220=1M个,又因为每一个表项占5bit,因此要占用220×5Bit=5M Bit的系统存储空间,这对于一般的可编程逻辑器件FPGA是无法满足的。
发明内容
有鉴于此,本发明的目的在于提供一种占用的存储单元少,而且能够快速处理较多位数数据序列的循环冗余校验码的生成和数据序列发送、校验方法及装置。
为解决上述问题,本发明提供的循环冗余校验码的生成方法,包括:
A、将数据序列顺序分段,建立与所分数据段同比特的循环冗余校验码表项;
B、对首个数据段进行同比特的循环冗余校验码表项的查找,得到r位查找结果;
C、将该查找结果与第二数据段首位起的r位数据进行模二加,并将所得结果取代所述r位数据;
D、将所述数据序列的首个数据段丢弃;
E、重复步骤B至D;直到所述数据序列只剩最后一段时,将该段数据进行相应的循环冗余校验码表项的查找得到循环冗余校验码。
其中,所述步骤A具体为:
当数据序列能够被等分时,将数据序列顺序等分成n比特数据段,建立n比特的循环冗余校验码表项;或
当数据序列不能被等分时,将数据序列按n比特为一段顺序分成若干段,将余出的n1比特数据作为最后一段,建立n、n1比特的循环冗余校验码表项。
其中,在步骤E中所述将该段数据进行相应的循环冗余校验码表项的查找得到循环冗余校验码具体为:
当数据序列能够被等分时,将所述n比特数据进行n比特循环冗余校验码表项的查找得到循环冗余校验码;或
当数据序列不能被等分时,将所述n1比特数据进行n1比特循环冗余校验码表项的查找得到循环冗余校验码。
优选的,所述直到所述数据序列只剩最后一段时具体为:直到所述数据序列长度小于等于n比特时。
优选的,在所述步骤A与所述步骤B之间还包括:设置计数器的初始值为0。
其中,在所述步骤D和步骤E之间还包括:将计数器值加1。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610165418.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:冷冻可食产品
- 下一篇:等离子显示装置及其驱动方法