|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
$ X7 w+ m: c- R9 B0 W$ [, p摘要:在数据通信中,由于诸多因素的影响,设备之间的通信数据常常会发生一些无法预测的
0 G' e% Y# n* ]3 R错误.为确保高效而无差错地传输数据,降低错误所带来的影响,必须对数据进行检错,即差错控% }3 F7 d8 x" `6 ?! w9 f b5 ~9 p
制.一般在通信时采用数据校验的办法,在诸多检错手段中,CRC是最著名的一种.利用51系列单
9 v, m* q# e* ?- r- @片机可以实现CRC./ Q, l d3 F0 v1 B: p
关键词:循环冗余校验;单片机;实现& G. d6 Q$ x2 g" e( w
. n3 }' D$ Q; ^% m+ h/ ?& N
在通信技术不断进步的今天,各种数据通信的应用越来越广泛.由于传输距离现场状况、干扰等诸多因.
n/ E+ ]3 y: S素的影响,设备之间的通倌数据常会发生一些无法预测的错误.为确保高效而无差错地传输数据,降低错误
9 v; q: i o7 ]2 M! r所带来的影响,必须对数据进行检错,即差错控制.-般在通信时采用数据校验的办法,在诸多检错手段中,$ B! V) x0 h" S/ f9 ^- m. |
CRC是最著名的一种.: f& ~6 D5 j% R1 f0 G* S
CRC(CyclicRedundancyCheck),循环冗余校验,是对传送数据进行校验的一种高效的差错控制方法,2 k' {8 I7 Z) n$ {5 c" V2 a* M
其特点是:检错能力极强,开销小,易于用编码器及检测电路实现.从其检测能力来看,它所不能发现错误的$ E9 I6 y5 a u% Q. \. E4 r1 o! }
几率可达0.0047%以下;从性能和开销上均远远优于奇偶校验及算术和检验等方式.因而,在数据存储和数
- R. O& g" a- n+ F) ]据通信领域,CRC无处不在.
- P, u5 e2 P# n+ J7 n: n% ]0 b5 \) s( c% p$ s9 X% x& X
1 CRC原理, i- ~# p8 B7 z3 ~( S' r( u7 L" k4 ]
CRC校验主要是利用线性编码理论,其基本原理如下:
r# {6 T6 R% n) y2 h$ a在发送端,根据要传送的k位二进制码信息序列,以- -定的规则产生一个校验用的r位监督码(即CRC5 O$ X( F8 |. Q* t
码),并附在信息序列后边,构成-一个新的(k+r)位二进制码序列,发送出去;在接收端,根据信息码和CRC9 d) Q. M. [% |2 f( Y& s9 N( X+ s
码之间所遵循的规则进行校验,以确定传送中是否出错、
) P4 J+ _) m' c( j; d, m5 v% E* f% @
! O/ I! k+ E! `9 n
* C& K: t$ o- w) ~( p |
|