电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

CRC校验原理1

CRC校验原理1_第1页
1/14
CRC校验原理1_第2页
2/14
CRC校验原理1_第3页
3/14
循环冗余码校验英文名称为Cy clical Redu ndancy Check,简称CRC。它是利用除法及余数的原理来作错误侦测(Error Detecting)的。实际应用时,发送装置计算出CRC 值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC 并与收到的CRC 相比较,若两个CRC 值不同,则说明数据通讯出现错误。 根据应用环境与习惯的不同,CRC 又可分为以下几种标准: ①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 的数据进行异或,之后对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 数据处理完毕。 6.重复第 2 至第 5 步直到所有数据全部处理完成。 7.最终 CRC 寄存器的内容即为CRC 值。 一、循环冗余校验码(CRC) CRC 校验采用多项式编码方法。被处理的数据块可以看作是一个n 阶的二进制多项式,由 。如一个8 位二进制数10110101 可以表示为: 。多项式乘除法运算过程与普通代数多项式的乘除法相同。多项式的加减法运算以2 为模,加减时不进,错位,和逻辑异或运算一致。 采用CRC 校验时,发送方和接收方用同一个生成多项式 g(x ),并且 g(x )的首位和最后一位的系数...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

CRC校验原理1

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部