Posts /

CRC

14 Aug 2020

CRC 循环冗余校验


CRC校验基本思想

在要发送的帧后面附加一组二进制序列。使得新生成的帧能用某个特定的整数通过“模二除法”整除。

在发送端添加了一组余数。到接收端之后需要用同样的整数进行“模二除法”,作为除去余数的过程。如果除法的结构没有余数则数据没有出错。

模二除法:

模2除法”与“算术除法”类似,但它既不向上位借位,也不比较除数和被除数的相同位数值的大小,只要以相同位数进行相除即可。模2加法运算为:1+1=0,0+1=1,0+0=0,无进位,也无借位;模2减法运算为:1-1=0,0-1=1,1-0=1,0-0=0,也无进位,无借位。相当于二进制中的逻辑异或运算。也就是比较后,两者对应位相同则结果为“0”,不同则结果为“1”。如100101除以1110,结果得到商为11,余数为1。

CRC码计算及校验原理的最通俗诠释

CRC计算步骤:

例子

CRC校验常用例子:

1597371959484

复杂例子

1597371985543