|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
' j& v. b% _1 W, f
摘要:在数据通信中,由于诸多因素的影响,设备之间的通信数据常常会发生一些无法预测的! e2 ]$ E7 f3 p
错误.为确保高效而无差错地传输数据,降低错误所带来的影响,必须对数据进行检错,即差错控
, Q7 ]' n0 \% V& O: }4 W8 e制.一般在通信时采用数据校验的办法,在诸多检错手段中,CRC是最著名的一种.利用51系列单6 n% h$ q- P( R- i3 M, C7 @, k
片机可以实现CRC.
7 h; P2 c. W' a1 e" ]5 l关键词:循环冗余校验;单片机;实现7 u$ i! _3 U4 B% P& V
; g7 p4 D# B: ^在通信技术不断进步的今天,各种数据通信的应用越来越广泛.由于传输距离现场状况、干扰等诸多因., H G5 g+ [& \* [4 d/ I' U! y5 U
素的影响,设备之间的通倌数据常会发生一些无法预测的错误.为确保高效而无差错地传输数据,降低错误( Z" K5 F% V( y. c+ }4 o) l2 {
所带来的影响,必须对数据进行检错,即差错控制.-般在通信时采用数据校验的办法,在诸多检错手段中,% x* E. {. J' [8 W% s. [
CRC是最著名的一种.
. k1 V& n$ Q/ E0 S9 t0 A t: @CRC(CyclicRedundancyCheck),循环冗余校验,是对传送数据进行校验的一种高效的差错控制方法,3 [3 e W& T: u) s: a+ F* k U
其特点是:检错能力极强,开销小,易于用编码器及检测电路实现.从其检测能力来看,它所不能发现错误的( p- [( ?1 D$ w: A# P7 n0 N: }+ Y, m
几率可达0.0047%以下;从性能和开销上均远远优于奇偶校验及算术和检验等方式.因而,在数据存储和数3 m/ f; `# {& N' Y
据通信领域,CRC无处不在." D# {. y6 T. V7 |; q1 r
0 X- ]; i: s" j6 K
1 CRC原理
# N" l) N( h3 F2 ~# ~4 M7 cCRC校验主要是利用线性编码理论,其基本原理如下:5 y4 u' I9 c- r2 n/ f4 A5 f
在发送端,根据要传送的k位二进制码信息序列,以- -定的规则产生一个校验用的r位监督码(即CRC" h; P% E o: ]6 {
码),并附在信息序列后边,构成-一个新的(k+r)位二进制码序列,发送出去;在接收端,根据信息码和CRC
5 P0 ?; [9 f: S* `码之间所遵循的规则进行校验,以确定传送中是否出错、
# z @1 V/ m$ F
3 C, z& v+ Y- V) f( p/ G1 Y1 P! }3 o! \( q% N3 f
' D9 @% X- H7 N1 z& K/ k" b, P) v5 T
|
|