CDT规约之CRC8校验

本文详细介绍了CDT规约中使用CRC8校验码的原理和计算过程,包括模2除法、生成多项式、校验码生成及校验方法。通过举例说明了如何计算01H的CRC校验码,并提供了两种计算方法,一种直接计算,另一种利用查表优化效率。最后给出建立中间表和查表计算的代码示例,两种方法的校验结果均为0x33。
摘要由CSDN通过智能技术生成

CDT规约中校验码的计算是用的CRC校验。

CRCCyclic Redundancy Check)即循环冗余校验码,是一种很常用的校验码。它有很强的检错、纠错能力,并且实现编码和检码的电路比较简单,常用于串行传送中。

CRC的编码思想是将要传送的n位信息位表示成一个报文多项式M(X),用M(X)除以一个预先约定的生成多项式G(x),得到的余式就是所需的循环冗余校验码。

M(X)最高幂次是(n-1)。G(x)是一个(k+1)位的二进制数,最高幂次是kM(X)左移k位后,除以G(x),会得到k位余数,就是校验位。这里的除法运算是模2除法,即当部分余数首位是1时商取1,反之商取0。然后每一位的减法运算是按位减,不产生借位,实际相当于异或运算。最后得到的CRC校验码一般称为(n+k, n)码。

CRC码存储或传送后,在接收方进行校验过程,以判断数据是否有错,若有错则进行纠错。一个CRC码一定能被生成多项式整除,所以在接收方对码字用同样的生成多项式相除,如果余数为0,则码字没有错误;若余数不为0,则说明某位出错,不同的出错位置余数不同。

在CDT规约中,控制字和信息字都(48,40)码组。生成多项式为
G ( X ) = X 8 + X 2 + X + 1 G(X)=X^8+X^2+X+1 G(X)=X8+X

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值