CRC校验电路学习笔记(Verilog)

CRC校验电路学习笔记(Verilog)

ID:42308898

大小:529.01 KB

页数:10页

时间:2019-09-12

CRC校验电路学习笔记(Verilog)_第1页
CRC校验电路学习笔记(Verilog)_第2页
CRC校验电路学习笔记(Verilog)_第3页
CRC校验电路学习笔记(Verilog)_第4页
CRC校验电路学习笔记(Verilog)_第5页
资源描述:

《CRC校验电路学习笔记(Verilog)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、CRC校验电路学习笔记CRC即循环冗余校验码(CyclicRedundancyCheck):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。1、循环校验码(CRC码):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。2、生成CRC码的基本原理:任意一个由二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码1010111对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码101111。3、CRC码集选择的原则:若设码字长度为N,信息字段为K位,校验字

2、段为R位(N=K+R),则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x),使得V(x)=A(x)g(x)=xRm(x)+r(x);其中:    m(x)为K次信息多项式,r(x)为R-1次校验多项式,         g(x)称为生成多项式:g(x)=g0+g1x+g2x2+...+g(R-1)x(R-1)+gRxR发送方通过指定的g(x)产生CRC码字,接收方则通过该g(x)来验证收到的CRC码字。4、CRC校验码软件生成方法:借助于多项式除法,其余数为校验字段。例如:信息字段代码为:1011001;对应m(x)=x6+x4+x3+1假设生成多项式为:g(x)=x4+x

3、3+1;则对应g(x)的代码为:11001x4m(x)=x10+x8+x7+x4 对应的代码记为:10110010000;采用多项式除法:  得余数为:1010(即校验字段为:1010)发送方:发出的传输字段为:1011001 1010信息字段校验字段接收方:使用相同的生成码进行校验:接收到的字段/生成码(二进制除法)如果能够除尽,则正确,CRC(CyclicRedundancyCheck)循环冗余校验码  是常用的校验码,在早期的通信中运用广泛,因为早期的通信技术不够可靠(不可靠性的来源是通信技术决定的,比如电磁波通信时受雷电等因素的影响),不可靠的通信就会带来‘确认信息’的困惑,书上

4、提到红军和蓝军通信联合进攻山下的敌军的例子,第一天红军发了条信息要蓝军第二天一起进攻,蓝军收到之后,发一条确认信息,但是蓝军担心的是‘确认信息’如果也不可靠而没有成功到达红军那里,那自己不是很危险?于是红军再发一条‘对确认的确认信息’,但同样的问题还是不能解决,红军仍然不敢贸然行动。  对通信的可靠性检查就需要‘校验’,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不可靠,就丢弃重发或者进行修复。  CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个b

5、it,就称为(n,k)码。它的编码规则是:  1、首先将原信息码(kbit)左移r位(k+r=n)  2、运用一个生成多项式g(x)(也可看成二进制数)用模2除上面的式子,得到的余数就是校验码。  非常简单,要说明的:模2除就是在除的过程中用模2加,模2加实际上就是我们熟悉的异或运算,就是加法不考虑进位,公式是:  0+0=1+1=0,1+0=0+1=1  即‘异’则真,‘非异’则假。 由此得到定理:a+b+b=a也就是‘模2减’和‘模2加’真值表完全相同。  有了加减法就可以用来定义模2除法,于是就可以用生成多项式g(x)生成CRC校验码。例如:g(x)=x4+x3+x2+1,(7,3

6、)码,信息码110产生的CRC码就是:  对于g(x)=x4+x3+x2+1的解释:(都是从右往左数)x4就是第五位是1,因为没有x1所以第2位就是0。  11101

7、110,0000(设a=11101,b=1100000)  取b的前5位11000跟a异或得到101  101加上b没有取到的00得到10100然后跟a异或得到01001也就是余数100110111101 

8、 110,0000111 011 01001 11011001余数是1001,所以CRC码是110,1001标准的CRC码是,CRC-CCITT和CRC-16,它们的生成多项式是:  CRC-CCITT=x^16+x^

9、12+x^5+1CRC-16=x^16+x^15+x^2+1先举个例子:已知信息位为1100,生成多项式G(x)=x3+x+1,求CRC码。M(x)=1100M(x)*x3=1100000G(x)=1011M(x)*x3/G(x)=1110+010/1011R(x)=010CRC码为:M(x)*x3+R(x)=1100000+010=1100010其原理是:CRC码一般在k位信息位之后拼接r位校验位生成。编码步骤如下:(1)将待编码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。