- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ELECTRONICS WORLD 技术 交流
・
基于FPGA的循环冗余校验码设计
成都理工大学信息科学与技术学院 周 亮 余小平
【摘要】
本文主要介绍了循环冗余校验码的模块设计及其基本原理,并利用Verilog HDL设计循环冗余校验码,给出了
基于FPGA的可编程逻辑器件的实现方法及其仿真结果.同时阐述了循环冗余校验码的应用前景。
【关键词】
循环冗余校验码;Verilog;FPGA
在现代数字通信中,要求信息在传输过程中所造成 为11011。
的数字差错必须足够低。但由于通信信道里存在的噪声 (2)把待发送的数据串序列向左移动4位,后面补
和通信信道不理想的传输特性造成了信号的码间串扰, 0,从而得到新的数据串序列为110111010000。
从而导致了信息在传输过程产生了差错。所以为了最大 (3)使用模2除法,用生成多项式序列去除新生成
限度的保证通信过程中信息的完整性,就需要采用信道 的数据串序列。即:
编码技术对可能发生的差错进行有效的控制,而循环冗
余校验码就是其中一个最有效的编码技术。
1 循环冗余校验码基本思想
循环冗余校验码是一种校错能力很强且使用非常广
泛的差错检验方法。其通用的构成可以描述为:K位的有 这样得到了余数多项式R(x)对应序列为1010。
效信息数据串和R位的循环冗余校验码并在一起传输。 (4)将余数多项式R(x)对应序列并到新数据串序列后
1.1 循环冗余校验码生成基本原理 面,得到带有循环冗余校验码的数据串序列:110111011010。
循环冗余校验码在通信信号校错里广泛使用。其基 校验过程:
本原理是在发送端:将要发送的数据串序列当作一个多 假如信息传输正常,接收到的带有循环冗余校验码
5 3
项式T(x)的系数(比如,多项式为T(x)=x +x +x+1,则此 的数据串序列必定可以被在发送端所自定义的生成多项
多项式的系数就为101011,同时可以自定义一个k次幂的 式整除,也就是:
称为生成多项式的多项式G(x),为了使原来的数据串序
k
列在后面加入校验码,就必须使其向左移,所以用X 乘以
k
T(x),根据对二进制乘法的理解,得到的T(x)X ,就是起
到把T(x)原有数据串序列向左移动k位之后的结果。为了
k
得到校验码,用G(x)去作除数,T(x)X 作被除数,相除
得到一个余数多项式R(x).然后将余数多项式R(x)并在数
据串序列后面,把这串新的数据串序列作为发送序列发
送。在接收端:再次使用自定义的生成多项式G(x)去除 2 Verilog HDL核心程序
接收到的数据串序列多项式,如果相除所得到的余数多
项式和在发送端计算得到的余数多项式相同,则表示信 2.1 VeriIog HDL实现循环冗余校验码的生成代码
号传输正常,没有出现差错;反之,就表明信号传输错 其中polynomial表示生成多项式
误。为了更直观的说明循环冗余校验码的生成过程、校 if(dtemp[11]) dtemp[11:6] = dtemp[11:6]^polynomia
文档评论(0)