CRC循环冗余校验码(并行+串行).docx

CRC循环冗余校验码(并行+串行).docx

ID:60778301

大小:351.43 KB

页数:16页

时间:2020-12-18

CRC循环冗余校验码(并行+串行).docx_第1页
CRC循环冗余校验码(并行+串行).docx_第2页
CRC循环冗余校验码(并行+串行).docx_第3页
CRC循环冗余校验码(并行+串行).docx_第4页
CRC循环冗余校验码(并行+串行).docx_第5页
资源描述:

《CRC循环冗余校验码(并行+串行).docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程报告设计课题:CRC循环冗余校验码姓名:陈舒凌,高冉专业:电子信息工程学号:日期2013年11月20日—2013年12月1日指导教师:傅文渊老师华侨大学信息科学与工程学院电子工程系CRC循环冗余校验码实验目的:设计一个在数字传输中常用的校验、纠错模块:循环冗余校验CRC模块,学习使用FPGA器件完成数据传输中的差错控制实验内容:采用的CRC生成多项式为X5+X4+X2+1,校验码为5位,有效信息数据为12位。A、根据以上信息,编写硬件描述语言完成上述功能,给出仿真波形。B、CRC校验生成模块和CRC校验查错模块连接在一起,协调工作。引出必要的观察信号,锁定引脚,并在EDA实验系

2、统上实现之。C、如果输入数据、输出CRC码都是串行的,设计该如何实现?给出你的方案,并通过硬件验证。模2运算的原理模2减法是不带借位的二进制减法运算。这样,两个二进制位相运算时,这两个位的值就能确定运算结果,不受前一次运算的影响,也不对下一次造成影响。模2除法运算定义为:0÷1=01÷1=1多位二进制模2除法也类似于普通意义上的多位二进制除法,但是在如何确定商的问题上两者采用不同的规则。后者按带借位的二进制减法,根据余数减除数够减与否确定商1还是商0,若够减则商1,否则商0。多位模2除法采用模2减法,不带借位的二进制减法,因此考虑余数够减除数与否是没有意义的。实际上,在CRC运算中

3、,总能保证除数的首位为1,则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1,按照模2除法运算法则,那么余数首位是1就商1,是0就商0。例如÷1011=1110……110,列竖式计算:1110────────1011〕1100100-1011──────1111-1011──────1000-1011──────0110-0000──────11引言随着工业控制系统网络化的不断发展,建立可靠、稳定、高速的通信网络已成为控制系统的必然要求。然而,在数字通信中可靠与快速往往是一对矛盾。若要求快速,则必然使得每个数据码元所占地时间缩短、波形变窄、能

4、量减少,从而在受到干扰后产生错误的可能性增加,传送信息的可靠性下降。若是要求可靠,则使得传送消息的速率变慢。其中差错检测和纠错控制是保证高可靠性的一种切实方法。在各种通信领域,多项式编码循环冗余码CRC简单且误判概率很低,被普遍应用。---实现方法CRC码是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是校验码,如果CRC码共长n个bit,信息码长k个bit,就称为(n,k)码。它的编码规则是:1)、首先将原信息码(kbit)左移r位(k+r=n)2)、运用一个生成多项式g(x)(也可看成二进制数)用模2除上面的式子,得到的余数就是校验码生成CRC码的基本原理:任意一个由

5、二进制位串组成的代码都可以和一个系数仅为‘0’和‘1’取值的多项式一一对应。例如:代码对应的多项式为x6+x4+x2+x+1,而多项式为x5+x3+x2+x+1对应的代码。程序设计的原理并行输入输出CRC校验生成模块:libraryIEEE;useieee.numeric_std.all;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitycrcversion2isPort(sdata:inSTD_LOGIC_VECTOR(11downto0);---

6、messagebitsclk:inSTD_LOGIC;redundant:outSTD_LOGIC_VECTOR(4downto0);---redundantbitsdataid:instd_logic;hsend:outstd_logic;datacrco:outSTD_LOGIC_VECTOR(16downto0));---messagewithredundantbitsendcrcversion2;architectureBehavioralofcrcversion2isbeginprocess(clk)variablev:std_logic_vector(16downto0

7、);variableu:std_logic_vector(16downto0);variablei,j:integer:=0;variablew:std_logic_vector(16downto0);constantmulticoef:STD_LOGIC_VECTOR(5downto0):="";---crcpolynomialbeginifclk'eventandclk='1'thenif(dataid='1')thenw(16downto5):=sdata(11

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。