当前位置:   article > 正文

CRC校验原理与计算方法整理_crc校验码的计算方法

crc校验码的计算方法

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校验码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/835641
推荐阅读
相关标签
  

闽ICP备14008679号