循环冗余校验在单片机通信中的C 语言的实现.pdfVIP

循环冗余校验在单片机通信中的C 语言的实现.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第29卷 第8期 甘肃科技 Vol29 No8 2013年4月 GansuScienceandTechnology Apr 2013 循环冗余校验在单片机通信中的C语言的实现 张晓渝 (兰州理工大学,甘肃 兰州730000) 摘 要:介绍了循环冗余校验(CRC-CycleRedundancyCode)的原理以及用二进制无借位除法计算生成多项式为 CRC-16的CRC校验的方法,并给出了当发送一个字节和多个字节时的CRC校验C语言编程和流程图。循环冗余 校验是提高数字传输可靠性的一种有效的方法。 关键词:循环冗余校验;CRC;C语言;二进制除法 中图分类号:TP368TN911 31 26 23 22 16 12 11   在单片机数据通信过程中,数据信号完全暴露 CRC-32=x +x +x +x +x +x +x + 在环境中,在传输过程中产生误码是不可避免的。 10 8 7 5 4 2 x +x+x+x+x+x+x+1 由软件实现差错检测具有经济实用、方便可靠、不增 (4) 加硬件开销等优点。通常所用的差错检测法有:奇 采用式(2)作为生成多项式。 偶校验法、行列冗余校验法等。这些方法都是在数 12 CRC校验的数学模型 据信息后面增加冗余位,使冗余码与数据信息一起 CRC校验就是在传输数据信息后面用 CRC余 发送出去,并在接受端对收到的数据信息进行处理, 数码作为校验码。在这个过程中最为关键的是余数 将结果与接收到的校验码进行比较。如果相同,传 码的生成。余数码是由传输数据序列左移k位(k 输正确;否则认为传输错误。但是这些方法的冗余 是余数码的位数),然后用模2除法除以生成多项 位仅能反映行与列的奇数位情况,对于行或列的偶 式序列所得的余数。其数学模型为: 数位错误不敏感,判漏的几率很高。而循环冗余校 设传输数据序列为 n位,用多项式表示为 验对奇数位错误和偶数位错误的发现率为 100%, G(x)。生成多项式P(x)为k+1位。 对于其他突发性错误的发现率为999%。因此,循 k 1)首先将传输数据左移k位,即G(x)乘以X 环冗余校验法在单片机数据通信中具有广泛的应 作为被除数,其中k为余码的位数。 用。 k 2)将乘得的结果 X ·G(x)用生成多项式 P (x)去除。 1 CRC校验法的原理和数学模型 3)忽略其商,仅将所得余数 C(x)取出,则 C 11 CRC校验的原理 (x)的系数对应的二进制序列就是要求的余数码 CRC校验法也是在数据信息后增加冗余位。 (即BCC)。 但在这种方式中,将所传数据看成是高次多项式,也 由以上过程可知: 称为位序列多项式 G(

文档评论(0)

smdh + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档