AVR单片机CRC校验码的查表与直接生成_第1页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、avr单片机crc校验码的查表与直接生成 随着技术的不断长进,各种数据通信的应用越来越广泛。因为传输距离、现场情况、干扰等诸多因素的影响,设备之间的通信数据常会发生一些无法预测的错误。为了降低错误所带来的影响,普通在通信时采纳数据校验的方法,而循环冗余码校验是常用的重要校验办法之一。高速是8位risc ,执行大多数命令只需一个时钟周期,速度快(8mhz avr的运行速度约等于200mhz 80c51的运行速度),32个通用寄存器挺直与alu相连,消退了运算瓶颈;内嵌可串行下载或自我编程的flash和epprom,功能繁多,具有多种运行模式。本文采纳公司的atmega128高速嵌入式单片机,依照

2、ieee 1999年公布的802.11无线局域网协议标准,采纳32位循环冗余校验码(cyclic redundancy check)实现无线传输数据时的差错校验。1 crc循环冗余校验码原理1.1 数据传输的帧格式按照ieee制定的802.11无线局域网络协议,在数据传输时都应根据帧传输。这里,我们采纳了信息处理系统数据通信高级数据链路控制规程帧结构,它的每个帧由下列字段组成(传输挨次自左至右):地 址控 制信 息crc校验位地址数据站地址字段;控制控制字段。信息信息字段;crc校验位按照前面三个字段生成的crc校验位。由地址、控制、信息三个字段组成的总的字段统称为数据段。1.2 crc校验码

3、的理论生成办法crc校验采纳多项式编码办法,被处理的数据块可以看作是一个n阶的二进制多项式。这里,假定待发送的二进制数据段为g(x),生成多项式为 m(x),得到的crc校验码为c(x)。crc校验码的编码办法是用待发送的二进制数据g(x)除以生成多项式m(x),将最后的余数作为crc校验码,实现步骤如下。 设待发送的数据块是m位的二进制多项式 g(x),生成多项式为r阶的m(x)。在数据块的末尾添加r个0,数据块的长度增强到m+r位,对应的二进制多项式为g(x) 。 用生成多项式m(x)去除g(x) ,求得余数为阶数是r-1的二进制多项式c(x)。此二进制多项式 c(x)就是g(x)经过生成

4、多项式m(x)编码的crc校验码。 用模2的方式减去c(x),得到的二进制多项式就是包含了crc校验码的待发送字符串。crc校验可以100%地检测出全部奇数个随机错误和长度小于等于r(r为m(x)的阶数)的突发错误。所以,crc的生成多项式的阶数越高,误判的概率就越小。ccitt建议:2048 kb/s的pcm基群设备采纳crc-4计划,用法的crc校验码生成多项式m(x)=x4+x+1 。采纳16位crc校验,可以保证在 1014bit码元中只含有1位未被检测出的错误。在ibm的同步数据链路控制规程sdlc的帧校验序列fcs中,用法crc-16,其生成多项式m(x)=x16+x15+x2+1

5、;而在ccitt推举的高级数据链路控制规程hdlc的帧校验序列fcs中,用法ccitt-16,其生成多项式m(x)= x16+x15+x5+1。crc-32的生成多项式 m(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1。crc-32出错的概率为crc- 16的10-5。因为crc-32的牢靠性,把crc-32用于重要数据传输非常合适,所以在通信、计算机等领域运用非常广泛。在一些uart通信控制芯片(如mc6582、intel8273和z80-sio)内,都采纳了crc校验码举行差错控制;以太网卡芯片、mpeg解码芯片中,也采纳crc- 32举行差错控制。m(x) 生成多项式的系数为0或1,但是m(x) 的首项系数为1,末项系数也必需为1。m(x) 的次数越高,其检错能力越强。2 用法atmega128生成32位crc校验码2.1 挺直计算法生成32位crc校验码挺直计算法就是依据crc校验码的产生原理来设计程序。其优点是模块代码少,修改灵便,可移植性好。这种算法容易,简单实现,对随意长度生成多项式m(x) 都适用。在发送的数据不长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论