- 10
- 0
- 约6.61千字
- 约 5页
- 2017-01-06 发布于贵州
- 举报
CRC-8校验方法CRC-8校验方法
CRC即循环冗余校验码(Cyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。
CRC校验可以简单地描述为:例如我们要发送一些数据(信息字段),为了避免一些干扰以及在接收端的对读取的数据进行判断是否接受的是真实的数据,这时我们就要加上校验数据(即CRC校验码),来判断接收的数据是否正确。在发送端,根据要传送的k位二进制码序列,以一定的规则(CRC校验有不同的规则。这个规则,在差错控制理论中称为“生成多项式”。)产生一个校验用的r位校验码(CRC码),附在原始信息后边,构成一个新的二进制码序列数共k+r位,然后发送出去。在接收端,根据信息码和CRC码之间所遵循的规则(即与发送时生成CRC校验码相同的规则)进行检验,校验采用计算机的模二除法,即除数和被除数(即生成多项式)做异或运算,进行异或运算时除数和被除数最高位对齐,进行按位异或运算,若最终的数据能被除尽,则传输正确;否则,传输错误。
CRC8即最终生成的CRC校验码为1字节,其生成多项式,生成多项式为g(x)=x8+x5+x4+1,相当于g(x)=1·x8+0·x7+0·x6+1·x5+1·x4+0·x3+0·x2+0·x1+1·x0,即对应的二进制数为100110001。
CRC8校验算法:
1.CRC8校验的一般性算法:
例如: 信息字段代码为:00000010 ———— 对应m(x)=x8+x
生成多项式为:g(x)=x8+x5+x4+1 ———— 对应g(x)的二进制代码为:100110001
现在我们将要对2字节数据0x0102生成CRC8校验码,并最终将生成的1字节CRC校验码跟在0x0102的后面,即 0x01 02 ##,(##即8为CRC码),最终生成的3字节数据就是经CRC8校验生成的数据。
先计算x8m(x)=x16+x9,对应的2进制数为:100000010 。可以看到这样运算所得到的结果其实就是将信息字段代码的数左移8位。因为最终要将生成的8位CRC8校验码附在信息字段的后面,所以要将信息字段的数左移8位。最后用x8m(x)得到的二进制数对生成多项式g(x)进行模二运算,最终的余数(其二进制数的位数一定比生成多项式g(x)的位数小)就是所要的CRC8校验码。
100000010 ^ 100110001
---------------------------
000110011 ^ 100110 001
---------------------------
010101 ^ 10011 0001
---------------------------
00110 ^ 100 110001
---------------------------
010 ^ 10 0110001
---------------------------
00 对x8m(x)做模二运算取余0x96),这个8位的二进制数就是CRC8校验码。所以,经CRC8校验后研发送的数据就是0x010296。
2.CRC8校验在DS18B20中的应用:
以上分析的是常规的CRC8校验方法。在DS18B20中,有两处用到CRC。一是DS18B20的8字节的序列号,最后一字节是前面七个字节的CRC码,这是为了保证序列号的唯一性与正确性;另一个是在DS18B20内部9字节的高速温度存储器,其第9字节是前面8个字节的CRC校验码,这是为了温度数据传输的正确性。而在DS18B20中生成CRC码所用到的方法不同于常规生成算法,它采用的是逆序CRC信息单元编码算法,该CRC的生成是由DS18B20中的多项式寄存器通过其中所包含的移位寄存器以及异或门对输入该多项式寄存器的每一位二进制数做一定的运算所得到的CRC码(可以查看Maxim官网上DS18B20的应用笔记Note27,专门介绍DS18B20CRC详细生成过程)。在此列举两种
您可能关注的文档
- CH1 管理与管理学.doc
- CH11 聚类分析.doc
- CH6 战略与目标.doc
- ch3螺纹联接例题.doc
- CH2:博弈与均衡.doc
- ch1函数与极限.doc
- CECT教程.doc
- CFO职业路线图.doc
- CH017TEST.doc
- ch6习题及答案.doc
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
最近下载
- 中国汉字听写大会模拟试题11套.docx VIP
- 基层治理中网格化管理的问题与改进.docx VIP
- 26春苏教版三年级下册数学第1课时 加法数量关系(1) 课件.pptx VIP
- 【02-新课预习】第04讲 钠及其化合物(学生版)-2025年新高一化学暑假衔接讲练 (人教版).pdf
- 起重装卸机械操作工高级工培训大纲.docx VIP
- 员工退休管理办法.docx VIP
- 核反应堆设计软件:RELAP5二次开发_(5).RELAP5输入文件结构与编写.docx VIP
- 科力D2008称重显示器说明书(完整版).pdf
- 基于abaqus的某微型车渐变刚度钢板弹簧的有限元分析.pdf VIP
- 2025年福建省专升本英语考试真题及参考答案.docx VIP
原创力文档

文档评论(0)