当前位置: 移动技术网 > 科技>人工智能>物联网 > CRC校验原理与计算方法整理

CRC校验原理与计算方法整理

2020年11月26日  | 移动技术网科技  | 我要评论
1、CRC(循环冗余校验)概述 CRC(循环冗余校验)是一种编码技术,主要作用是确保传输的数据准确无误。2、CRC编码原理 CRC编码采用多项式除法的原理,将要传输的信息除以一个预先确定的多项式,得到的余式就是所需的CRC检验码。 假设现在需要发送的信息为1000_0000,CRC生成多项式为g(x) = x^8+x^2+x+1。1、依据CRC生成多项式可知CRC校验码的位宽为(9-1)。2、初始化CRC校验码的值为0,并将其添加到信息后,使信息序列转换为1000_000_...

1、CRC(循环冗余校验)概述

  CRC(循环冗余校验)是一种编码技术,主要作用是确保传输的数据准确无误。

2、CRC编码原理

  CRC编码采用多项式除法的原理,将要传输的信息除以一个预先确定的多项式,得到的余式就是所需的CRC检验码。

  假设需要发送的信息为1000_0000,CRC生成多项式为g(x) = x^8+x^2+x+1(二进制序列为1_0000_0111)。
 1、依据CRC生成多项式可知CRC校验码的位宽为(8=9-1)。

 2、初始化CRC校验码的值为0,并将其添加到信息后,使信息序列转换为1000_0000_0000_0000。

 3、依据“模2运算法”计算CRC校验码,计算步骤如下图所示。每次计算都是消除高次项,然后移入新的数据,再进行下一次计算,直到所有的数据计算完成。

生成多项式__________1_0_0_0_0_0_1_1
1000001111000_0000_0_0_0_0_0_0_0_0 
 1000_0011_1 
 _000_0011_1_0余数
 _000_0000_0_0 
 __00_0011_1_0_0余数
 __00_0000_0_0_0 
 ___0_0011_1_0_0_0余数
 ___0_0000_0_0_0_0 
 _____0011_1_0_0_0_0余数
 _____0000_0_0_0_0_0 
 ______011_1_0_0_0_0_0余数
 ______000_0_0_0_0_0_0 
 _______11_1_0_0_0_0_0_0余数
 _______10_0_0_0_0_1_1_1 
 ________1_1_0_0_0_1_1_1_0余数
 ________1_0_0_0_0_0_1_1_1 
 __________1_0_0_0_1_0_0_1余数

4、CRC计算步骤描述。

  如上图所示,其计算结果可以描述为如下:

  1、初始化crc寄存器的值为1000_0000。

  2、检测crc寄存器的最高位是否为1;

       crc[15]=1;crc = (crc<<1 )^ g(x);

       crc[15]=0;crc = crc<<1;

  3、一直循环8次后,输出CRC校验码。

本文地址:https://blog.csdn.net/gaoyang314613767/article/details/110132086

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网