- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CRC码生成与校验电路的设计技术方案
目 录
TOC \o "1-3" \h \z
HYPERLINK \l _Toc29907 第1章 总体设计方案 PAGEREF _Toc29907 1
HYPERLINK \l _Toc2973 1.1 设计原理 PAGEREF _Toc2973 1
HYPERLINK \l _Toc20896 1.2 设计思路 PAGEREF _Toc20896 2
HYPERLINK \l _Toc15333 1.3 设计环境 PAGEREF _Toc15333 3
HYPERLINK \l _Toc30167 第2章 详细设计方案 PAGEREF _Toc30167 5
HYPERLINK \l _Toc5293 2.1 顶层方案图的设计与实现 PAGEREF _Toc5293 5
HYPERLINK \l _Toc27988 2.1.1创建顶层图形设计文件 PAGEREF _Toc27988 6
HYPERLINK \l _Toc12886 2.1.2器件的选择与引脚锁定 PAGEREF _Toc12886 6
HYPERLINK \l _Toc27424 2.1.3编译、综合、适配 PAGEREF _Toc27424 8
HYPERLINK \l _Toc2882 2.2 功能模块的设计与实现 PAGEREF _Toc2882 8
HYPERLINK \l _Toc25993 2.2.1模2除法器的设计与实现 PAGEREF _Toc25993 8
HYPERLINK \l _Toc6172 2.2.2移位寄存器的设计与实现 PAGEREF _Toc6172 10
HYPERLINK \l _Toc10207 2.3 仿真调试 PAGEREF _Toc10207 11
HYPERLINK \l _Toc32533 第3章编程下载与硬件测试 PAGEREF _Toc32533 14
HYPERLINK \l _Toc12067 3.1 编程下载 PAGEREF _Toc12067 14
HYPERLINK \l _Toc25182 3.2 硬件测试及结果分析 PAGEREF _Toc25182 14
HYPERLINK \l _Toc4397 参考文献 PAGEREF _Toc4397 15
HYPERLINK \l _Toc13100 附 录(电路原理图) PAGEREF _Toc13100 16
第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位的二进制代码,将它表示为一个(k-1)阶的多项式
(1-1)
多项式(1-1)中的系数D的取值为0或1,与被校验的数据M一一对应;式中的x是一个伪变量,用指明各位的位置。
设校验码P长度为r,将被校验数据D左移r位后的结果为
将D左移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,则表明传送过程中没有错误发生,若出现一位错,根据余数与出错位一一对应的关系,可利用余数对错误码进行定位。因此,接收方可根据表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
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
表1.1 循环校验码的出错模式
设计思路
文档评论(0)