CRC码生成与校验电路的设计_第1页
CRC码生成与校验电路的设计_第2页
CRC码生成与校验电路的设计_第3页
CRC码生成与校验电路的设计_第4页
CRC码生成与校验电路的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 目 录第1章 总体设计方案11.1 设计原理11.2 设计思路21.3 设计环境3第2章 详细设计方案52.1 顶层方案图的设计与实现52.1.1创建顶层图形设计文件62.1.2器件的选择与引脚锁定62.1.3编译、综合、适配82.2 功能模块的设计与实现82.2.1模2除法器的设计与实现82.2.2移位寄存器的设计与实现102.3 仿真调试11第3章 编程下载与硬件测试143.1 编程下载143.2 硬件测试及结果分析14参考文献15附 录(电路原理图)16-19-沈阳航空航天大学课程设计报告第1章 总体设计方案1.1 设计原理循环冗余校验码(cyclic redundancy check

2、,CRC)简称为循环码或CRC码。二进制信息沿一条信号线逐位在设备之间传送称为串行传送,CRC码常用于串行传送过程中的检错与纠错。CRC码的编码格式如图1.1所示,是在k位有效数据之后添加r位校验码,形成总长度为n的CRC码,简写作C(n,k)码。CRC编码的关键技术在于如何从k位信息简便的得到r位校验码,并根据总长度为n的CRC码进行纠错。图1.1设被校验的数据是一个k位的二进制代码,将它表示为一个(k-1)阶的多项式 (1-1)多项式(1-1)中的系数D的取值为0或1,与被校验的数据M一一对应;式中的x是一个伪变量,用指明各位的位置。设校验码P长度为r,将被校验数据D左移r位后的结果为将D

3、左移r位的目的是给D右边添加r个0,形成(k+r)位长度二进制代码,其多项式形式为M(x)。如图1.1所示,CRC码由k位数据D和r位校验码P组成,求校验码P的多项式R(X)的方法如下: (1-2)Q(x)是商,R(x)是余数,R(x)所对应的二进制代码是校验码P。可以证明存在一个最高次幂为n- k=r 的多项式G(x) ,即式(1-2)中G(x),称为生成多项式。 由式(1-2)可以推导出 (1-3)由式(1-3)可知,CRC码可被G(x)整除,余数必然为0.。根据这一特性,接收方将收到的CRC码被G(x)除,若余数为0,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的

4、关系,可利用余数对错误码进行定位。因此,接收方可根据表1.1发现并纠正1位错。 Q6Q5Q4Q3Q2Q1Q0余数出错位正确1100010000无错误1100011001Q01100000010Q11100110100Q21101010011Q31110010110Q41000010111Q50100010101Q6表1.1 循环校验码的出错模式1.2 设计思路根据题目要求,信息位k=4,r=n-k=3可知本次实验主要是完成(7,4)码的生成和校验。CRC码生成电路的核心主要由移位寄存器和模2除法器构成,信息位以串行的方式输入。依据CRC码生成与校验原理可知,生成电路中由输入端串行输入的数据D左

5、移3位后,与生成多项式G(x)做模2除法,并将得到的3位余数与4位信息码拼接成7位CRC码。校验电路原理同生成电路,主要由移位寄存器、模2除法器和3.8译码器构成。将待检测的CRC码串行输入到模2除法器和移位寄存器中去,求得3位余数,利用3.8译码器译码将三位余数译码,通过比较可以找出出错位,并将译码结果与移位寄存器的输出结果进行异或,便得到纠正后的正确结果。CRC码生成与校验电路主要包括两个部分:1.生成电路。由移位寄存器接收数据并进行移位,生成多项式由开关直接送入,输入数据与生成多项式通过模2除法器最终生成CRC码。2.校验电路。原理类似生成电路,校验电路中增加了3-8译码器。3-8译码器

6、与异或门共同完成对信息码的的校验与纠正,最后输出校验后的信息码。本设计方案采用的元件有模2除法器模块,移位寄存器模块,3-8译码器,与门,异或门。移位寄存器由7个D触发器构成。模2除法器由若干两输入与门,若干两输入异或门和D触发器构成。1.3 设计环境(1)硬件环境: 伟福COP2000型计算机组成原理实验仪、XCV200实验板、微机。 COP2000集成调试软件 COP2000 集成开发环境是为COP2000 实验仪与PC 机相连进行高层次实验的配套软件,它通过实验仪的串行接口和PC 机的串行接口相连,提供汇编、反汇编、编辑、修改指令、文件传送、调试FPGA 实验等功能,该软件在Window

7、s 下运行。COP2000 集成开发环境界面如图1.2所示。图 1.2 COP2000计算机组成原理集成调试软件(2)EDA环境: Xilinx foundation f3.1设计软件Xilinx foundation f3.1是Xilinx公司的可编程期间开发工具,该平台(如图1.3所示)功能强大,主要用于百万逻辑门设计。该系统由设计入口工具、设计实现工具、设计验证工具三大部分组成。图 1.3 Xilinx foundation f3.1设计平台第2章 详细设计方案2.1 顶层方案图的设计与实现顶层方案图实现CRC码的生成与校验的逻辑功能,采用原理图设计输入方式完成,电路实现基于XCV200

8、可编程逻辑芯片。在完成原理图的功能设计后,把输入/输出信号安排到XCV200指定的引脚上去,实现芯片的引脚锁定。2.1.1创建顶层图形设计文件顶层图形文件的设计实体主要由CRC码生成电路与CRC码校验电路组成。生成电路主要由移位寄存器元件-U2、模2除法器元件-U3构成。如图2.1所示。图2.1 CRC码生成电路图校验电路主要由移位寄存器元件-U5、模2除法器-U4,3-8译码器,异或门集成模块-U6构成。如图2.2所示。图2.2 CRC码校验电路图2.1.2器件的选择与引脚锁定(1)器件的选择由于硬件设计环境是基于伟福COP2000型计算机组成原理实验仪和XCV200实验板,故采用的目标芯片

9、为Xlinx XCV200软件中可用芯片。(2)引脚锁定把顶层图形文件中的输入/输出信号安排到Xlinx XCV200芯片指定的引脚上去,实现芯片的引脚锁定,各信号及Xlinx XCV200芯片引脚对应关系如表2.1所示。 图形文件中的输入/输出信号XCV200芯片引脚D87A73CLK213VCC47G3100G2101G1102G0103Q6152Q5178Q4184Q3185Q2203Q1111Q0110L693L599L4107L3108L2109L1124L0125表2.1 信号和芯片引脚对应关系2.1.3编译、综合、适配利用Xilinx foundation f3.1的原理图编辑器

10、对顶层图形文件进行编译,并最终生成网络表文件,利用设计实现工具经综合、优化、适配,生成可供时序仿真的文件和器件下载编程文件。2.2 功能模块的设计与实现CRC码的生成与校验电路是基于移位寄存器和模2除法器及异或门实现的。2.2.1模2除法器的设计与实现模2加定义:即按位加,可用异或逻辑实现。模2加同模2减结果相同,即01=1,10=1,00=0,11=0。模2除定义:按照模2减求得部分余数。每求一位商应将部分余数减少一位。上商原则是:当部分余数的位数多于除数时,商1,否则,商0。该模块由D触发器、与门和异或门构成。对(7,4)校验码,可采用图2.3所示电路,产生3位的余数Q2、Q1、Q0。图中

11、的模2减用异或门实现,左移一位由移位寄存器实现;用异或门的输出控制左边一位寄存器的D输入端,可同时实现模2减和左移。用最左一位D触发器的取值控制是否做模2减,当其为1时,减去的数就是生成多项式G(x),为0时减去的就是0000。这里,被除数D是逐位串行送到移位寄存器的,且由CP脉冲同步。其设计过程如下:(1)创建控制器设计原理图。模2除法器原理图如图2.3所示。 图2.3 模2除法器的原理框图(2)创建元件图形符号为能在图形编辑器(原理图设计输入方式)中调用MOD2芯片,需要为MOD2模块创建一个元件图形符号,可利用Xilinx foundation f3.1编译器中的如下步骤实现:Tools

12、=Symbol Wizard=下一步。CP、D是输入信号,Q2、Q1、Q0是输出信号。其元件图形符号如图2.4所示: 图2.4模2除法器元件图形符号(3)功能仿真对创建的控制器模块进行功能仿真,验证其功能的正确性,可用Xilinx Foundation f3.1编译器Simulator模块实现。D端串行输入数据1100000,得到余数Q2、Q1、Q0为010。仿真结果如图2.5所示: 图2.5 模2除法器仿真结果2.2.2移位寄存器的设计与实现该模块由8个D触发器相连接构成,数据通过D端串行输入到D触发器中。每过一个时钟脉冲,输入的数据左移一位,经过7个脉冲后,由7个D触发器的Q端并行输出所输

13、入的数据。(1)创建控制器设计原理图。移位寄存器的原理框图如图2.6所示。图2.6 移位寄存器的原理框图(2)创建元件图形符号为能在图形编辑器(原理图设计输入方式)中调用MOV芯片,需要为MOV模块创建一个元件图形符号,可利用Xilinx foundation f3.1编译器中的如下步骤实现:Tools=Symbol Wizard=下一步。CP、D是输入信号,Q6、Q5、Q4、Q3、Q2、Q1、Q0是输出信号。其元件图形符号如图2.7所示:图2.7 移位寄存器器元件图形符号(3)功能仿真对创建的控制器模块进行功能仿真,验证其功能的正确性,可用Xilinx Foundation f3.1编译器S

14、imulator模块实现。D串行输入数据1100000,得到结果1100000。仿真结果如图2.8所示: 图2.8 移位寄存器仿真结果2.3 仿真调试仿真调试主要验证设计电路逻辑功能、时序的正确性,本设计中主要采用功能仿真方法对设计的电路进行仿真。(1)建立仿真波形文件及仿真信号选择功能仿真时,首先建立仿真波形文件,添加仿真信号,对选定的输入信号设置参数,选定的仿真信号和设置的参数如表2.2所示。仿真时D输入信息码1100000,A输入循环校验码1100000,G0,G1,G2,G3输入生成多项式1011,VCC恒为1。(2)功能仿真结果与分析功能仿真波形结果如图2.9所示,仿真数据结果如表2

15、.2所示。对表2.2与表1.1的内容进行对比,可以看出功能仿真结果是正确的,进而说明电路设计的正确性。图2.9 功能仿真波形结果DACLOCKQ6Q5Q4Q3Q2Q1Q0L6L5L4L3L2L1L011100000010000000111000000100010110010000110001011000100011110101100001001110110110000010110001011000100111000101100010表2.2 仿真数据结果 输入信息码为:1100000,生成多项式为:1011,应用模2除法器可以求出三位余数为 010 然后把余数和信息码拼接可以得到CRC编码为:

16、1100010 输入需要校验的CRC码为:1100000,生成多项式位:1011,可以求得三位余数位010因为余数不为000,可以判断出接受到的循环校验码是错的,并且错误位在Q1。通过校验电路修改可输出正确的CRC码1100010。由图2.9的仿真图和表2.2的仿真数据结果可以看出,生成的CRC码为1100010,校验之后CRC码为1100010。 沈阳航空航天大学课程设计报告第3章 编程下载与硬件测试3.1 编程下载利用COP2000仿真软件的编程下载功能,将得到.bit文件下载到XCV200实验板的XCV200可编程逻辑芯片中。3.2 硬件测试及结果分析利用XCV200实验板进行硬件功能测试。CRC码生成和校验的输入数据通过XCV200实验板的输入开关实现,输出数据通过XCV200实验板的LED指示灯实现,其对应关系如表3.1所示。XCV200芯片引脚信号XCV200实验板XCV200芯片引脚信号XCV200实验板XCV200芯片引脚信号XCV200实验板DK1:0Q6A6L6B6AK2:0Q5A5L5B5CLKCLOCKQ4A4L4B4G3K0:3Q3A3L3B3G2KO:2Q2A2L2B2G1K0:1Q1A1L1B1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论