循环冗余码(CRC)及计算方法
循环冗余码(CRC)是一种用于错误检测的校验算法,它利用除法及余数的原理来进行错误侦测。CRC校验算法包括三个部分:要发送的数据(或接收的数据)、生成多项式、FCS帧校验序列(冗余码)。
计算CRC的步骤如下:
1. 确定生成多项式的最高次项次数。
2. 将生成多项式转换为二进制数。
3. 计算冗余位,即在发送的数据后面添加0的个数。
4. 进行模二除法,将发送的数据加上冗余位后除以生成多项式,得到余数。
5. 如果余数位数不足,需要在余数前补0以满足冗余位的个数。
6. 将冗余码加上数据码,得到要发送的数据。
在接收方收到数据后,将收到的数据加上FCS帧校验序列后,将结果除以生成多项式。如果得到的余数为0,则校验成功,认为数据完整。如果不为0,则校验失败,丢弃数据。