- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
工业控制系统中的crc算法实现-上海工业自动化仪表研究所
第八届工业仪表与自动化学术会议
工业控制系统中的 CRC 算法实现
邱继涛
(上海新华控制技术(集团)有限公司研发中心,上海 201108)
摘 要:针对工业控制系统中的特殊应用,提出利用CRC(Cyclic Redundancy Check)校验方法提高通信可靠性,
并着重介绍了CRC校验原理及在工业控制网络中的实现方法,重点阐述了查表法的CRC 实现,同时给出余式项的
生成程序,进一步方便大家编写 CRC 校验程序。此计算方式已经在新华 TisNet 系统中成功应用,并取得了较好
的实时通信能力。
关键词:通信 CRC 余式项 TiSNet
0 引言
随着工业控制系统网络化的不断发展,控制器同控制器间或控制器的某些部件之间的协调都
是通过网络来传输的,建立可靠、稳定、高速的通信网络已成为控制系统的必然要求,尤其是在
环境普遍比较恶劣的工业现场。然而,在数字通信中可靠与快速往往是一对矛盾。若要求快速,
则必然使得每个数据码元所占地时间缩短、波形变窄、能量减少,从而在受到干扰后产生错误的
可能性增加,传送信息的可靠性下降。若是要求可靠,则使得传送消息的速率变慢。因此,如何
合理地解决可靠性和速度这一对矛盾,是正确设计一个工业通信网络的关键问题之一。其中差错
检测和纠错控制是保证高可靠性的一种切实方法。在各种通信领域,多项式编码循环冗余码 CRC
简单且误判概率很低,被普遍应用。本文重点介绍 CRC 校验的原理及其算法实现。
1 循环冗余校验码(CRC)
多项式编码是基于将位串看成是系数为 0 或 1 的多项式,一个 k 位帧可以看成是从 X(k-1)
到 X(0)的 k-1 次多项式的系数序列。如果采用多项式编码的方式,发送方和接收方必须事先商
定一个生成多项式 G(x),生成多项式的高位和低位必须是 1。要计算 m 位的帧 M(x)的校验和,
生成多项式必须比该多项式短。基本思想是:将校验和加在帧的末尾,使这个带校验和的帧的多
项式能被 G(x)除尽。当接收方收到带校验和的帧时,用 G(x)去除它,如果有余数,则传输出错。
计算校验和算法如下:
① 设 G(x)为r 阶,在帧的末尾附加 r 个零,使帧为 m+r 位,则相应的多项式是 XrM(x);
② 按模2 除法用对应于 G(x)的位串去除对应于 XrM(x)的位串;
③ 按模2 减法从对应于 XrM(x)的位串中减去余数,结果就是要传送带校验和的帧,叫多项
式 T(x)。
CRC 校验采用多项式编码方法。被处理的数据块可以看作是一个 n 阶的二进制多项式,由
n−1 x −2
a x +a x +⋅⋅⋅+a x +a
n−1 n−2 1 0 。如一个 8位二进制数可以表示为:
1x 7 +0x 6 +1x 5 +1x 4 +0x 3 +1x 2 +0x +1。多项式乘除法运算过程与普通代数多项式的乘除法
相同。多项式的加减法运算以 2 为模,加减时不进,错位,和逻辑异或运算一致。
1
第八届工业仪表与自动化学术会议
采用 CRC 校验时,发送方和接收方用同一个生成多项式 g(x),并且 g(x)的首位和最后一
位的系数必须为 1。CRC的处理方法是:发送方以 g(x)去除 t(x),得到余数作为 CRC 校验码。
校验时,以计算的校正结果是否为 0 为据,判断数据帧是否出错。
以下 3 个多项式已经成为国际标准:
CRC -12 = x^12+x^11+x^3+x^2+x+1
CRC -16 = x^16+x^15+x^2+1
CRC -CCITT = x^16+x^12+x^5+1
这 3 个多项式都包含了 x+1 作为基本因子。当字符串长度为 6 位时,使用 CRC-12;其余两
个多项式用在字符串长度为 8 位的情况下。一个 16 位的校验和,如 CRC-16 或CRC-CCITT,可以
捕捉到所有
您可能关注的文档
最近下载
- 老友记台词剧本第一季第1集中英双语左右对照.pdf VIP
- 2025年5月18日河南省事业单位联考《公共基础知识》试题及答案解析.pdf
- 2018年最新发布的ISO50001-2018能源管理体系标准条款中英文版..pdf VIP
- 中欧班列“齐鲁号”跨境物流供应链金融模式研究.pdf VIP
- 运动心理学PPT完整全套教学课件.pptx VIP
- 七年级历史数字故事——隋朝大运河课件.ppt VIP
- 旅游职业礼仪-全套PPT课件.pptx
- 2025人教版数学三年级上册全册教学课件.ppt
- 居民健康档案知识培训课件.pptx VIP
- 2025年秋季人教版7年级上册数学全册教学课件(新教材).pptx
文档评论(0)