CRC学习总结

一、CRC计算过程概述

  1. 对于每一种CRC校验,都有一个生成多项式,如CRC-8校验,
    ploy=x8+x2+x1+1,
    无论哪一种CRC校验,其最高指数位和最低指数位的因数都是1.
    用一段二进制数表示上式:1_0000_0111,由于CRC计算时最高位1与seed最高位计算时钟为0,会自动消去,因此一般把对高位舍去,写成0x07,但是手动计算时还是要把这个1加上。
  2. 对于待校验的数据seed,先在其后面部k个0(k为生成多项式的最高次幂),然后将得到的数据和生成多项式异或,直到除尽,舍去商,得到的余数(位宽等于生成多项式的最高次幂)加在seed后面即为CRC校验值。接收端再根据接收到的数据进行校验,结果为0表示结果正确。
    如:ploy=0x17(即x8+x2+x1+1);seed=0x96;
    step1:补0 0x96后补8个0得到0x9600;
    step2:模除(按位进行异或
    在这里插入图片描述
    step3:将EB拼接到原始数据:0X96EB。
  3. 此外还应注意的时CRC有很多标准的计算格式,其中的一些参数有如下含义:
    REFIN:输入数据反转,将输入的数据按照字节内反转。比如输入0x05
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值