下面是小编为大家整理的CRC校验最终个人总结(全文),供大家参考。
CRC 校验最终个人总结:
某二进制信息码(kn)
的 CRC 校验需选择一个合适的 g(x) 除数(校验因子)
如: CRC-7 为 X7+X3+1=10001001宽度为 7, 此校验因子根据设计的需求来选择 (如: CRC-32/CRC-16)
。注意, 在计算 CRC 前必须将二进制信息码左移 7 位(kn * 27)
,这里的 7 来源于所选择的检验因子的宽度。
然后, 再与除数进行模 2 运算(从 kn 的最高位开始和除数进行异或运算)
。
最后所剩的宽度为 7 的 7 位余数就是最终 CRC 计算结果 (当计算到只剩7 位余数时就不要再计算了)
。
之后就可以将经过 CRC 校验后的信息码+CRC 一起发送给对方, 对方收到添有 CRC 的信息码后,将这串代码再和校验因子进行异或运算看结果是否为 0。
例如:
kn= 0100 0000 =0x40
g(x) =X7+X3+1=10001001 宽度为 7
1: 移位
0100 0000 左移 7 位= 10 0000 0000 0000
2: 异或运算
10 0000 0000 0000
10 0010 01
校验因子
10 0100 0000
10 0010 01
110 0100
最终 CRC 计算结果
3: 传输发送 10 0000 0110 0100
信息码
CRC 结果
4: 接收检验
10 0000 0110 0100
10 0010 01
校验因子
10 0010 0100
10 0010 01
校验因子
0
推荐访问:CRC校验最终个人总结 校验 全文 CRC