crc循环冗余校验原理及fpga实现

crc循环冗余校验原理及fpga实现

ID:14438336

大小:59.50 KB

页数:10页

时间:2018-07-28

crc循环冗余校验原理及fpga实现_第1页
crc循环冗余校验原理及fpga实现_第2页
crc循环冗余校验原理及fpga实现_第3页
crc循环冗余校验原理及fpga实现_第4页
crc循环冗余校验原理及fpga实现_第5页
资源描述:

《crc循环冗余校验原理及fpga实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、CRC循环冗余校验原理及FPGA实现姚树渝

2、创建时间:2013年06月19日14:07

3、浏览:220

4、评论:0标签:管理13.1 基本CRC循环冗余校验原理介绍循环冗余码校验英文名称为CyclicalRedundancyCheck,简称CRC。 它是利用除法及余数的原理来作错误侦测(ErrorDetecting)的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。  根据应用环境与习惯的不同,CRC又可分为以下几种标准:  ①CRC-12码;  ②CRC

5、-16码;  ③CRC-CCITT码;  ④CRC-132码。  CRC-12码通常用来传送6-bit字符串。  CRC-16及CRC-CCITT码则用是来传送8-bit字符,其中CRC-16为美国采用,而CRC-CCITT为欧洲国家所采用。  CRC-132码大都被采用在一种称为Point-to-Point的同步传输中。 1.CRC特点CRC是种常用的检测错误的循环码,它能够榆测出如下错误:(1)突发长度小于r的突发错误。(2)大部分突发长度等于r十l的错误,其中不可检测的这类错误只占2-(r-1)。(3)大部分突发K度大于r+1的错堤,其中不可检测的这类错误只占2

6、-r。(4)所有奇数个错误。   CRC检错能力极强,开销小,易于用编码器及检测电路实现。从其检错能力来看,它所不能发现的错误的几率仅为0.0047%以下。从性能上和开销上考虑,均远远优于奇偶校验及算术和校验等方式。因而,在数据存储和数据通讯领域,CRC无处不在:著名的通讯协议X.25的FCS(帧检错序列)采用的是CRC-CCITT,WinRAR、NERO、ARJ、LHA等压缩工具软件采用的是CRC132,磁盘驱动器的读写采用了CRC16,通用的图像存储格式GIF、TIFF等也都用CRC作为检错手段。2.CRC生成原理  CRC循环码即在m位信息码后再拼接r位的校验码

7、,整个编码长度为n位,因此这种编码又叫(n,k)码。对于一个给定的(n,k)码,可以证明存在一个最高次幂为n-k=r的多项式g(x)。根据g(x)可以生成后位信息的校验码,而g(x)叫做这个CRc码的生成多项式。校验码的具体生成过程为:   假设发送信息用数据多项式m(x)表示,将m(x)左移n一k位,则可表示成,n(z)×2n-k。这样m(x)的右边就会空出n一k位,即校验码的位置。通过m(x)×2n-k,除以生成多项式g(x)得到的商Q(x和余数r(x),其中余数r(x)就是校验码。即:    在发送端发送数据时余数加到信息码之后一同发出,将一组信息码和余数组成的

8、数据块称为一个码元,设为T(x),则有    在接收端任一组多项式T(x)都应被生成多项式g(x)整除,如果传输中未发生错误,则接收码元与发送码元相同,故接收的码元必定能被g(x)整除;若码元在传输中发生错误,则接收的码元可能除不尽而有余数,因此我们就以余数是否为零来判断接收码元中有无错误。可能有错误的码元正好也被g(x)整除,这是CRC校验无力消除的,但通过选择多项式g(x)和增加冗余位数,使余数r(x)多项式的位数增多,来降低发生这种错误的概率。3.生成多项式的选择   生成多项式g(x)是构成CRC校验码的关键。它的选取并不是任何一个多项式都可以作为生成多项式的

9、,从检错与纠错的要求出发,生成多项式应能满足下列要求:(1)任何一位发生错误都应使余数不为0;(2)不同位发生错误应当使余数不同;(13)应满足余数循环规律。  CRC有多种国际标准,各种标准如下: CRC校验可以100%地检测出所有奇数个随机错误和长度小于等于愚(是为g(z)的阶数)的突发错误。所以CRc的生成多项式的阶数越高,误判的概率就越小。13.2CRC循环冗余码FPGA设计思想1.编码电路的设计思想   编码电路的功能是己知信息数据位和生成多项式,要得到对应的CRC码字。CRC码是系统码,对一个合法的CRC码字前面部分是原始信息位,后面部分为校验位部分。因此

10、,若能求解出校验位,把它与原始数据组合即可得到CRC码。现已知m(x),G(x),要求R(x),用X*m(x)除以G(x),它的余式即为X'R(x)。用二进制数表示,即将原始信息位后添r个0后的数据除以生成多项式对应的二进制数,所得余数即是校验位。2.解码电路的设计思想   一个合法的CRC码的多项式,它应该能被G(x)整除。据此,现对一个位长为n的数据段(可能不是一合法CRC码),其多项式除以G(x),若其余数为零,说明该码字是合法的,取出其前面部分即为发端发送的有效数据,即完成解码;若余数不为0,则该码字出错,接收方可以告知发方重发,或进行纠错后

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。