您现在的位置是:首页 > PLC技术 > PLC技术

PLC数据传输中的差错控制与检错码基本概念

来源:艾特贸易2017-06-04

简介数据通信系统的基本任务是高效无差错传输和处理数据信息。数据通信系统的各个组成部分都存在着差错的可能性,由于通信设备部分可以达到较高的可靠性,因此一般认为数据通信的

    数据通信系统的基本任务是高效无差错传输和处理数据信息。数据通信系统的各个组成部分都存在着差错的可能性,由于通信设备部分可以达到较高的可靠性,因此一般认为数据通信的差错主要来自于数据传输信道。数据信号经过远距离的传输往往会受到干扰,致使接收到的数据信号可能出现差错,引起数据信号序列的错误。    在实际系统中,随机性的错误和突发性的错误通常是同时存在的,需要进行差错控制,在进行差错控制中就需要用到检错码。    差错的控制方式和检错码都有多种,可以根据实际需要进行选择。以下简单介绍几种差错控制方法及常用的检错码。    1.差错控制方法    所谓差错控制是指对传输的数据信号进行检测错误和纠正错误。实际情况中常用的差错控制主要是对拟发送的信号附加冗余码,接收端对接收到的信号序列进行差错检测,判决有无错码,主要的纠错方式如下。    · 自动检错重传(ARQ):发送端按编码规则对拟发送的信号附加冗余码后再发送出去,接收端对接收到的信号序列进行差错检测,判决有无错码,并通过反馈信道把判决结果送回到发送端。若判决有错码,发送端就重新发送原来的数据,直到接收端认为无错为止;若判决为无错码,发送端就可以继续传送下一个新的数据。    ·前向纠错(FEC):发送端按照一定的编码规则对拟发送的信号码元附加冗余码,构成纠错码。接收端将附加冗余码元按照一定的译码规则进行变换,检测信号中有无错码,若有错,自动确定错码位置,并加以纠正。该方式物理实现简单无需反馈信道,适用于实时通信系统,但译码器一般比较复杂。    ·混合纠错(HEC):是前向纠错与自动检错重传两种方式的综合。发送端发送具有检测和纠错能力的码元,接收端对所接收的码组中的差错个数在纠错的能力范围之内,能够自动进行纠错,否则接收端将通过反馈信道要求发送端重新发送该信息。混合纠错方式综合了ARQFEC的优点,却未能克服它们各自的缺点,因而在实际应用中受到了一定的限制。    2.奇偶校验码    奇偶校验是以字符为单位的校验方法。一个字符一般由8位组成,低7位是信息字符的ASCII代码,最高位是奇偶校验位,该位可以是1或者0。其原则是:使整个编码中“1”的个数为奇数或偶数,若“1”的个数为奇数就称为“奇校验”,若“1”的个数为偶数的就称为“偶校验”。    奇偶校验的原理是:若采用奇校验,在发送端发送一个字符编码(含有校验码)中,“1”的个数一定为奇数,在接收端对“1”的个数进行统计,如果统计的结果“1”的个数是偶数,就意味着在传输的过程中有一位发生了差错。显然,若发生了奇数个差错接收端都可以发现,但若发生了偶数个差错接收端就无法查出。    由于奇偶校验码只需附加一位奇偶校验位编码,实现简单,效率较高,因而得到广泛的应用。    3.循环冗余校验码(CRC)    对于一个由“0”和“l”组成的二进制码原序列,都可以一个二进制多项式来表示,例如:1101001可以表示成1*X6+1*X5+0*X4+1*X3+0*X2+0*X1+1*X0。一般地说,n位二进制码原序列可以用(n-1)阶多项式表示。由于多项式间的运算是其对应系数按模2进行运算,所以两个二进制多项式相减就等于两个二进制多项式相加。    采用CRC码时,通常在信息长度为k位的二进制序列之后,附加上r位监督位,组成一个码长为n的循环码,其中r=n-k。每个循环码都可以有它自己的生成多项式g(x),并规定生成多项式g(x)的最高位和最低位的系数必须为1,由于任意一个循环码的码字c(x)都是生成多项式的倍式,因此c(x)g(x)除后余式必为零。    利用上述原理就可以进行循环码的编码,即从信息多项式m(x)求得循环码的码字c(x),编码步骤如下。    ·将信息多项式m(x)乘以Xn-k    ·将Xn-km(x)除以生成多项式g(x),得佘式f(x)    ·循环码的码字C(x)=Xn-km(x)+r(x)    采用CRC码时,发送方和接收方事先约定同一个生成多项式g(x),发送方在发送信息的同时,进行循环码的编码,接收方对接收的CRC码,用g(x)除,余数应为零。若不为零,则表示数据传输有错。