基于EDA 技术的全双工UART 电路设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于EDA 技术的全双工UART 电路设计.doc

  基于EDA 技术的全双工UART 电路设计|第1 ... EDA 技术是以大规模可编程逻辑器件为设计载体,以硬件描述语言为主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、仿真,直至最终形成集成电子系统或专用集成芯片的一门新技术。本课题采用A1tera 公司的MAX+plusII为设计平白,以超高速集成电路硬件描述语言VHDL 为系统逻辑描述的唯一表达方式,采用自顶向下的设计原则,对全双工异步接收发送器(UART) 进行设计。同时选用Altera 公司的ACEX lK 系列器件EPIK100QC208-2来实现最终的UART 电路。由于篇幅的关系,笔者不打算对开发平台、开发工具以及最终实现硬件电路的可编程逻辑芯片进行介绍,而是着重介绍怎样用VHDL 语言来实现符合要求的UART 电路模块。 二、系统功能简介 图1是一个8位全双工UART的硬件组成框图。该电路的主要功能是: (1)从计算机接收8 位并行数据并写到串行输出; (2) 从南口读入外部数据并将其转换为8 位并行数据送往计算机。该系统主要由四个模块构成,PAR_IN_SER_OUT 执行并入串出操作, SER _IN_ PAR_OUT 执行串入并出操作, INTERFACE 是并行数据与外部的接口, CLOCK_GEN 产生工作时钟。 串入并出操作由串行输入的下降沿触发,串行输入要保持低电平半个周期以上。此半周期时钟同时作为输入移位时钟, 8 位数据输入结束后,结信号NINTI 变为O 并维持到下一次数据输入。井入串出操作由输入信号LOAD 的高电平出发,串行输出结束后,结束信号NINTO 变为00 8 位数据口是双向的。 三、系统实现 1.顶层设计 基于自顶至下的和基于库的设计方法是VHDL 的一大优点。因此按照层次式的设计方法,首先写出系统的顶层描述。在顶层文件中首先在al style=MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none align=left 2. 低层设计 (1)并行数据与外部电路的接口电路interface 下面的VHDL 源代码描述的是元件interface 及其位单元的模型。元件interface 用来隔离串入并出电路的输出与8 位并行数据双向端口data 。在其位单元中,当使能端为0 时,输出高阻态,这时可以从外部向data 端写入数据。通过IEEE 的STD_LOGIC 决断函数的判断,par_in_sec_out 执行并串转换。当使能端为`1时,执行串并转换, ser _in_ par _out 的输出写到data 端。在综合时,综合器根据三态推断的原则,用三态缓冲器实现这个电路。程序中的GENERIC用于形成8 位缓冲器电路。 ENTITY interface_std _logic IS PORT (A: IN STD_LOGIC; E: IN STD_LOGIC; z: OUT STD_LOGIC); END interface_std_logic; ARCHITECTURE alg OF interface_std_logic IS BEGIN PROCESS (a, e) BEGIN IF E= 0 THEN Zlt;= ‘ Zi ELSE Zlt;=A; END PROCESS; END alg; ENTITY interface IS PORT (in_al style=MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none align=leftEND interface; ARCHITECTURE struc OF interface IS BEGIN GEN interface: FOR I IN al style=MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none align=leftUl: interface_std_logic PORT MAP (in_al style=MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-layout-grid-align: none align=leftEND GENERATE; END struc; (2) 时钟产生电路 设计的这段VHDL 程序产生两个时钟信号-oclk 和iclk,分别

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档