简述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常用于通信协议中,当接收到数据时,接收器可以使用相同的算法计算自己的校验和,并将其与接收到的数据一起进行比较。如果两个校验和匹配,数据被认为是无误的。如果它们不匹配,就假定在传输过程中发生了错误,数据可能需要重新传输。
热门推荐
西瓜苗的种植与管理方法
磐安尖山镇:舌尖上的田园综合体
磐安乌石村:向阳山庄的绝美民宿推荐!
磐安尖山镇:交通便利的高品质农家乐度假区
菩提祖师究竟是谁?吴承恩:将祖师门下12字连起来读,恍然大悟
《西游记》里的五大神秘人物,就神秘程度来说,菩提祖师屈居第二
汽车冷却液防冻剂主要的化学成分配方剖析及应用
车上各式各样的散热器有啥用?
霞浦:山海交响与古韵之旅
冬日摄影打卡:霞浦北岐村三日游攻略
冬日打卡:霞浦最美三大景点推荐
秋摄霞浦:小皓海滩摄影攻略
【保养知识库】你的防冻液,加对了吗?
今年春节你看电影了吗?
过非遗春节 寻地道年味 | 传承千年民俗 尽展魅力“中国年”
唐闸古镇光影秀:夜幕下的工业遗存焕发新生
大生钟楼下的时光故事:南通唐闸古镇的百年变迁
大生钟楼:唐闸古镇的百年回响
秋冬防中风,正确使用中风回春胶囊
废机油的处理方法有哪些?如何安全有效地处理废机油?
如何检查刹车油以确保行车安全?刹车油检查的技巧和注意事项有哪些?
西柏坡纪念馆:红色之旅打卡地
西柏坡纪念馆:红色文化的传承圣地
12月底的长沙也太艺术了! 10个展览在5个文艺处所多点开花
长沙非遗好“City”
香瓜育苗方法和时间
西柏坡纪念馆春节特色活动预告:三大主题活动邀您共度文化年
磐安自驾游全攻略:山水奇观与非遗文化完美融合
探索海南岛南山寺全景:历史、文化与必看景点详细介绍
如何检查汽车冷却液,防冻液怎么看缺不缺