基于Verilog的UART模块的设计--课程设计.doc

上传人:汽*** 文档编号:511845912 上传时间:2023-10-10 格式:DOC 页数:27 大小:537.51KB
返回 下载 相关 举报
基于Verilog的UART模块的设计--课程设计.doc_第1页
第1页 / 共27页
基于Verilog的UART模块的设计--课程设计.doc_第2页
第2页 / 共27页
基于Verilog的UART模块的设计--课程设计.doc_第3页
第3页 / 共27页
基于Verilog的UART模块的设计--课程设计.doc_第4页
第4页 / 共27页
基于Verilog的UART模块的设计--课程设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《基于Verilog的UART模块的设计--课程设计.doc》由会员分享,可在线阅读,更多相关《基于Verilog的UART模块的设计--课程设计.doc(27页珍藏版)》请在金锄头文库上搜索。

1、 电子课程设计实践报告题 目:基于Verilog的UART模块的设计 班 级: 信科07-4班 学 号: 08073653 姓 名: 姚万华 指导教师: 孙统风 中国矿业大学计算机学院2010-6-2摘 要UART(即 Universal Asynchronous Receiver Transmitter通用异步收发器)是广泛使用的串行数据传输协议。UART允许在串行链路上进行全双工的通信。通过应用 EDA技术,基于 CPLD/ FPGA器件设计与实现 UART的波特率产生器、UART发送器和接收器及其整合电路,目的是熟练运用 Verilog HD语言,掌握 CPLD芯片的使用。波特率发生器、

2、接收器和发送器是UART的三个核心功能模块,利用Verilog HDL语言对这三个功能模块进行描述并加以整合,通过MaxPlusII10.01仿真,用串口调试助手进行验证,其结果完全符合UART协议的要求和预期的结果。关键词:UART;串行通讯;VerilogHDL;CPLD;仿真目 录第1章 课题概述31.1 课题背景21.2 课题目的与意义21.3 报告组织结构2第2章 相关理论与技术32.1 UART相关内容简介32.1.1复杂可编程逻辑器件CPLD简介32.1.2 RS-232介绍32.1.3 VerilogHDL简介62.2 UART协议介绍62.3 硬件结构设计82.4软件设计9第

3、3章 课题详细设计与实现93.1UART的整体设计93.2 波特率发生器113.2.波特率的分频因子的计算113.3 接收模块设计133.3.1接收模块原理133.3.2接收模块的源程序143.4 发送模块设计53.4.1发送模块设计原理53.4.2发送模块源程序63.5功能的测试11结 论11参考文献1210第1章 课题概述1.1 课题背景UART协议是数据通信及控制系统中广泛使用的一种全双工串行数据传输协议,在实际工业生产中有时并不使用UART的全部功能。只需将其核心功能集成即可。波特率发生器、接收器和发送器是UART的三个核心功能模块,利用Vefilog-HDL语言对这三个功能模块进行描

4、述并加以整合UART(即Universal AsynchronousReceiver Transmitter 通用异步收发器)是广泛使用的串行数据传输协议。UART允许在串行链路上进行全双工的通信。串行外设用到RS232-C异步串行接口,一般采用专用的集成电路即UART实现。如8250、8251、NS16450等芯片都是常见的UART器件,这类芯片已经相当复杂,有的含有许多辅助的模块(如FIFO),有时我们不需要使用完整的UART的功能和这些辅助功能。或者设计上用到了FPGA/CPLD器件,那么我们就可以将所需要的UART功能集成到FPGA内部。使用VHDL或Veriolog -HDL将UAR

5、T的核心功能集成,从而使整个设计更加紧凑、稳定且可靠。本文应用EDA技术,基于FPGA/CPLD器件设计与实现UART。1.2 课题目的与意义实际应用上,有时我们不需要使用完整的UART的功能和这些辅助功能。使用Verilog-HDL将所需要的UART的核心功能集成到FPGACPLD内部,就可以实现紧凑、稳定且可靠的UART数据传输。这样,既可以满足实际的应用,实现所要求的简单的通信和控制,又能够去除更多不需要的繁杂复杂的功能实现。1.3 报告组织结构第一章介绍课题的背景目的及意义,同时介绍了整个课题报告的组织形式。第二章介绍UART协议和硬件结构;以及RS232的简要介绍。简要介绍了课题所用

6、的语言Verilog HDL语言。第三章是课题的详细设计,分为波特率分频因子的计算,接收模块和发送模块。每一部分分为设计原理和源程序。最后是结论和参考文献。第2章 相关理论与技术2.1 UART相关内容简介2.1.1复杂可编程逻辑器件CPLD简介CPLD是 Complex PLD的简称, 顾名思义, 其是一种较PLD为复杂的逻辑元件。CPLD是一种整合性较高的逻辑元件。由于具有高整合性的特点, 故其有性能提升, 可靠度增加,PCB面积减少及成本下降等优点。CPLD元件,基本上是由许多个逻辑方块(Logic Blocks) 所组合而成的。而各个逻辑方块均相似于一个简单的PLD元件( 如 22V1

7、0) 。逻辑方块间的相互关系则由可变成的连线架构, 将整个逻辑电路合成而成。常见的CPLD元件有 Altera 公司的Max5000 及Max7000 系列。Cypress的 Max340 及Flash370 系列等, 一般来说, CPLD元件的逻辑门数约在10007000 门之间。【1】2.1.2 RS-232介绍RS232接口,就是普通电脑后面那个串口.一般为9针的,也有25针的.是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”

8、(RS-232C,其中C表示此标准修改了三次).标准中包括了电气和机械方面的规定.该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定.后来随着设备的不断改进,成了目前大家普遍见到的9脚.【2】在不使用传输控制信号的情况下,用3根线就可以传输了,9芯的是2收3发5地,25芯的是2发3收7地。两设备用RS232相连的时候为收发,发收,地地。接口特性: (1)接口的电气特性:在RS-232C中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”,-5 -15V;逻辑“0” +5 +15V 。噪声容限为2V。即要求接收器能识别低至+3V的信号作

9、为逻辑“0”,高到-3V的信号作为逻辑“1” (2) 接口的物理结构: RS-232-C接口连接器一般使用型号为DB25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。 (3) 传输电缆长度由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺.其实在一般应用中,传输距离小于50m,最大传输速率为20kbps.由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点: (1)

10、接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL电路连接。 (2)传输速率较低,在异步传输时,波特率为20Kbps。 (3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。 (4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。 RS232的接口芯片 单片机的串口是TTL电平,在实际应用时,需要将TTL电平转换成RS232电平。RS232的接口芯片很多,最著名的当然是maxim公司的max232;跟这个芯片完全兼容的芯片很多,象LINEAR公司的LT1081、

11、LT1181,HARRIS的ICL232等,都是十分著名且常用的芯片,LINEAR的串行接口转换芯片在早期的电路设计中经常可以见到,但是近来好像比较少见了。ICL232似乎比MAX232便宜。看MAX232的原理框图,需要注意到2点:1)需要外接电容0.1u电容,或者1u的胆电解电容或电解电容,有一款232芯片不需要外接电容,但是因为在芯片中做一个达到电容效果的电路是比较难,所以也比较贵;所以一般都选用外接电容的;之所以需要电容,是因为RS232电平是工作在大约9V9V之间,需要电容将5V电压转换成Rs232电平所需要的10V和10V;电路上叫电荷泵,很形象;2) Rs232的逻辑和TTL是正

12、好相反的。在框图上,输入和输出之间的逻辑是反的;对于TTL电平,当没有232信号发出时,是高电平;对于RS232来说,这时,TX端是-89V电压,相对于0V来说;如果有了信号,那就是从+9V-9V交错变化的一系列信号,使用示波器可以看到信号的变化。利用以上的特点,我们可以测试RS232接口电路的好坏。1)判断芯片是否正常,参见MAX232的框图,使用万用表测量2和6脚,只要2脚的电压在8V9V之间、6脚在-8V-9V之间,就基本上可以断定这个芯片是好的;2)在Rs232没有发信号时,看TX端电压为Rs232的高电平,也就是-8V-9V之间,当发信号时,数据在变化,这说明这个Rs232的端口是好

13、的;这个方法也适用于测量本地的串口。早起的RS232接口芯片是MC1488(发送)、MC1489。MC1489因为只有接收,所以是单5V电源工作;MC1488则需要正负12V电源;但是在工控机的板卡中,正负电源不是问题,所以在moxa C168等多串口卡中,仍然使用MC1488、MC1489,价格便宜成本低啊2.1.3 VerilogHDL简介Verilog HDL是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL

14、 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。所有这些都使用同一种建模语言。此外,Verilog HDL语言提供了编程语言接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体控制和运行。Verilog HDL语言不仅定义了语法,而且对每个语法结构都定义了清晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用Verilog仿真器进行验证。语言从C编程语言中继承了多种操作符和结构。Verilog HDL提供了扩展的建模能力,其中许多扩展最初很难理解。但是,Verilog HDL语言的核心子集非常易于学

15、习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描述语言足以对从最复杂的芯片到完整的电子系统进行描述。2.2 UART协议介绍基本的UART通信只需要两条信号线(RxD,TxD)就可以完成数据的全双工通信任务。TxD是UART发送端,为输出;RxD是UART接收端,为输人【3】。UART的基本特点是:在信号线上共有两种状 态,分别用逻辑1(高电平)和逻辑O(低电平)来区分。例如,在发送器空闲时,数据线保持在逻辑高电平状态,发送器是通过发送起始位来开始一个数据帧的传送,起始位使数据线处于逻辑O状态,提示接收器数据传输即将开始。接着发送数据位,数据位一般为8位一个字节的数据(也有5位、6位或7位的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 食品饮料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号