CDT规约CRC校验.docxVIP

  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文档。上传文档
查看更多
CDT规约CRC校验

CDT规约CRC(循环冗余校验)校验机制计算 (开始以为校验很简单,对于没有接触过校验方式的人来说理解还是有困难的,以下把我的理解介绍如下) 1、 校验的基本原理 站端的远程数据终端设备RTU通过数模转换A/D将实时数据转换成二进制码发送到接受端,在通讯的传输过程中,由于线路杂音以及其他的各种干扰,容易使这些拍好的信息码产生错误,收端的前置机负责识别这种错误的信息码,在CDT规约中,前置机还负责舍弃这些错误码。 这样就需要用到校验,在发送端,由RTU依据规约的不同,根据传输的具体信息,计算出一个CRC附加值在数据尾部一起传输;在收端,用同样的方法生产一个CRC值,与收到的对比,若相同,认为信息正确,不同,则判断信息错误,并舍弃。 2、 CRC码集选择的原则 若设码字长度为N,信息字段为K位,校验字段为R位(N=K+R),则对于CRC码集中的任一码字,存在且仅存在一个R次多项式g(x),使得 V(x)=A(x)g(x)=xRm(x)+r(x); 其中:??? m(x)为K次信息多项式, r(x)为R-1次校验多项式, g(x)称为生成多项式: g(x)=g0+g1x+ g2x2+...+g(R-1)x(R-1)+gRxR 发送方通过指定的g(x)产生CRC码字,接收方则通过该g(x)来验证收到的CRC码字。 3、 CRC校验码生成方法简单例 信息字段代码为: 1011001;对应m(x)=x6+x4+x3+1? 假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为: 11001 ?x4m(x)=x10+x8+x7+x4 对应的代码记为:10110010000; 采用多项式除法:? 得余数为: 1010???? (即校验字段为:1010) 发送方:发出的传输字段为:? 1 0 1 1 0 0 1 1 0 10 ????????????????????????? 信息字段?????校验字段 接收方:使用相同的生成码进行校验:接收到的字段/生成码(二进制除法)如果能够除尽,则正确。 4、 常用CRC ”权”(即多项表达式)定义 CRC-8: g(x)=X8+X2+X1+1 CRC-12:g(x)= x12+ x11 + x3+ x2 +x+1    CRC-16 :g(x)= x16+ x15 + x2 +1 CRC-32:g(x)= x32+ x26 + x23+ x22 + x16+ x12+ x11 + x10+ x8+ x7+ x5+ x4+ x2 +x+1 CRC-CCITT:g(x)= x16+ x12 + x5 +1 5、 CDT规约中的CRC校验 我国微机远动系统中循环传送方式的码制是(48、40)码,这种码有两个特点: 1)、n-k=8,比较小,这就是验证码数据位是8位的意思; 2)、k=40,是n-k的整数倍。这样,编码和算法会相对容易实现一些。 我们知道,无论是控制字,还是信息字,它们的字结构是一样的,后8位均为校验码,按照部颁CDT规约,这种(48、40)码组的生成多项式为G(X)=X8+X2+X+1或G(X)=107H,陪集码为FFH。 部颁CDT规约中,字节和位的排列规则是:字节由低到高上下排列,字节的位由高到低左右排列。按照这个规则,假设有一个K位的信息字,对应多项式为K(X),它的CRC值的计算方法是:用一个r(r=8)次的多项式即G(X)做除数,把在信息字尾部增添r(r=8)个0所构成的新信息字对应的多项式作为被除数,二者做模2除法,最后得到的r位余数即余式R(X)就是K(X)的CRC值校验码。 了解以上知识,就可以对CDT码制的校验码进行计算了。 6、 实例讲解 方法一: 某站某时刻一信息字为f10000000094,我们来判断一下检验码的正确性 1) 首先将f10000000094除去94H(校验码)写成二进制码形式,并补加8个0; 2) 用上述二进制编码除以生成多项式G(X)=X8+X2+X+1,即100000111; 3) 用模2加法(即不进位加法,相同出0,相异出1)算余式; 4) 得出余式后,加陪集码FFH,即逐位取反,所得R(X)即为校验码。0000000000000000000000001 --- ---- --- --- --- --- --- ---10 1000001 11 --- --- --- --- --- --- --- --- 0110011 010 100000 111 ------- ----- ----- --- --- --- - ……… ……

文档评论(0)

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

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

1亿VIP精品文档

相关文档