CRC,CRC的基本原理,标准,计算过程,生成步骤
电子元件,电子元器件深圳市创唯电子有限公司
您现在的位置: 首页 > 电子知识 > CRC,CRC的基本原理,标准,计算过程,生成步骤
CRC,CRC的基本原理,标准,计算过程,生成步骤  2011/10/3

目录

  • CRC的基本原理
  • CRC的标准
  • CRC的计算过程
  • CRC码的生成步骤
CRC

CRC的基本原理

  •   基本原理:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。

      校验码的具体生成过程为:假设发送信息用信息多项式C(X)表示,将C(x)左移R位,则可表示成C(x)*2R,这样C(x)的右边就会空出R位,这就是校验码的位置。通过C(x)*2R除以生成多项式G(x)得到的余数就是校验码。

CRC的标准

  •   在国际标准中,根据生成多项式G(x)的不同,CRC又可分为以下几种标准:

      ①CRC-12码:   G(x)=X12+X11+X3+X2+X+1

      ②CRC-16码:   G(x)=X16+X15+X2+1

      ③CRC-CCITT码: G(x)=X16+X12+X5+1

      ④CRC-32码:   G(x)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X1+X+1

      CRC-12码通常用来传送6-bit字符串。CRC-16及CRC-CCITT码则用是来传送8-bit字符,其中CRC-16为美国采用,而CRC-CCITT为欧洲国家所采用。CRC-32码大都被采用在一种称为Point-to-Point的同步传输中。下面以最常用的CRC-16为例来说明其生成过程。

      CRC-16码由两个字节构成,在开始时CRC寄存器的每一位都预置为1,然后把CRC寄存器与8-bit的数据进行异或,之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,否则如果LSB为零,则无需进行异或。重复上述的由高至低的移位8次,第一个8-bit数据处理完毕,用此时CRC寄存器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄存器内的值即为最终的CRC值。

     

CRC的计算过程

  •   1.设置CRC寄存器,并给其赋值FFFF(hex)。

      2.将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC寄存器。

      3.CRC寄存器向右移一位,MSB补零,移出并检查LSB。

      4.如果LSB为0,重复第三步;若LSB为1,CRC寄存器与多项式码相异或。

      5.重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。

与《CRC,CRC的基本原理,标准,计算过程,生成步骤》相关列表
电话:400-900-3095
QQ:800152669
库存查询
Copyright(C) 2011-2021 Szcwdz.com 创唯电子 版权所有 备案号:粤ICP备11103613号
专注电子元件代理销售  QQ:800152669  电子邮件:sales@szcwdz.com  电话:400-900-3095