摘要在数据通信中为了降低通信线路传输的误码率,需要采用高效能的差错控制方法。循环冗余码(CRC)由于其误码检测能力强,抗干扰性能优异,在通信和测控等领域有广泛的应用。介绍了循环冗余校验(CRC)算法原理和校验规则, 分析了CRC校验码的具体计算过程, 并以CRC-5为例, 给出了使用硬件描述语言VHDL来实现CRC-5的部分源程序, 它包含校验码的生成器和待校验数据的校验器, 对该例进行仿真并给出综合结果, 最终可以在现场可编程门阵列(FPGA)上实现. 65557
毕业论文关键词 循环冗余码;硬件描述语言;现场可编程门阵列
毕业设计说明书(论文)外文摘要
Title The algorithm analysis and design of Cyclic Redundancy Check based on FPGA
Abstract In data communications, we need to adopt a high efficient error control method to reduce the rate of error codes. Cyclic Redundancy Check(CRC) is widely used in data communications and measurement & control fields as a powerful method to deal with data errors. This paper introduces not only the Cyclic Redundancy Check(CRC) algorithm principle and check rules ,but also analyses the specific calculation process of CRC code. Besides, this article takes CRC-5 as an example to introudce the use of hardware description language VHDL, which realizes the CRC-5 part of the source program. It contains the check code generator and validator to check data,the cases of simulation and give the synthesized results, so it could be implemented in the field programmable gate array(FPGA) in the end.
Keywords Cyclic Redundancy Check; Hardware Description Language; Field Programmable Gate Array
目 次
1 绪论 1
1.1 引言1
1.2 课题的意义…1
2 相关知识介绍 …2
2.1 EDA技术2
2.2 FPGA芯片4
2.3 硬件描述语言VHDL8
3 CRC原理介绍…11
3.1 CRC简介 …11
3.2 CRC原理11
4 系统具体设计12
4.1 Quartus Ⅱ开发平台的简介12
4.2 系统设计14
结论 …33
致谢 34
参考文献…35
1 绪论
1.1 引言
在数字通信及测控领域广泛存在应用到校验码和纠错码的实例。 在实际通信信道上传输数字信号时, 由于信道传输特性不理想以及加性噪声的影响,导致信号波形失真,接收端所收到的数字信号不可避免的会发生错误[1]。因此,为了提高数字通信系统的可靠性,人们在信道编码和信源编码方面做了大量的工作来降低误码率。实现检错功能的差错控制方法很多, 传统的有:奇偶校验、校验和检测、重复码校验、恒比码校验、行列冗余码校验等,这些方法都是增加数据的冗余量,将校验码和数据一起发送到接收端。接收端对接收到的数据进行相同校验,再将得到的校验码和接收到的校验码比较,如果二者一致则认为传输正确。但这些方法都有各自的缺点,误判的概率比较高[2]。循环冗余码CRC检验技术广泛应用于测控及通信领域,是一种实现简单、检验能力很强、在串行通信系统中广泛采用的校验编码,是当前在信源编码中用来降低误码率的有效手段之一[3],如USB 协议、IEEE802. 3 标准、IEEE802. 11 标准、RFID 协议等都采用了CRC作为正确性校验的方法。在高速通信系统中,为了适应速度和通信传输的要求,CRC校验部分往往都设计为串行输入的硬件实现。本文用VHDL语言在FPGA芯片上编程,实现在一个始终周期内完成并行CRC码的计算及校验,该方法可以对不同长度的数据进行差错控制,而且大大缩短了CRC校验周期,为实现循环冗余校验提供简便方法[4]。