[发明专利]一种循环冗余校验码生成装置及其构建、生成校验码的方法有效
申请号: | 200910129188.9 | 申请日: | 2009-03-31 |
公开(公告)号: | CN101510780A | 公开(公告)日: | 2009-08-19 |
发明(设计)人: | 叶院红 | 申请(专利权)人: | 炬力集成电路设计有限公司 |
主分类号: | H03M13/09 | 分类号: | H03M13/09 |
代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 李 娟 |
地址: | 519085广东省珠海市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 循环 冗余 校验码 生成 装置 及其 构建 方法 | ||
技术领域
本发明涉及传输数据校验领域,尤其涉及采用并行电路实现低成本的CRC校验码生成技术。
背景技术
CRC(Cyclic Redundancy Code,循环冗余校验码)是数据通信中最常用的一种差错校验码,它能够发现传输数据中的单双位错误、奇数个错误,以及长度小于CRC级数的连续错误。
循环冗余校验方法的原理如下:
任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应,例如:代码110111对应的多项式为X5+X4+X2+X+1。
设发送方要发送的数据对应的多项式为V(x);
发送方和接收方约定一个特征多项式g(x),设该特征多项式的最高次幂为R;
在要发送的数据的末尾添加R个0,则其相应的多项式为M(x)=xRV(x);
用M(x)除以g(x),得到商Q(x)和余式R(x),则M(x)=Q(x)g(x)+R(x);余式R(x)所对应的码值按位取反即为CRC校验码值。
令T(x)=M(x)+R(x),发送方发送T(x)所对应的数据;
设接收方接收到的数据对应的多项式为T′(x),将T′(x)除以g(x),若余式为0(或者是设定的常数),则接收方认为正确接收到发送方发送的数据;否则,认为接收错误。从而达到对接收的信息流进行校验的目的。
通过硬件电路得到CRC校验码,可以加快CRC校验码的计算速度。通常可以采用串行、或者并行两种电路来生成CRC校验码。如图1所示的特征 多项式为g(x)=x16+x12+x5+1、生成16位CRC校验码的串行电路,其中,N0-N15为反相器(逻辑取反电路),在所有信息流都从输入端串行输入后,寄存器(或触发器)R15-R0的输出值即为余式,按位取反后,就得到16位的CRC校验码。
而如图2所示的特征多项式g(x)=x16+x12+x5+1、生成16位CRC校验码的8级并行电路(即CRC-CCITT16并行8级电路),其中,N0-N15为反相器(逻辑取反电路),Y0-Y15为异或门,D0-D7为并行输入端,寄存器(或触发器)R15-R0的输出值即为余式,按位取反后,就得到16位的CRC校验码。根据CCITT(International Consultative Committee for Telephone and Telegraph,国际电话电报咨询委员会)规定,生成CRC-CCITT16类型校验码的现有技术的并行电路中触发器的复位值全为1。
由于图2所示的电路可以从D0-D7并行输入信息流,则该并行电路生成CRC校验码的速度可以是图1中电路的8倍。因此,并行电路生成CRC校验码的速度要大于串行电路。
本发明的发明人发现,现有技术的生成CRC校验码的并行电路采用的反相器较多、硬件成本较高、占用电路空间较大。
发明内容
本发明实施例提供了一种循环冗余校验码生成装置及其构建、生成校验码的方法,用以降低生成CRC校验码的并行电路的成本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于炬力集成电路设计有限公司,未经炬力集成电路设计有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910129188.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:机械分离器
- 下一篇:回收废气中的二氧化碳的二氧化碳回收方法及装置
- 同类专利
- 专利分类