CRC码生成与校验电路的设计

上传人:gbs****77 文档编号:10646484 上传时间:2020-04-13 格式:DOCX 页数:20 大小:437.31KB
返回 下载 相关 举报
CRC码生成与校验电路的设计_第1页
第1页 / 共20页
CRC码生成与校验电路的设计_第2页
第2页 / 共20页
CRC码生成与校验电路的设计_第3页
第3页 / 共20页
点击查看更多>>
资源描述
I 目 录 第 1 章 总体设计方案 1 1 1 设计原理 1 1 2 设计思路 2 1 3 设计环境 3 第 2 章 详细设计方案 5 2 1 顶层方案图的设计与实现 5 2 1 1 创建顶层图形设计文件 6 2 1 2 器件的选择与引脚锁定 6 2 1 3 编译 综合 适配 8 2 2 功能模块的设计与实现 8 2 2 1 模 2 除法器的设计与实现 8 2 2 2 移位寄存器的设计与实现 10 2 3 仿真调试 11 第 3 章 编程下载与硬件测试 14 3 1 编程下载 14 3 2 硬件测试及结果分析 14 参考文献 15 附 录 电路原理图 16 沈阳航空航天大学课程设计报告 1 第 1 章 总体设计方案 1 1 设计原理 循环冗余校验码 cyclic redundancy check CRC 简称为循环码或 CRC 码 二 进制信息沿一条信号线逐位在设备之间传送称为串行传送 CRC 码常用于串行传 送过程中的检错与纠错 CRC 码的编码格式如图 1 1 所示 是在 k 位有效数据之后添加 r 位校验码 形成总长度为 n 的 CRC 码 简写作 C n k 码 CRC 编码的关键技术在于如何从 k 位信息简便的得到 r 位校验码 并根据总长度为 n 的 CRC 码进行纠错 图 1 1 设被校验的数据 是一个 k 位的二进制代码 将0121 DDk 它表示为一个 k 1 阶的多项式 1 1 0 121 DxxxxMkk 多项式 1 1 中的系数 D 的取值为 0 或 1 与被校验的数据 M 一一对应 式中 的 x 是一个伪变量 用 指明各位的位置 ix 设校验码 P 长度为 r 将被校验数据 D 左移 r 位后的结果为 位rkkD0 0121 沈阳航空航天大学课程设计报告 2 将 D 左移 r 位的目的是给 D 右边添加 r 个 0 形成 k r 位长度二进制代码 其多项式形式为 M x 如图 1 1 所示 CRC 码由 k 位数据 D 和 r 位校验码rx P 组成 求校验码 P 的多项式 R X 的方法如下 1 2 xGRQxMr Q x 是商 R x 是余数 R x 所对应的二进制代码是校验码 P 可以证明存 在一个最高次幂为 n k r 的多项式 G x 即式 1 2 中 G x 称为生成多项式 由式 1 2 可以推导出 1 3 xMxGR r 由式 1 3 可知 CRC 码可被 G x 整除 余数必然为 0 根据这一特性 接 收方将收到的 CRC 码被 G x 除 若余数为 0 则表明传送过程中没有错误发生 若出现一位错 根据余数与出错位一一对应的关系 可利用余数对错误码进行定 位 因此 接收方可根据表 1 1 发现并纠正 1 位错 Q6 Q5 Q4 Q3 Q2 Q1 Q0 余数 出错 位 正确 1 1 0 0 0 1 0 0 0 0 无 1 1 0 0 0 1 1 0 0 1 Q0 1 1 0 0 0 0 0 0 1 0 Q1 错误 1 1 0 0 1 1 0 1 0 0 Q2 沈阳航空航天大学课程设计报告 3 表 1 1 循环校验码的出错模式 1 2 设计思路 根据题目要求 信息位 k 4 r n k 3 可知本次实验主要是完成 7 4 码的生成 和校验 CRC 码生成电路的核心主要由移位寄存器和模 2 除法器构成 信息位以 串行的方式输入 依据 CRC 码生成与校验原理可知 生成电路中由输入端串行 输入的数据 D 左移 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 译码器 与异或门共同完成对信息码的的校验与纠正 最后输出校验后的信息码 本设计方案采用的元件有模 2 除法器模块 移位寄存器模块 3 8 译码器 与门 异或门 1 1 0 1 0 1 0 0 1 1 Q3 1 1 1 0 0 1 0 1 1 0 Q4 1 0 0 0 0 1 0 1 1 1 Q5 0 1 0 0 0 1 0 1 0 1 Q6 沈阳航空航天大学课程设计报告 4 移位寄存器由 7 个 D 触发器构成 模 2 除法器由若干两输入与门 若干两输入异或门和 D 触发器构成 1 3 设计环境 1 硬件环境 伟福 COP2000 型计算机组成原理实验仪 XCV200 实验板 微机 COP2000 集成调试软件 COP2000 集成开发环境是为 COP2000 实验仪与 PC 机相连进行高层次实 验的配套软件 它通过实验仪的串行接口和 PC 机的串行接口相连 提供汇编 反汇编 编辑 修改指令 文件传送 调试 FPGA 实验等功能 该软件在 Windows 下运行 COP2000 集成开发环境界面如图 1 2 所示 沈阳航空航天大学课程设计报告 5 图 1 2 COP2000 计算机组成原理集成调试软件 沈阳航空航天大学课程设计报告 6 2 EDA 环境 Xilinx foundation f3 1 设计软件 Xilinx foundation f3 1 是 Xilinx 公司的可编程期间开发工具 该平台 如图 1 3 所示 功能强大 主要用于百万逻辑门设计 该系统由设计入口工具 设计 实现工具 设计验证工具三大部分组成 图 1 3 Xilinx foundation f3 1 设计平台 第 2 章 详细设计方案 2 1 顶层方案图的设计与实现 顶层方案图实现 CRC 码的生成与校验的逻辑功能 采用原理图设计输入方 式完成 电路实现基于 XCV200 可编程逻辑芯片 在完成原理图的功能设计后 把输入 输出信号安排到 XCV200 指定的引脚上去 实现芯片的引脚锁定 沈阳航空航天大学课程设计报告 7 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 器件的选择 沈阳航空航天大学课程设计报告 8 由于硬件设计环境是基于伟福 COP2000 型计算机组成原理实验仪和 XCV200 实验板 故采用的目标芯片为 Xlinx XCV200 软件中可用芯片 2 引脚锁定 把顶层图形文件中的输入 输出信号安排到 Xlinx XCV200 芯片指定的引脚上 去 实现芯片的引脚锁定 各信号及 Xlinx XCV200 芯片引脚对应关系如表 2 1 所 示 图形文件中的输入 输出信号 XCV200 芯片引脚 D 87 A 73 CLK 213 VCC 47 G3 100 G2 101 G1 102 G0 103 Q6 152 Q5 178 Q4 184 沈阳航空航天大学课程设计报告 9 表 2 1 信号和芯片引脚对应关系 2 1 3 编译 综合 适配 利用 Xilinx foundation f3 1 的原理图编辑器对顶层图形文件进行编译 并最 终生成网络表文件 利用设计实现工具经综合 优化 适配 生成可供时序仿真 的文件和器件下载编程文件 Q3 185 Q2 203 Q1 111 Q0 110 L6 93 L5 99 L4 107 L3 108 L2 109 L1 124 L0 125 沈阳航空航天大学课程设计报告 10 2 2 功能模块的设计与实现 CRC 码的生成与校验电路是基于移位寄存器和模 2 除法器及异或门实现的 2 2 1 模 2 除法器的设计与实现 模 2 加定义 即按位加 可用异或逻辑实现 模 2 加同模 2 减结果相同 即 0 1 1 1 0 1 0 0 0 1 1 0 模 2 除定义 按照模 2 减求得部分余数 每求一位商应将部分余数减少一位 上商原则是 当部分余数的位数多于除数时 商 1 否则 商 0 该模块由 D 触发器 与门和异或门构成 对 7 4 校验码 可采用图 2 3 所示 电路 产生 3 位的余数 Q2 Q1 Q0 图中的模 2 减用异或门实现 左移一位由 移位寄存器实现 用异或门的输出控制左边一位寄存器的 D 输入端 可同时实现 模 2 减和左移 用最左一位 D 触发器的取值控制是否做模 2 减 当其为 1 时 减 去的数就是生成多项式 G x 为 0 时减去的就是 0000 这里 被除数 D 是逐位 串行送到移位寄存器的 且由 CP 脉冲同步 其设计过程如下 1 创建控制器设计原理图 模 2 除法器原理图如图 2 3 所示 沈阳航空航天大学课程设计报告 11 图 2 3 模 2 除法器的原理框图 2 创建元件图形符号 为能在图形编辑器 原理图设计输入方式 中调用 MOD2 芯片 需要为 MOD2 模块创建一个元件图形符号 可利用 Xilinx foundation f3 1 编译器中的如下步骤 实现 Tools Symbol Wizard 下一步 CP D 是输入信号 Q2 Q1 Q0 是输 出信号 其元件图形符号如图 2 4 所示 图 2 4 模 2 除法器元件图形符号 3 功能仿真 对创建的控制器模块进行功能仿真 验证其功能的正确性 可用 Xilinx 沈阳航空航天大学课程设计报告 12 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 端并行输出所输入的数据 1 创建控制器设计原理图 移位寄存器的原理框图如图 2 6 所示 图 2 6 移位寄存器的原理框图 2 创建元件图形符号 沈阳航空航天大学课程设计报告 13 为能在图形编辑器 原理图设计输入方式 中调用 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 编译器 Simulator 模块实现 D 串行输入数据 1100000 得到结 果 1100000 仿真结果如图 2 8 所示 沈阳航空航天大学课程设计报告 14 图 2 8 移位寄存器仿真结果 2 3 仿真调试 仿真调试主要验证设计电路逻辑功能 时序的正确性 本设计中主要采用功 能仿真方法对设计的电路进行仿真 1 建立仿真波形文件及仿真信号选择 功能仿真时 首先建立仿真波形文件 添加仿真信号 对选定的输入信号设 置参数 选定的仿真信号和设置的参数如表 2 2 所示 仿真时 D 输入信息码 1100000 A 输入循环校验码 1100000 G0 G1 G2 G3 输入生成多项式 1011 VCC 恒为 1 2 功能仿真结果与分析 功能仿真波形结果如图 2 9 所示 仿真数据结果如表 2 2 所示 对表 2 2 与表 1 1 的内容进行对比 可以看出功能仿真结果是正确的 进而说明电路设计的正 确性 沈阳航空航天大学课程设计报告 15 图2 9 功能仿真波形结果 D A CLOCK Q6 Q5 Q4 Q3 Q2 Q1 Q0 L6 L5 L4 L3 L2 L1 L0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 0 0 1 0 0 0 1 1 1 1 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0 1 1 0 1 1 0 0 0 0 0 1 0 1 1 0 0 0 1 0 1 1 0 0 0 1 沈阳航空航天大学课程设计报告 16 0 0 1 1 1 0 0 0 1 0 1 1 0 0 0 1 0 表 2 2 仿真数据结果 输入信息码为 1100000 生成多项式为 1011 应用模 2 除法器可以求出 三位余数为 010 然后把余数和信息码拼接可以得到 CRC 编码为 1100010 输入需要校验的 CRC 码为 1100000 生成多项式位 1011 可以求得三位 余数位 010 因为余数不为 000 可以判断出接受到的循环校验码是错的 并且错 误位在 Q1 通过校验电路修改可输出正确的 CRC 码 1100010 由图 2 9 的仿真 图和表 2 2 的仿真数据结果可以看出 生成的 CRC 码为 1100010 校验之后 CRC 码为 1100010 沈阳航空航天大学课程设计报告 17 第 3 章 编程下载与硬件测试 3 1 编程下载 利用 COP2000 仿真软件的编程下载功能 将得到 bit 文件下载到 XCV200 实 验板的 XCV200 可编程逻辑芯片中 3 2 硬件测试及结果分析 利用 XCV200 实验板进行硬件功能测试 CRC 码生成和校验的输入数据通过 XCV200 实验板的输入开关实现 输出数据通过 XCV200 实验板的 LED 指示灯实 现 其对应关系如表 3 1 所示 表 3 1 XCV200 实验板信号对应关系 XCV200 芯片引 脚信号 XCV200 实验板 XCV200 芯片引 脚信号 XCV200 实验板 XCV200 芯片引 脚信号 XCV200 实验板 D K1 0 Q6 A6 L6 B6 A K2 0 Q5 A5 L5 B5 CLK CLOCK Q4 A4 L4 B4 G3 K0 3 Q3 A3 L3 B3 G2 KO 2 Q2 A2 L2 B2 G1 K0 1 Q1 A1 L1 B1 G0 K0 0 Q0 A0 L0 B0 VCC K3 0 沈阳航空航天大学课程设计报告 18 参考文献 1 曹昕燕 EDA 技术实验与课程设计 M 北京 清华大学出版社 2006 2 范延滨 微型计算机系统原理 接口与 EDA 设计技术 M 北京 北京邮电大学 出版社 2006 3 爱英 计算机组成与结构 第 4 版 M 北京 清华大学出版社 2006 4 潘松 黄继业 EDA 技术使用教程 北京 科学出版社 2002 5 胡越明 2002 计算机组成与系统结构 北京 电子工业出版社 6 王炜 2006 计算机组成与设计实验教程 北京 科学出版社 沈阳航空航天大学课程设计报告 19 附 录 电路原理图
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!