基于查表法的CRC检错码在CDT远动规约中的研究及实现.pdfVIP

基于查表法的CRC检错码在CDT远动规约中的研究及实现.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文档。上传文档
查看更多
基于查表法的CRC检错码在CDT远动规约中的研究及实现.pdf

第29卷第6期 泰 山学 院学 报 Vo1.29 NO.6 2007年11月 JOURNAL OF TAISHAN UNIVERSITY NOV. 20o7 基 于 查 表 法 的 C RC检 错 码 在 CDT远 动 规 约 中 的 研 究 及 实 现 桑胜举,朱莉莉,沈 丁 (泰山学院信息科学技术系,山东泰安 271021) [摘 要】 CDT通讯规约在我国电力调度系统中应用广泛,但规约本身存在着传输效率不高等缺点.本文 讨论了CRC的原理,提出一种适用于 CDT远动规约的CRC查表算法,并给出了 CRC校错码在8051单片机中 软件实现的源代码. [关键词】 CRC校验 ;查表;8051;CDT运动规约 [中图分类号】 TM76 [文献标识码】 A [文章编号】 1672—2590(2Oo7)o6—0073—06 1 引言 在电力系统调度系统通信过程中,因为各种原因使传输或接收的数据发生错误.为了能在接收端判 断数据的正确性,使用校验码是一种常用的方法.c尺c(Cydic Redundancy c0如)校验码就是其中的一种. CRC校验码是一种检错效率高、原理简单、易于实现的通信编码,是目前在数字通信领域应用最为广泛 的一种检验方式.如16位的c尺c—CCII~标准可以检测出所有的单位错、双位错、奇位数错及小于等于 16位的突发错,大于17位的突发错检错率为99.9984%.因此,CRC校验可以应用于重要数据的通信场 合,如下位机运行状态的检测、运行模式或参数的在线重设置等.在部颁循环式远动规约(cD )规约中, 即采用了CRC一8校验编码.对于8位的单片机系统,要实现 CRC通信就必须编写生成CRC码的指令 程序,且由于单片机的程序存储器很少、运算速度也比较低,因此要求程序代码尽量少,算法必须简单. 下面将以c尺c一8为例来介绍 CRC校验码的单片机实现过程. 2 循环冗余校验码【CRC)原理 实际应用的过程一般是在发送端计算发送信息的CRC值,并将它作为信息包/帧的一部分传递给 接收端;接收端将对接收到的信息进行 CRC计算,并与发送过来的CRC进行比较,从而判断接收的信 息是否正确.其基本原理是:在k位信息码后再拼接r位的校验码,整个编码长度为n位,因此,这种编 码又叫(n, )码.对于一个给定的(n, )码,可以证明存在一个最高次幂为 n—k=,的多项式g( ),根 据g( )可以生成k位信息的校验码,而g( )叫做这个CRC码的生成多项式. 2.1 生成多项式 为了便于用代数理论来研究 CRC码,把长为n的码组(二进制数)与n一1次多项式建立一一对应 的关系,即把二进制数的各位当作是一个多项式的系数,二进制数的最高位对应 的最高幂次,以下各 位对应多项式的各幂次,有此幂次项对应1,无此幂次项对应0.如多项式为A( )= + + +1,可 转换为二进制码组110101. [收稿日期]2007—09—17 [基金项目]泰山学院科研资助项目(Y06—02—15) [作者简介]桑胜举 (1965一),男,山东泰安人,泰山学院信息科学技术系,工学硕士,高级工程师 74 泰 山学 院 学报 第29卷 生成多项式g( )是接收端和发送端的一个约定,也对应一个二进制数,在整个传输过程中,这个数始终 保持不变.生成多项式应满足以下条件: *生成多项式的最高位和最低位必须为1. *当被传送信息(CRC码)任何一位发生错误时,被生成多项式作模2除后应该使余数不为0. *不同位发生错误时,应该使余数不同. *对余数继续作模2除,应使余数循环. 常用的生成多项式: CRC一8=X + + +1 (二进制码组:1 0000 O111) CRC一12=X + “+ + + +1 (二进制码组:1 1000 0000 1111)

文档评论(0)

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

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档