- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
CRC码是线性分组码的一个重要子集,它是为了保证通信系统中-Read.doc
CRC码是线性分组码的一个重要子集,它是为了保证通信系统中的数据传输可靠性而采取的信道编码技术。CRC码除了具有分组码的线性外,还具有循环性,其码字结构一般用符号(n,k)表示,其中,n是该码组中的码元数,k是信息码位数,r=n-k是监督码元位数。循环码具有许多特殊的代数性质,这些性质有助于按照要求的纠错能力系统地构造这类码,并能相应地简化译码算法。目前应用的CRC编码器主要由硬件电路实现,可以保证编码的快速性和实时性,但其缺点是系统复杂,可维护性差。本文介绍了一种以EDA设计工具MAX+PLUSII软件为基础,利用VHDL语言设计一个CRC(7,3)编码器的方法,采用此方法实现的编码器具有编码速度快,可靠性高以及易于大规模集成等优点。
1 编码原理??? 在CRC(7,3)编码过程中,要将任意的三位信息码转换为CRC码,实施编码时的主要决定因素有两个:信息码多项式m(x)和生成多项式g(x)。??? 信息码多项式就是以待转换信息码字为系数所构成的多项式,一旦信息码确定,则该多项式就是唯一的。信息码多项式只是编码器处理的对象,在整个编码过程中起决定作用的是生成多项式。??? 以CRC(7,3)码构成来说明生成多项式在编码中的作用,如表一所示。?表一 CRC(7,3)码构成过程??? 由表一所示的构成2k-1=7个非全0码字多项式的过程与结果看,编码时从x4+x3+x2+x=T(x)开始进行逐一循环,并以模x7+1进行运算,该码字正是信码组中最低位为1,对应码字多项式T(x),在全部非全0码字中,它的最高位阶次也最低,并等于n-k=4,即最高次项为x4。随后一系列码字都源于它的移i位(i=1,2,1,6)而形成,因此称其为生成多项式g(x),即生成多项式是(x7+1)的一个最高阶次为 (n-k)即4的因子,再将x7+1分解如下:x7+1=(x+1)(x3+x+1)(x3+x2+1)??? 从该分解式中可以看到其中可以组合为二因式中包含最高次为4次的情况有两种,即g1(x)=(x+1)(x3+x+1)=x4+x3+x2+xg2(x)=(x+1)(x3+x2+1)=x4+x2+x+1??? 这两个式子都可以作为生成多项式,所不同的是选用不同的生成多项式所生成的CRC码组不同。??? 当信息码多项式m(x)(次数小于k)和生成多项式g(x)确定以后,用xn-k乘m(x),得到xn-k(x)的次数必然小于n。用g(x)除xn-km(x),得到余式r(x),r(x)的次数必小于g(x)的次数,即小于(n-k)。将此余式加与xn-km(x)之后作为监督位。得到的多项式就是CRC码多项式,通过CRC码多项式的系数即可得到所编的CRC码字。
2 编码器设计2.1编码框图??? CRC编码器的主体是由移位寄存器和模2除法器构成的除法电路,通过逻辑开关的控制实施信息码的输入和CRC码的输出,编码电路框图如图一所示。?2.2 VHDL实现???? 本次设计的CRC编码器,利用MAXPLUS II软件平台,据CRC编码原理,采用VHDL文本输入法。为了提高编码的速度,在设计时采用信息位并行输入,CRC码并行输出的算法。程序经编辑调试通过后所生成的编码模块如图二所示。具体程序代码如下:LIBRARY ieee;USE ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity yancrc4 isport(sdata : in STD_LOGIC_VECTOR(2 DOWNTO 0);???? datacrco :out STD_LOGIC_VECTOR(6 DOWNT 0);???? hsend :out std_logic;???? clk,datald:IN_STD_LOGIC);END yancrc4;ARCHITECTURE rtl OF yancrc4 ISconstant multi_coef : STD_LOGIC_VECTOR(4 DOWNTO 0) :=10111;SIGNAL cnt,rcnt,ttemp :STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL dtemp :STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL sdatam,rdtemp:STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL rdatarcr:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL st,rt:STD_LOGIC;BEGINprocess(clk)variable
您可能关注的文档
最近下载
- 商业综合体信息化智能化系统平台建设一体化解决方案.pptx VIP
- GB+23350-2021限制商品过度包装要求 食品和化妆品.docx VIP
- 生产车间停线管理制度.docx VIP
- 滨海运动中心项目可行性研究报告.pptx VIP
- 项目一整理与收纳--教室环境清理任务一《教室卫生打扫》课件+人民美术出版社劳动实践指导手册七年级上册.pptx VIP
- 夏季饮品制作.docx VIP
- 百香果泡水喝方法.docx VIP
- 施工组织设计-钢结构施工组织设计-钢结构.doc VIP
- 2025年贵州省毕节中小学教师招聘考试题库及答案.docx VIP
- 中联W6015-8A塔吊安拆专项施工方案.docx VIP
文档评论(0)