- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA曼彻斯特编解码器设计
基于FPGA曼彻斯特编解码器设计
摘要:曼彻斯特码是一种性能良好的数字基带信号传输码,在工作原理的基础上,运用FPGA技术,利用VHDL设计完成曼彻斯特编解码器并用软件MAX +plusⅡ进行仿真,仿真结果与理论分析一致。
关键词:FPGA;VHDL;曼彻斯特码;编码器;解码器
中图分类号:TP305文献标识码:A文章编号文章编号2013)010002302
基金项目:忻州师范学院院级科研基金项目(201016);忻州师范学院院级科研基金项目(201116)
作者简介:任国凤(1979-),女,硕士,忻州师范学院电子系讲师,研究方向为信号处理及实现。
0引言
曼彻斯特码简明有效时序却比较复杂,特别是在编码器接口的设计上需要大量的逻辑电路,FPGA的出现正好缓解了这个难题。由于FPGA具有开发周期短、开发费用低、集成度高、性能稳定、结构灵活、成品不需要测试等诸多特点,所以越来越多的科学技术人员选择运用FPGA技术来进行电子电路的设计[1]。
1FPGA原理及开发工具
1.1FPGA原理
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,其内部包括3个部分:输入输出模块IOB(Input Output Block)、可配置逻辑模块CLB(Configurable Logic Block)以及内部连线(Interconnect)[2]。
FPGA是由存放在片内RAM中的程序来设置其工作状态的,所以工作时要对片内RAM进行编程。用户能够根据不同的配置模式来选择不同的编程方式。加电的时候,FPGA需要将EPROM中的数据读入片内编程RAM中,配置完成后FPGA就进入工作状态。因为掉电以后FPGA会恢复成白片,内部的逻辑关系会全部消失,所以FPGA能够反复使用。另外,FPGA的编程不需要专门的FPGA编程器,只需要用通用的EPROM、PROM编程器就可以解决,当需要修改FPGA的功能时,换一片EPROM就能够达到效果。同一片FPGA,不同的编程数据,能够产生不同的电路功能。所以FPGA的使用十分灵活[3]。
1.2MAX +plusⅡ软件
MAX +plusⅡ软件是由美国的Altera公司负责研究开发的。MAX +plusⅡ作为一种EDA软件,提供了业界唯一一个真正与结构没有关系的、全部集成化的可编程的设计环境,它为设计者提供了丰富的库单元,使设计者能够随时调用[4]。MAX +plusⅡ???有强大的逻辑综合与优化功能,方便把设计功能集成到器件中,所以它的功能非常强大。MAX +plusⅡ开发系统的设计输入方式十分灵活,可以采用原理图输入方式(Graphic)、文本输入方式(Text)、符号输入方式(Symbol)以及波形输入方式(Waveform)等多种输入方式[5]。在文本输入方式下,软件支持多种硬件描述语言[5]。
2曼彻斯特码工作原理
2.1曼彻斯特码原理
曼彻斯特码又叫做双相码,它是利用两个具有不同相位的二进制码来代替原来的二进制信息码。它是由普通二进制数据与其位率时钟信号相异或而得,解决了传输数据没有时钟的问题。编码规则如表1所示[6]。
表1曼彻斯特码的编码规则
不像AMI码和HDB3码那样,曼彻斯特码的特点是仅仅使用了两个电平。曼彻斯特码不仅能够提供足够的定时分量,而且没有直流漂移,更重要的是其编码过程比较简单,但是这种码的带宽与其它码相比较要宽一些。
2.2曼彻斯特码的帧格式
曼彻斯特码的帧格式由20位二进制代码组成,1~3位是同步头,用来表示帧类型,标识帧的开始[9]。同步头又可以分为命令同步和数据同步,如果同步头1.5位元处有上升沿,那么表示为数据同步,如果同步头1.5位元处有下降沿,那么表示为命令同步;4~19位是编码器接收到的待编码数据,20位为校验位,对4~19位的代码进行奇偶校验,如果数据位中的‘1’的个数是偶数,则用周期中心的下降沿来表示,如果数据中的‘1’的个数是奇数,则用周期中心的上升沿来表示。
3系统总体设计
3.1曼彻斯特码编码器设计
3.1.1曼彻斯特编码器设计流程
曼彻斯特编码器设计流程如图1 所示。
当使能信号in_enable为高电平时,编码周期开始;当同步选择信号ss为高电平时,表示输出信号为命令同步,当同步选择信号ss为低电平时,表示输出信号为数据同步;当输入数据使能信号in_enable 为‘1’时,表明允许数据输入,如果输入的数据信元data_in 为‘1’,编码就输出“10”来表示,如果输入数据信元data_in为‘0’,编码则输出“01”来表示。
3.1.2系统仿真
文档评论(0)