首页 理论教育CRC校验及应用技术

CRC校验及应用技术

【摘要】:CRC码检错能力强,实现容易,是目前应用最广泛的校验方法之一,CRC校验基本工作原理如图2-14所示。图2-14 CRC校验基本工作原理2)将fxk除以生成多项式G,得式中,R为余数多项式。

1.CRC校验的工作原理

CRC校验方法是将要发送的数据比特序列当作一个多项式fx)的系数,在发送方用收发双方预先约定的生成多项式Gx)去除,求得一个余数多项式。将余数多项式加到数据多项式之后发送到接收端。接收端用同样的生成多项式Gx)去除接收数据多项式fx),得到计算余数多项式。如果计算余数多项式与接收余数多项式相同,则表示传输无差错;如果计算余数多项式不等于接收余数多项式,则表示传输有差错,由发送方重发数据,直至正确为止。CRC码检错能力强,实现容易,是目前应用最广泛的校验方法之一,CRC校验基本工作原理如图2-14所示。

2.CRC校验的工作过程

1)在发送端,将发送数据多项式fxxk,其中k为生成多项式的最高幂值,例如CRC-12的最高幂值为12,则发送fxx12;对于二进制乘法来说,fxx12的意义是将发送数据比特序列左移12位,用来存入余数。

978-7-111-55649-7-Chapter02-19.jpg

图2-14 CRC校验基本工作原理

2)将fxxk除以生成多项式Gx),得

978-7-111-55649-7-Chapter02-20.jpg

式中,Rx)为余数多项式。

3)将fxxkRx)作为整体,从发送端通过通信信道传送到接收端。

4)接收端对接收数据多项式f′(x)采用同样的运算,即(www.chuimin.cn)

978-7-111-55649-7-Chapter02-21.jpg

求得计算余数多项式。

5)接收端根据计算余数多项式R′(x)是否等于接收余数多项式Rx)来判断是否出现传输错误。实际的CRC校验码生成是采用二进制模二算法,即减法不借位,加法不进位,这是一种异或操作。

3.CRC生成多项式

CRC生成多项式由协议规定,列入国际标准的生成多项式有

978-7-111-55649-7-Chapter02-22.jpg

生成多项式的结构及检错效果是经过严格的数学分析与实验后确定的。

4.CRC校验实例

假设发送数据位序列为111011,生成多项式位序列为11001。将发送位序列111011(fx))乘以24得1110110000(fxxk),然后除生成多项式位序列11001(Gx)),不考虑借位,按模2运算,得余数位序列为1110(Rx))。