简述CRC16算法
创作时间:
作者:
@小白创作中心
简述CRC16算法
引用
1
来源
1.
https://www.jiamisoft.com/blog/34011-crc16.html
CRC16算法是一种常用的循环冗余校验算法,广泛应用于数据传输和存储的错误检测。本文将详细介绍CRC16算法的原理、计算过程及其各种变体,帮助读者深入了解这一重要的数据校验技术。
CRC16算法简介
CRC16算法使用16次方的多项式来生成校验和,该算法将数据视为一系列位,并对该序列执行位分割运算,使用多项式进行除法运算。这个除法的余数就是CRC16校验和,它被附加到原始数据的末尾。
CRC16算法的计算原理
- 根据CRC16的标准选择初值CRCIn的值。
- 将数据的第一个字节与CRCIn高8位异或。
- 判断最高位,若该位为 0 左移一位,若为 1 左移一位再与多项式Hex码异或。
- 重复3直至8位全部移位计算结束。
- 重复将所有输入数据操作完成以上步骤,所得16位数即16位CRC校验码。
CRC16算法的计算过程
- 预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为CRC寄存器;
- 把第一个8位二进制数据 (即通讯信息帧的第一个字节)与16位的CRC寄存器的第8位相异或,把结果放于CRC寄存器;
- 把CRC寄存器的内容右移一位(最低位)用0填补最高位,并检查右移后的移出位;
- 如果移出位为0:重复第3步(再次右移一位);如果移出位为1:CRC寄存器与多项式A001(1010 0000 0000 0001)进行异或;(Modbus)
- 重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
- 重复步骤2到步骤5,进行通讯信息帧下一个字节的处理;
- 将该通讯信息帧所有字节按上述步骤计算完成后,得到的16位CRC寄存器的高、低字节进行交换;
- 最后得到的CRC寄存器内容即为:CRC码。
CRC16算法的变体
CRC16算法有以下几种常见变体,它们算法原理基本一致,就是在数据的输入和输出有所差异:
- CRC16_CCITT:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0x0000异或。
- CRC16_CCITT_FALSE:多项式x16+x12+x5+1(0x1021),初始值0xFFFF,低位在后,高位在前,结果与0x0000异或。
- CRC16_XMODEM:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在后,高位在前,结果与0x0000异或。
- CRC16_X25:多项式x16+x12+x5+1(0x1021),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或。
- CRC16_MODBUS:多项式x16+x15+x2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0x0000异或。
- CRC16_IBM:多项式x16+x15+x2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0x0000异或。
- CRC16_MAXIM:多项式x16+x15+x2+1(0x8005),初始值0x0000,低位在前,高位在后,结果与0xFFFF异或。
- CRC16_USB:多项式x16+x15+x2+1(0x8005),初始值0xFFFF,低位在前,高位在后,结果与0xFFFF异或。
CRC16算法的应用
CRC16常用于通信协议中,当接收到数据时,接收器可以使用相同的算法计算自己的校验和,并将其与接收到的数据一起进行比较。如果两个校验和匹配,数据被认为是无误的。如果它们不匹配,就假定在传输过程中发生了错误,数据可能需要重新传输。
热门推荐
保定旅游攻略:从古城墙到清西陵,全方位体验历史文化名城
如何查询自己的电费户号及小区物业是否能代收电费
担心经济衰退与人工智能冲击,全球大型企业“减员风暴”愈演愈烈
Pininfarina在汽车设计领域的影响力
上班族肩颈酸痛必学!4招伸展动作在家也能做 拉脊椎帮肩颈松一下
成本管理理论书籍查找指南:从基础理论到实践应用
教授观点 | 徐飞:生成式人工智能时代的元宇宙创业(节选)
多级火箭:“轻装”进入太空
跨部门协作中的领导力与协调机制
Excel中两列内容合并并添加空格的多种方法
如何在不确定性中优化安全库存管理:探索AI与数据驱动的新策略
焦虑症可以彻底治愈吗
男人行不行,看腿就知道
襄阳古城:穿越古今的文化之旅
在动物世界,“群居”是普遍现象吗?
出海欧洲的中资企业,如何利用官方网站助力欧洲本土销售?
作为旅游主导力量,中国女性渴望怎样的旅行?
30分钟摸透一个人:科学识人模型详解
原来爱怀旧真的能过得更好
什么植物适合做绿篱围墙
如何优化企业能耗管理,能耗监测管理系统有效提升节能效率
微信买卖交易,应留存重要证明以保障交易安全
劳动仲裁老板不接电话怎么办?完整解决方案指南
以为是口腔溃疡,其实可能得了癌!赶快张嘴看看→
银鳕鱼产地在哪里 全球银鳕鱼哪里产的最好
房产证加名字需要哪些手续和费用
甲流治好后的后遗症
兴趣班“大揭秘”,别再被“坑”了!家长需谨慎选择,避免被误导
告别盲目猜测:用TDI和超级趋势策略精准制胜
巴萨球迷的怒火,要求弗里克下课:输球率超过25%,还不如哈维