- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行CRC-16校验码产生器设计.doc
课程设计报告
题 目: CRC-16校验码产生器设计
院 (系): 子
专 业: 电子信息科学与技术
班 级:
姓 名:
设计日期: 2013.12.16-2013.12.20
一
1.2.3.4.二8 bit并行输入数据进行CRC-16校验。
1.1bit宽2.生成多项式;
3.4.三环境计算机、四内容(和方案程序设计、仿真分析和适配
4.1设计原理和方案
CRCCyclic Redundancy Check):是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。冗余编码是在二进制通信系统中常用的差错检测方法,它是通过在原始数据后加冗余校验码来检测差错,冗余位越多,检测出传输错误的机率越大。循环冗余编码(Cyclic Redundancy Codes,简称CRC)是一种常用的冗余编码。
CRC校验的基本原理是:CRC码是由两部分组成的,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码长共n bit,信息码长k bit,就称为(n,k)码,剩余的r bit即为校验位。如:(7,3)码:110 1001,前三位110为信息码,1001为校验码。CRC校验码的生成规则:
A、r bit,右侧补零,如110 -- 110 0000;
B、110 0000除以(x),得到的余数即为CRC校验码;
CRC可由一称为生成多项式的常数去除该数据流的二进制数值而得,商数被放弃,余数作为冗余编码追加到数据流尾,产生新的数据流进行发送。在接收端,新的数据流被同一常数去除,检查余数是否为零。如果余数为零,就认为传输正确,否则就认为传输中已发生差错,该数据流重发。
在产生CRC校验码时,需要用到除法运算。一般说来,非常大的数字进行除法时,用数字逻辑实现时是比较麻烦的。因此,把二进制信息预先转换成一定的格式,这就是CRC的多项式表示。二进制数表示为生成多项式的系数,如下公式所示:
生成多项式是接受方和发送方的一个约定,也就是一个二进制数,在整个传输过程中,这个数始终保持不变。
在发送方,利用生成多项式对信息多项式做模2除生成校验码。在接受方利用生成多项式对收到的编码多项式做模2除检测和确定错误位置。应满足以下条件:
A、生成多项式的最高位和最低位必须为1;
B、当被传送信息任何一位发生错误时,被生成多项式做除后应该使余数不为0;
C、不同位发生错误时,应该使余数不同;
D、对余数继续做除,应使余数循环。
在多项式表示中,所有的二进制数均被表示成一个多项式,多项式的系数就是二进制中的对应值。D为数据流多项式,G为生成多项式,Q为商数多项式,R为余数多项式。在生成CRC校验码时,数据流多项式D被乘以Xn,这里n为生成多项式G的最高次数,也就是CRC的长度。这个操作是通过将左移n位得到的,我们可以用CRC来代替多项式最后的n个0,组成新的数据流多项式。由于二进制的加法和减法是等价的,所以产生新的数据流多项式应能被生成多项式G除尽。用以下公式表示为:
在接收端,传输信息的前一部分为原始数据流D;后一部分(最后n位数)为余数R。整个数据流多项式被同一生成多项式G去除,商数被丢弃,余数应为0。如果余数不为0,说明传输数据时发生错误,数据需要重传。
不同的生成多项式有不同的检错能力,为了得到优化的结果,我们必须根据需要选择合适的生成多项式,CRC-16的生成多项式为:
Serial Data即为需要校验的8bit数据。从把数据移位开始计算,将数据位(从最低的数据位开始)逐位移入反向耦合移位寄存器。当所有数据位都这样操作后,计算结束。此时,16位移位寄存器中的内容即为CRC的16位校验码。生成CRC-16的移位寄存器的工作原理如图4.1所示说明并行CRC-16校验码产生器设计中CRC校验值的计算原理。
图4.1生成CRC-16的移位寄存器的工作原理
4.2程序设计及仿真
CRCCRC校验码产生器和并行CRC校验码产生器。本文用到的是并行CRC校验码产生器。由于计算并行CRC时用到了串行CRC的一些思想,所以在此先讲一下串行CRC的产生。通常,CRC校验码的值可以通过线性移位寄存器和异或门求得,线性移位寄存器一次移一位,完成除法功能,异或门完成不带进位的减法功能。如果商数为1,则从被除数的高阶位减去除数,同时移位寄存器右移一位,准备为被除数的较低位进行运算。如果商数为0,则移位寄存器直接右移一位。串行CR
您可能关注的文档
最近下载
- 【教学设计】 相交线.pdf VIP
- 期末模拟质量检测卷(试题)2023-2024学年统编版语文五年级上册.docx VIP
- 基于STM32指纹识别密码锁控制系统的设计与实现毕业论文.doc
- 干阑式建筑课件.ppt
- 新生儿早期基本保健(EENC)—新生儿早期基本保健(EENC)概述(儿童保健课件).pptx VIP
- 期末模拟质量检测卷(试题)2023-2024学年统编版语文五年级上册 (1).docx VIP
- 重庆工商大学2021-2022学年《Python程序设计》期末考试试卷(B卷)及标准答案.docx
- 应急管理综合行政执法有关政策解读-2024年云南省执业药师公需课答案.docx VIP
- 中国乙型肝炎病毒母婴传播防治指南(2024年版)解读.pdf
- 小学六年级语文上册各单元(1-8单元)检测试题卷含答案全套(部编版统编教材).doc
文档评论(0)