- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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,分别
您可能关注的文档
最近下载
- 智慧城市云计算大数据中心项目深化设计方案(403页word).docx VIP
- 全国高中青年数学教师优质课大赛一等奖《基本不等式》教学设计.doc VIP
- 中华民族共同体概论第一讲 中华民族共同体基础理论part1.pptx VIP
- 儿童绘本改编与创作教案.pdf VIP
- JGJ-T291-2012:现浇塑性混凝土防渗芯墙施工技术规程.pdf VIP
- 实施指南《GB_T18944.2-2022柔性多孔聚合物材料海绵和发泡橡胶制品规范第2部分:模制品与挤出制品》实施指南.docx VIP
- 2022新能源风电场接入集控中心技术方案.doc VIP
- 白头翁的故事培智.ppt VIP
- 应聘人员登记表单.docx VIP
- 5S_培训教材.ppt VIP
文档评论(0)