1 / 3
文档名称:

crc标准及计算过程.docx

格式:docx   大小:84KB   页数:3页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

crc标准及计算过程.docx

上传人:小雄 2022/2/22 文件大小:84 KB

下载得到文件列表

crc标准及计算过程.docx

文档介绍

文档介绍:CRC标准及计算过程
根据应用环境与****惯的不同,CRC又可分为以下几种标准:
©CRC-8 码:
©CRC-12 码;
CRC-16 码:
CRC-CCITT 码;
CRC-32 码。
CRC-12码通常用来传送6-bit字符CRC标准及计算过程
根据应用环境与****惯的不同,CRC又可分为以下几种标准:
©CRC-8 码:
©CRC-12 码;
CRC-16 码:
CRC-CCITT 码;
CRC-32 码。
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的数据进行异或(异或:二进制运算相同为0,不同为1;0入0=0;0入1=1;1入0=1;1入1=0),
之后对CRC寄存器从高到低进行移位,在最高位(MSB)的位置补零,而最低位(LSB,移位 后已经被移出CRC寄存器)如果为1,则把寄存器与预定义的多项式码进行异或,否则如果LSB为零, 则无需进行异或。重复上述的由高至低的移位8次,第一个8-bit数据处理完毕,用此时CRC寄存 器的值与下一个8-bit数据异或并进行如前一个数据似的8次移位。所有的字符处理完成后CRC寄 存器内的值即为最终的CRC值。
计算过程
设置CRC寄存器,并给其赋值FFFF(hex)。
将数据的第一个8-bit字符与16位CRC寄存器的低8位进行异或,并把结果存入CRC 寄存器。
CRC寄存器向右移一位,MSB补零,移出并检查LSB。
如果LSB为0,重复第三步;若LSB为1, CRC寄存器与多项式码相异或。
重复第3与第4步直到8次移位全部完成。此时一个8-bit数据处理完毕。
重复第2至第5步直到所有数据全部处理完成。
最终CRC寄存器的内容即为CRC值。
常用的CRC循环冗余校验标准多项式如E
CRC( 8 位)=X8 + X2 + XI + 1
CRC(12 位)=X12+X11+X3+X2+X+1
CRC(16 位)=X16+X15+X2+1
CRC(CCITT) = X16+X12 +X5+1
CRC(32 位)=X32+X26+X23+X16+X12+X11+X10+ X8+X7+X5+X4+X2+X+1
以CRC(16位)多项式为例,其对应校验二进制位列为1 1000 0000 0000 010L
注意:这儿列出的标准校验多项式都含有(X+1)的多项式因子;各多项式的系数均为二进制 数,所涉及的四则运算仍遵循对二取模的运算规则。
(注:对二取模的四