循环冗余校验课程设计.docxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
循环冗余校验课程设计

目录1. 设计背景2. 设计方案2.1 CRC校验发送模块和接收模块2.2 CRC校验发送模块和接收模块系统组成框图2.3 设计思路3. CRC校验发送模块和接收模块的VHDL源程序3.1 CRC校验发送模块的VHDL源程序3.2 CRC校验发送模块图3.3CRC校验接收模块的VHDL源程序3.4 CRC校验接收模块图4. 源程序总体描述说明5. QuartusⅡ波形仿真过程及结果图6. 设计总结7. 参考文献设计背景数字通信要求传输过程中所造成的数字差错足够低。引起传输差错的根本原因是信道内存在噪声及信道传输特性不理想造成的码间串扰。为了尽可能地提供通信的可靠性,就需要采用信道编码技术,对可能或已经出现的差错进行控制,CRC码就是其中的一种编码技术。循环冗余校验码(CRC,cyclic redundancy check)的基本组成部分,包括生成和校验两个部分。其中模2除法是基本原理中最为核心的。其次,还重点分析了其硬件电路的实现方法,并在此基础上基于FPGA用VHDL语言设计了编程程序。本设计将实现模块分成两部分进行介绍:一部分是CRC生成校验模块,另一部分是显示校验模块。CRC生成校验模块是CRC生成模块和校验模块通过握手信号连接起来的,这种方法在很大程度上简化了顶层文件,而显示校验模块主要功能是将发送数据以及生成数据用十六进制数表示,并且通过数码管显示出来,以便于检验程序是否正确。最后,本设计利用Quartus Ⅱ分别对CRC生成模块和CRC校验模块进行波形仿真,并对调试验证。2、设计方案发送数据序列为110101110100.生成多项式为G(x)= +++1,k=5,对应的序列为110101.将发送数据序列按模2算法被生成多项式序列去除,本设计完成12位信息加5位CRC校验发送,接收,有两个功能模块构成,CRC校验生成模块(发送)和CRC校验检错模块(接收),采用输入、输出都为并行的CRC校验生成方式2.1 CRC校验发送模块和接收模块根据CRC的生成原理以及校验原理用VHDL语言将其算法描述出来,并将生成模块与校验模块合二为一,运用两个握手信号来协调相互之间的关系利用实验面板的8块数码显示管将发送数据以及生成的新数据,以便于我们检查是否正确。发送数据有12位,用3位十六进制数表示,每一位用一个数码管显示;生成的新数据有17位,将5位CRC校验码前补3个零,从而新数据变成20位,用5位十六进制数表示,用5个数码管显示。其中也有键盘消抖程序,数码管显示程序。2.2 CRC校验发送模块和接收模块系统组成框图datacrcoCRC校验生成模块sdatadatacrcierrordatafinihrecvrdataCRC校验检错模块 clkhsenddataldclk2.3 设计思路本设计完成12位信息加5位CRC校验发送,接收,有两个功能模块构成,CRC校验生成模块(发送)和CRC校验检错模块(接收),采用输入、输出都为并行的CRC校验生成方式。3.CRC校验发送模块和接收模块的VHDL源程序3.1 CRC校验发送模块的VHDL源程序LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_Arith.ALL;USE IEEE.STD_LOGIC_Unsigned.ALL;ENTITY crc5ISPORT(clk:IN STD_LOGIC;--系统时钟rst_n:INSTD_LOGIC;--复位信号sdata:INSTD_LOGIC_VECTOR(11 DOWNTO 0);--12位有效信息输入dload:INSTD_LOGIC;--数据装载信号hrecv:INSTD_LOGIC;--握手信号输入.datacrci:IN STD_LOGIC_VECTOR(16 DOWNTO 0);--带5位冗余信息的17位CRC码输入datacrco:OUT STD_LOGIC_VECTOR(16 DOWNTO 0);--带5位冗余信息的17位CRC码输出hsend:OUT STD_LOGIC;--握手信号输出rdata:OUTSTD_LOGIC_VECTOR(11 DOWNTO 0);--12位有效信息输出dfinish:OUT STD_LOGIC;--数据接收完毕error01:OUT STD_LOGIC--数据接收错误);END;ARCHITECTURE one OF crc5 ISSIGNAL datacrco_r:STD_LOGIC_VECTOR(16 DOWNTO 0);SIGNAL hsend_r:STD_LOGIC;SIGNAL rdata_r:STD_LOGIC_VECTOR(11 DOWNTO 0);SIGNAL dfinish_r:S

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档