您的位置 首页 5G

工业通信中的检错码技能

0 引言在变频器等工业现场,在传输数据的过程中,往往由于噪声或瞬时中断等干扰,使接收到的信息出现错误。如果信息传输出现错误而不被发现,会引起灾

0 导言

变频器等工业现场,在传输数据的过程中,往往因为噪声或瞬时中止等搅扰,使接纳到的信息呈现过错。假如信息传输呈现过错而不被发现,会引起灾难性的结果,能够采纳检错码的办法来发现这一过错。常用的检错码有两类:奇偶校验码与循环冗余校验码(CRC,cyclic redundancy code)。奇偶校验办法简略,感兴趣的读者能够查阅相关材料,本文要评论的是CRC检错码。

1 CRC检错码扼要介绍

检错码办法是即将发送的数据比特序列当作一个多项式f(x)的系数,再用收发两边预先约好的生成多项式G(x)去除,求得一个余数多项式,将余数多项式加到数据多项式之后发送到接纳端。接纳端用相同的生成多项式G(x)去除接纳数据多项式f ‘(x),得到核算余数多项式。假如核算余数多项式与接纳余数多项式相同,则表明传输无过失;反之,表明传输有过失,请发送方重发数据,直到正确停止。其作业原理如图1 所示。

CRC生成多项式G(x)由协议规则,现在已有多种生成多项式列入国际规范中。在我国及美国,工业通讯中常运用CRC-16。

实践CRC校验生成选用减法不借位,加法不进位的算法,在核算时选用异或操作。

2 CRC 检错码的算法规划

核算CRC 检错码经常选用按位核算CRC 码或按字节核算CRC 码。按位核算法算法简略,速度慢;按字节核算时须先核算CRC 码表,并将此表存入存储器中,核算CRC 码时经过查表法逐渐核算,此法具有算法杂乱,核算速度快,占用存储器资源的特色。

2.1 按位核算CRC

2.2 按字节核算CRC码

生成多项式,所得余式即为所求CRC 码。经过调查式(10)可知,求本字节后的CRC 码等于上一字节的余式CRC 码左移8 位再加上本字节所求得CRC 码。假如把8 位二进制序列数据的悉数CRC码核算出来,预先放在一个表里,然后经过查表核算CRC码,就能够大大提高核算速度。

2.3 编程完成

关于CRC 校验程序,没有一个一致的规范,也很难说谁好谁坏。工程师能够依据实践情况决定是按位核算仍是按字节核算CRC 码,及选用何种编程言语编写CRC校验程序。本文仅给出按字节核算时用C 言语编写的程序。另需阐明的是,在

下面的程序中选用查表法核算CRC 码,没有给出CRC 码表,感兴趣的读者能够查阅相关材料。

3 结语

CRC检错码的检错才能很强,它除了能查看出离散过错外,还能查看出突发错;能以

的概率查看出(k+1)位的突发错,即能以99.997%的概率查看出17 位的突发错,漏检概率为0.003%。因而,它是现在工业现场总线通讯中常用

的一种检错码办法。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/5g/141231.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部