在Virtex-5 FPGA芯片中使用CRC硬模块

2010-07-01 22:17:37来源: Xilinx公司 关键字:FPGA  Virtex  Xilinx  CRC

  数据损坏是与数据传输和存储有关的首要问题。只要是在通道上传输数据,就总会有出现某些错误的有限概率。

  关键是接收模块要能区分无错消息和有错消息。检错有多种方法,其中大多数都是专门为此目的引入冗余位。数据通信中常用的检错方法包括奇偶码、汉明码和循环冗余校验(CRC),其中CRC使用最广泛。

  CRC根据一个给定的数据位组算出,然后在传输或存储之前附加到数据帧尾部。接收或检索到帧后,对其内容重新计算CRC,以此来验证其有效性,确保数据无误。

  本文简述CRC计算所依据的原理,并且探讨用线性反馈移位寄存器实现其硬件的方法。然后,我们把注意力转向Xilinx?VirtexTM-5 LXT/SXT 器件中存在的 CRC 硬模块。

  原理

  加法和减法运算是用模2算法执行;也就是说,这两种运算与“异或”(XOR)运算相同。除了没有进位,多项式算法中的两数相加与普通二进制算法中的多数相加相同。

  例如:二进制消息流11001011表达为x7+x6+x3+x+1。传输点与接收点约定一个固定多项式,称为生成器多项式;这是CRC计算的关键参数。

  将数据解释为一个多项式的系数,用一个给定的生成器多项式除这些系数。除得的余数就是CRC。假设有一个m位消息序列和一个r阶生成器多项式,发射器创建一个n位 (n=m+r)序列,称为帧校验序列 (FCS),使这个(m+r)位合成帧可以被一个预先确定的序列整除。

  发射器将r个0位附加到m位的消息,并且用生成器多项式除所得 m+r-1阶多项式。这样可得到一个阶数等于或小于(r-1)的余数多项式。该余数多项式有r个系数,这些系数形成校验和。将商丢弃。传输的数据是原m位消息后附r位校验和。

  在接收器上,可以按以下两种标准方法之一评估所接收数据的有效性:
  对收到的前m个位再次计算校验和,然后与收到的校验和(收到的后r个位)进行比较。
  对收到的全部(m+r)个位计算校验和,然后与一个0余数进行比较。

  为了说明第二种方法如何得出 0余数,我们做如下约定:
M=消息的多项表达式
R=发射器上所算得余数的多项表达式
G=生成器多项式
Q=用G除M得到的商

  传输的数据对应于多项式    Mxr–R。变量xr表示消息为容纳校验和而产生的一个r位移位。

  我们知道:Mxr=QG+R

  在发射器上将校验和R附加到消息中相当于从消息中减去余数。于是,传输的数据变为Mxr-R=QG,这显然是G的倍数。这就是我们在第二种情况下得到0余数的过程。

  不过,这一过程对所传输数据中首0位和尾0位的个数不敏感。换句话说,无论消息插入还是删除尾0位,余数都保持为0,从而使错误漏检,这表明不会复原成同样的位序列。下面介绍一种克服这一缺点的变通办法。

[1] [2] [3] [4]

关键字:FPGA  Virtex  Xilinx  CRC

编辑:小甘 引用地址:http://www.eeworld.com.cn/FPGA/2010/0701/article_1218.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于FPGA和Verilog的液晶显示控制器设计
下一篇:基于FPGA的数字音频广播信道编码器的实现

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
FPGA
Virtex
Xilinx
CRC

小广播

独家专题更多

TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源
迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved