- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电子设计自动化
课程设计报告
设计课题: 通用异步收发器设计 姓 名: 学 院: 信息工程学院 专 业: 电子信息科学与技术 目录
1 UART简介 3
1.1 UART结构 3
1.2 UART的帧格式 3
1.3 UART的基本原理 3
2 UART的设计与实现 4
2.1 UART发送器 4
2.2 UART接收器 5
2.3数码管动态显示 6
2.4 波特率发生器 7
2.5 UART设计总模块 7
3硬件电路的调试 8
3.1硬件的测试 8
3.2 数码管动态数据 9
3.3 通过按键实现数据增减 10
3.3.1 键盘按键消抖 10
3.3.2 加一减一的程序 11
3.3.3 仿真图 12
4 总结 12
5 参考文献 12
摘要:UART(通用异步接收发送设备) 是一种短距离串行传输接口。在数字通信和控制系统中得到广泛应用。 CPLD 是大规模集成电路技术发展的产物,是一种半定制的集成电路。采用可编程逻辑器件 CPLD 实现UART 的方法,将UART的核心功能集成到 CPLD 上,本设计包含UART 的发送模块、接收模块和波特率发生器,所有功能的实现全部采用VHDL 硬件描述语言来进行描述。设计、综合、仿真在QUARTUSII 软件开发环境下实现。
关键词:UART;VHDL;CPLD
1 UART简介
UART(即Universal Asynchronous Receiver Transmitter 通用异步收发器)是一种应用广泛的短距离串行传输接口。UART允许在串行链路上进行全双工的通信。? UART主要有由数据总线接口、控制逻辑、波特率发生器、发送部分和接收部分等组成。串行外设用到的RS232-C异步串行接口,一般采用专用的集成电路即UART实现。使用VHDL将UART的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。
图一 基本UART帧格式
1.3 UART的基本原理
基本的UART通信只需要两条信号线:RXD和TXD,TXD是UART的发送端,RXD是UART的接收端,接收与发送是全双工工作的。
通过在串行端口上使用调制解调器,串行数据可以通过电话线进行长距离的收发(图二)。用于收发串行数据的串行通信接口通常称为UART(通用异步收发机)。
UART串行数据传输的示意图如图二所示:
图二 串行数据传输
发送数据过程:空闲状态,线路处于高电位,当收到发送数据指令后,拉低线路一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧数据发送结束。
接收数据过程:空闲状态,线路处于高电位,当检测到线路的下降沿(线路电位由高电位变为低电位)说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备准备接收数据或存入缓存。
2 UART的设计与实现
2.1 UART发送器 图三 发送结构框图
UART发送器的发送流程图如图四所示:
图四 UART发送器的发送流程图
2.2 UART接收器
图五 接收结构框图
接收器的接收原理流程图如图六所示:
图六 接收器的接收原理流程图
2.3数码管动态显示
图八所示的是共阳数码管及其电路,其中每个数码管的8个段: h、g、f、e、d、c、b、a(h是小数点)都连在一起。图九是4 位数码扫描显示电路,4个数码管分别由4个选通信号k1~k4来选择。被选通的数码管显示数据。例如,在某一时刻,k3为低电平,其余选通信号为高电平,这时仅k3对应的数码管显示来自段信号端的数据,就必须使得4个选通信号k1~k4分别被单独选通,与此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。
共阳数码管及其电路示意图如图七所示:
图七 共阳数码管及其电路
4位数码扫描电路的示意图如图八所示:
图八 4位数码扫描电路
2.4 波特率发生器
UART的接收和发送是按照相同的波特率进行收发的。波特率发生器产生的时钟频率不是波特率时钟频率,而是波特率时钟频率的16倍,目的是为在接收时进行精确地采样,以提出异步的串行数据。
2.5 UART设计总模块将发送器和接收器模块组装起来,就能较容易地实现通用异步收发器总模块,而且硬件实现不需要很多资源,尤其能较灵活地嵌入到FPGA/CPLD的开发中。
图九 UART设计流程图
3硬件电路的调试
3.1硬件的测试
图十为硬件的测试程序显示图,测试程序让4为数码管全部亮,蜂鸣器响。通过测试,硬件
文档评论(0)