当前位置:文档之家 > crc算法及其单片机实现

crc算法及其单片机实现

第27卷第5期V01.27No.5广东教育学院学报Journal。fGuangdongEducationInstitute2007年10月Oct.2007

CRC算法及其单片机实现

杨庆

(湖北民族学院电气工程系,湖北恩施445000)

摘要:在数据通信中.由于诸多因素的影响,设备之间的通信数据常常会发生一些无法预测的错误.为确保高效而无差错地传输数据,降低错误所带来的影响,必须对数据进行检错.即差错控制.一般在通信时采用数据校验的办法,在诸多检错手段中,CRC是最著名的一种.利用5l系列单片机可以实现CRC.

关键词:循环冗余校验;单片机;实现

中田分类号:TP311.1;TN802文献标识码:A文毫缩号:1007—8754(2007)05—0083—04

在通信技术不断进步的今天,各种数据通信的应用越来越广泛.由于传输距离、现场状况、干扰等诸多因素的影响,设备之间的通信数据常会发生一些无法预测的错误.为确保高效而无差错地传输数据,降低错误所带来的影响,必须对数据进行检错,即差错控制.一般在通信时采用数据校验的办法,在诸多检错手段中,cRc是最著名的一种.cRc(cyclicRedundancycheck).循环冗余校验,是对传送数据进行校验的一种高效的差错控制方法,其特点是:检错能力极强.开销小,易于用编码器及检测电路实现.从其检测能力来看,它所不能发现错误的几率可达0.0047%以下f从性能和开销上均远远优于奇偶校验及算术和检验等方式.因而,在数据存储和数据通信领域,CRC无处不在.1CRC原理

CRC校验主要是利用线性编码理论,其基本原理如下:

在发送端,根据要传送的^位二进制码信息序列,以一定的规则产生一个校验用的r位监督码(即cRc码)。并附在信息序列后边,构成一个新
的(女+r)位二进制码序列,发送出去I在接收端,根据信息码和cRc码之间所遵循的规则进行校验,以确定传送中是否出错.校验码R是通过对数据序列D进行二进制除法取余运算得到的。它被一个称为生成多项式的(r+1)位

在发送端,根据要传送的^位二进制码信息序列,以一定的规则产生一个校验用的r位监督码(即cRc码)。并附在信息序列后边,构成一个新的(女+r)位二进制码序列,发送出去I在接收端,根据信息码和cRc码之间所遵循的规则进行校验,以确定传送中是否出错.校验码R是通过对数据序列D进行二进制除法取余运算得到的。它被一个称为生成多项式的(r+1)位

二进制序列G一[grg,-…gt勘]来除,用多项式表示为哿导=∞,+器・㈣

其中zrD(z)表示将数据序列D左移r位(即在D的末尾再增加r个。位),Q(z)代表这一除法所得的

商,R(z)就是所需的余式.这一运算关系还可以用下式来表示.R(z)=Re[≤拳导],(2)

其中,Re[]表示对括号内的式子进行取余运算.校验码的编码计算如上所述.而校验过程则是对M序列直接进行除法取余运算,即

收稿日期}2007—03—24作者简介,抽庆(1959一),井(土摩蕞)。湖北戚丰人.湖北民蘸学簏电气工程系剖教授,硕士 万方数据

下载Word文档免费下载:

crc算法及其单片机实现下载

(共6页)

TOP相关主题