ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:280.02KB ,
资源ID:8199563      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8199563.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(CRC编解码Word格式.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

CRC编解码Word格式.docx

1、3.2.3 (24,16)CRC 循环码解码器的设计 93.2.4 (24,16)CRC 循环冗余校验码编解码器总图 11体会与心得 12参考文献 13附录 14序 言CRC校验码是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC校验码,在早期的通信中运用广泛,因为早期的通信技术不够可靠(不可靠性的来源是通信技术决定的,比如电磁波通信时受雷电等因素的影响),不可靠的通信就会带来“确认信息”的困惑,所以对通信的可靠性检查就需要“校验”,校验是从数据本身进行检查,它依靠某种数学上约定的形式进行检查,校验的结果是可靠或不可靠,如果可靠就对数据进行处理,如果不

2、可靠,就丢弃重发或者进行修复。通常,数据通信中的编码可以分为两大类,分别是信源编码和信道编码。在实际应用中,为了提高数据通信的可靠性而采取的编码称为信道编码,也称做抗干扰编码。一般来讲,数据通信要求传输过程中的误码率应该足够低,这样才能真正符合实际应用的具体要求,为了降低数据通信线路传输的误码率,通常有改善数据通信线路传输质量和差错检测控制两种方法。CRC校验码码的作用是:发送方发送的数据发送给了接收方,但是由于在传输过程中信号干扰,可能出现错误的码,造成的结果就是接收方不清楚收到的数据是否就是发送方要发的数据,所以就有了CRC校验码。CRC也是数据通信领域中最常用的一种差错校验码,其特征是信

3、息字段和校验字段的长度可以任意选定。它是利用除法及余数的原理来作错误侦测的。实际应用时,发送装置计算出CRC值并随数据一同发送给接收装置,接收装置对收到的数据重新计算CRC并与收到的CRC相比较,若两个CRC值不同,则说明数据通讯出现错误。本次课程设计主要设计(24,16)校验码的编码与解码,主要内容是通过Quartus软件,采用原理图输入法,分别完成相应的编码和解码;最后将编码和解码电路图结合,检查编码解码过程是否发生错误。通过课程设计验证CRC校验码的检错纠错功能。第一章 通信系统课程设计总体要求和方案1.1通信系统课程设计总体要求 1、根据题目要求的功能进行设计;设计出整体电路图和流程框

4、图; 2、设计的电路图的每个组成部分须有设计说明;以及整体电路概述; 3、采用原理图或 VHDL 语言输入法,在计算机上进行编译和软件仿真。1.2课程设计题目 (24,16)CRC 循环码编解码器设计(2 人合作) 1、采用原理图输入法。 2、根据 CRC 循环码的编解码原理,确定编解码器具体设计方案。 3、设计 (24,16)CRC 循环码编解码器电路图。 4、调试及彷真时序波形。1.3 CRC编解码器设计方案本次设计中,CRC编码采用移位计算法。移位计算法就是直接模拟CRC校验码基本原理中除法的过程,来得到余数从而得到即CRC值。设生成多项式g(x)有r位,由于最高位是要一直消掉的,所以只

5、需要一个r位的寄存器。图1 移位算法实现框图 由R0Rr-1构成的CRC 寄存器是一个r位移位寄存器组,用来存储r位的CRC校验码R(x)。运算控制开关g1gr-1的位置与生成多项式G(x) 的系数相关,对应系数1的开关接通反馈支路,否则接地。编解码前清零CRC寄存器,在时钟驱动下,待校验的信息码B(x)经运算处理逐位移入CRC寄存器中,当信息码全部输入之后,CRC寄存器中存放的值即为生成的CRC码。另只须输出开关C开始接下端,在时钟驱动下逐位输出待校验的k位信息码B(x) ,然后改接上端,再逐位将CRC寄存器中的校验码R(x)输出。该算法原理简单,易于硬件实现。第二章 Quratus II简

6、介2.1 Quartus II简介 Quartus II 是Altera公司开发的综合性PLD/FPGA开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。 图2 Quartus软件打开后的界面Quartus II 的优点: Quartus II提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,包括: (1)可利用原理图、结构框图、VerilogHDL、AHDL和VHDL完成电路描述,并将其保存为设计实体文件; (2) 可用于芯片(电路)平面布局连线编辑; (3)

7、 是一款功能强大的逻辑综合工具;完备的电路功能仿真与时序逻辑仿真工具; (4) 支持软件源文件的添加和创建,并将它们链接起来生成编程文件; (5) 使用组合编译方式可一次完成整体设计流程;自动定位编译错误; (6) 是一款高效的期间编程与验证工具; (7) 可读入标准的EDIF网表文件、VHDL网表文件和Verilog网表文件; (8) Quartus II能生成第三方EDA软件使用的VHDL网表文件和Verilog网表文件。 该软件界面友好,使用便捷,功能强大,是一个完全集成化的可编程逻辑设计环境,是先进的EDA工具软件。Quartus II 可以在XP 、Linux以及Unix 上使用,提

8、供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。 使用软件时,我们可以双击桌面快捷方式图标,打开软件进行编辑。参照设计方案与软件结合使用,我们选择移位计算法来设计CRC-8循环码的编解码器。该方法简单实用,易于quartus进行硬件电路的设计仿真。第三章 (24,16)CRC循环码编解码器的设计3.1 CRC循环校验码的基本原理 CRC码共由两部分构成: k 位有效信息数据和r位CRC校验码。其中r 位CRC校验码是信息数据移位所得序列被一个事先选择的r +

9、 1位“生成多项式”相除后得到,r 位余数即为CRC码的校验码,此处的除法就是“模2”除运算,即不考虑进借位。每组CRC码都有自己的生成多项式G(X )(一个r 阶多项式),循环码中每一个码字都可由这个生成多项式得到。3.1.1 CRC校验码的生成校验码的具体生成过程为:(1)设发送的信息码用多项式m(x)表示,它的生成多项式为g(x)。则m(x)的最高次项为 k-1。将 m(x)乘以xn-k,得到 m(x) * xn-k;(2)用xn-k*m(x)去模2除g(x),得到余式r(x),即r(x)=m(x )* xn-k mod g(x)r(x)的次数必小于g(x)的次数,即小于 n-k。(3)

10、将余式加于信息位之后作为监督位,即将 r(x)与 xn-k*m(x)相加,得到的多项式为码多项式,因为它必能被 g(x)整除,且商的次数不大于 k-1。因此循环码的码多项式可表示为T(x)= m(x) * xn-k + r(x)其中,xn-k*m(x)代表信息位;r(x)是 m(x)* xn-k 与g(x)模2相除得到的余式,代表监督位。3.2 (24,16)CRC循环码编解码器的实现 3.2.1 CRC-8 生成多项式 生成多项式特点如下:(1)g(x)是常数项为1的 且r=n-k 次,也是循环码中次数最低的多项式;(2)所有许用码组多项式都是g(x)的倍式;(3)g(x)是xn+1的一个因

11、式。CRC-8 的生成多项式为:g(x)= x 8+ x5 + x4 +1 或 g(x)= x 8+ x2 + x +1 3.2.2 (24,16)CRC 循环码编码器的设计 CRC 循环码的生成多项式并不唯一,在设计中我们选择g(x)=x8+x5+x4+1作为(24,16)CRC循环码的生成多项式。(1)编码步骤如下: 将m(x)乘以 xn-k 求余式r(x)= m(x) * xn-k mod g(x) 求码多项式T(x)= m(x) * xn-k + r(x) (2)具体电路图如下:图3 (24,16)CRC循环编码器电路图4 (24,16)CRC编码器电路封装(3)电路工作原理: g(x

12、)的最高次数r等于移位寄存器的级数;g(x)的非零系数对应移位寄存器的反馈抽头。 执行时,首先将移位寄存器清零,前16位信息位输入时,门1断开,门2接通,直接输出信息码元,同时送入移位寄存器进入除法运算。 第 16位移位脉冲到来时,将除法电路运算所得的余数存入移位寄存器。第17-24次移位时,门1接通,门2断开,输出监督码。输入的信息元不同,得到的码元序列也不同。由附录可见:若信息码为 1111 1111 0000 1111,可以得到信息序列为 1111 1111 0000 1111 1010 1111;若信息码为 1010 1010 1010 1010 ,可以得到信息序列为 1010 101

13、0 1010 1010 0011 0110。若信息码为 0000 0000 1111 1111,可以得到信息序列为 0000 0000 1111 1111 1010 1100;编码仿真结果波形为:图5 输入信息码为1111 1111 0000 1111 时的仿真波形由图可知,得到的循环码与计算所得结果一致,证明了编码器设计无误,符合基本要求。3.2.3 (24,16)CRC 循环码解码器的设计具体电路图如下:图6 (24,16)CRC循环解码器电路图7 (24,16)CRC解码器电路封装解码仿真结果波形为:图8 信息码为1111 1111 0000 1111 1010 1111时的解码 波形分

14、析:当接收端信息为1111 1111 0000 1111 1010 1111时,输出从第25个时钟开始,由于图中每个周期为 20us,所以从480us开始观察可以发现输出z为正确信息序列,且信号位z1为低电平,说明解码正确。 又如输入错误码组:1101 1111 0000 1111 1010 1111 时:图 9 输入错误码组时的解码波形如图,当输入信息为1101 1111 0000 1111 1010 1111即错误序列码组时,输出从第25个时钟开始,输出z为接收信息,与输入信息一致,然而信号位z1为高电平,表明接收误码。3.2.4 (24,16)CRC 循环冗余校验码编解码器总图 将CRC

15、编解码时建模的图形连接在一起,组成(24,16)CRC循环编解码器。如下所示:图10 (24,16)CRC 循环编解码器体会与心得课程设计是培养学生综合运用所学知识发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程,本次课程设计从开始到验收检查花费了大概一周时间,查阅了很多相关资料和书籍,结合课本知识,在老师的指导下,获得圆满成功。回顾起此次课程设计,我感慨颇多,从拿到题目到完成设计,学到了很多很多的东西,不仅巩固了以前学过的知识,而且学到了很多在书本上所没有学到过的知识。在设计的过程中遇到不少问题,同时在设计的过程中发现了自己的不足之处,对一些

16、前面学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计,我把前面所学过的知识又重新温故了一遍,而且理解更加深刻。在此次课程设计过程中,我收获知识,提高能力的同时,也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!参考文献1 王海光,并行CRC 算法硬件实现研究与VHDL设计 J ,漳州师范学院学报(自然科学版),2007年2 周宦银,朱玲赞,循环码编码方法研究 J,现代电子技术,2006年3 夏泽中,柴庆芬,循环冗余校验码算法的分析及VHDL语言实现 J ,计算机与数字工程,2005年4 杜慧敏,李宥谋,赵全良. 基于Verilog 语言的实用FPGA 设计 M , 西安电子科技大学出版社,2005年5 原东昌,李晋炬, 通信原理与实验 M ,北京理工大学出版社,2000年6 蒋安平,循环冗余校验码(CRC)的硬件并行实现 J ,微电子学与计算机,2005年 附 录CRC(24,16)循环校验码的监督码具体计算方法如下:若输入信息码为1111 1111 0000 1111, 可得监督码为1010 1111,与信息码一一对应。对应的的信息序列为:1111 1111 0000 1111 1010 1111。同理可得:

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2