[发明专利]一种循环冗余校验CRC码的实现方法和装置无效
申请号: | 200910132682.0 | 申请日: | 2009-04-07 |
公开(公告)号: | CN101527615A | 公开(公告)日: | 2009-09-09 |
发明(设计)人: | 张玉琳 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L1/00 | 分类号: | H04L1/00 |
代理公司: | 北京中博世达专利商标代理有限公司 | 代理人: | 申 健 |
地址: | 518129广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 循环 冗余 校验 crc 实现 方法 装置 | ||
技术领域
本发明涉及通信系统中的差错控制技术,尤其涉及一种循环冗余校验CRC码的实现方法和装置。
背景技术
为保证通信系统中数据传输的正确性,需要对通信过程进行差错控制。循环冗余校验(Cyclic Redundancy Check,CRC),由于其编码简单且误判概率很低,是通信系统中常用的差错控制方式。
CRC是分组线性码的分支,基本的原理是利用线性编码理论,在发送端根据要传送的k位信息码序列,以一定的规则产生r位校验用的监督码(即CRC码),并附在原信息码序列后边,构成一个新的共(k+r)位的序列,然后将包含了CRC码的新的序列发送出去。在接收端,则根据信息码序列和CRC码之间所遵循的规则进行检验,以确定传送中是否出错。
例如,待传送的k位二进制信息码序列为D={d[p-1]d[p-2]......d[1]d[0]},通过将序列D左移r位,除以一个(r+1)位的生成多项式,得到r位的余式R={r[r-1]r[r-2]......r[1]r[0]},将余式R作为序列D的CRC码,生成(k+r)位的新的二进制码序列M={d[p-1]d[p-2]......d[1]d[0]r[r-1]r[r-2]......r[1]r[0]},进行传输。
在实际应用中,CRC码可以通过硬件逻辑电路来实现,典型的实现电路有串行电路和并行电路。串行电路计算CRC码时是逐位地进行计算,例如,如图1(a)所示,对于4位的CRC码(CRC-4),首先将四个寄存器清0;然后,把信息序列码元作为输入数据,串行的移位输入,即每个时钟周期输入一个比特信息序列码元。经过4个时钟周期以后,就可以将信息码元的前4比特输入到寄存器中。后续将寄存器中的数据逐位左移并与输入的信息码元异或,计算CRC码。如图1(b)所示,以生成多项式为x4+x+1的CRC-4为例,显示了一种无需等待信息码元移入寄存器之后再计算CRC码的串行电路。
并行电路的实现是基于上述串行电路的,其原理是:由于n位信息码同时输入并行电路所产生的CRC余数与n位信息码逐位输入串行电路产生的CRC余数相同,所以可以认为并行电路和串行电路是等效的,从而根据串行电路中各寄存器和输入信息位的变化可得出并行电路的逻辑关系式。利用并行电路可一次输入n位待传送的信息码,通过多次输入n位信息码最终可以得到该信息码序列的CRC校验码。如图2所示,显示了一种通用的并行电路。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
现有技术中基于线反馈移位寄存器的串行电路每个时钟周期只能移入1比特数据,效率非常低,只能用在对性能要求较低的低速CRC校验电路中,当需要高速的CRC数据校验处理时,串行电路无法满足要求;
现有技术中的并行电路进行多位数据并行处理时,随着并行数据位宽的不断增加,并行电路所用到的异或逻辑电路层次也越来越大,导致相应的电路延迟过大,电路的时钟频率越来越低。由于电路的运算性能或数据吞吐率是与电路的时钟频率和数据位宽成正比的,现有技术在增加数据处理位宽时降低了电路的时钟频率,从而无法通过并行数据位宽的线性增加使电路的性能或数据的吞吐率也线性的增加,当需要处理高速CRC数据时,现有技术中的并行电路也是无法满足需求的。
发明内容
为解决现有技术中存在的问题,本发明的实施例提供了一种循环冗余校验CRC码的实现方法和装置,能够显著提高实现CRC码时系统的运算性能,满足高速CRC数据处理时的运算需求。
为达到上述目的,本发明的实施例采用如下技术方案:
一种循环冗余校验CRC码的实现方法,所述方法包括:
对并行输入的信息码进行至少一次异或,且在所述异或过程中进行至少一次流水,获取第一结果;
将前一次获得的CRC码进行异或,得到第二结果;
将所述第二结果和所述第一结果进行异或,获取当前的CRC码。
一种循环冗余校验CRC码的实现装置,所述装置包括:
信息码异或单元,用于对并行输入的信息码进行至少一次异或,且在所述异或过程中进行至少一次流水,获取第一结果;
CRC码异或单元,用于将前一次获得的CRC码进行异或,得到第二结果;
CRC码获取单元,用于将所述信息码异或单元获取的第一结果和所述CRC码异或单元获取的第二结果进行异或,获取当前的CRC码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910132682.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于单向杂凑函数的记录系统与方法
- 下一篇:圆极化天线中继器及其通讯方法