基于Verilog,HDL的UART模块的设计与仿真.docx

上传人:l*** 文档编号:9778143 上传时间:2022-04-06 格式:DOCX 页数:4 大小:18.01KB
返回 下载 相关 举报
基于Verilog,HDL的UART模块的设计与仿真.docx_第1页
第1页 / 共4页
基于Verilog,HDL的UART模块的设计与仿真.docx_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《基于Verilog,HDL的UART模块的设计与仿真.docx》由会员分享,可在线阅读,更多相关《基于Verilog,HDL的UART模块的设计与仿真.docx(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于Verilog,HDL的UART模块的设计与仿真 摘要:针对专用UART芯片兼容性和可移植性差的缺点,设计了一种用Verilog HDL语言描述,FPGA实现的UART模块,可有效实现微处理器和FPGA设备之间的串行数据通信,增加系统稳定性,节约开发成本。 关键词:UART FPGA 串行通信 Verilog HDL 中图分类号:TN919.7 文献标识码:A 文章编号:1017-941610-0175-01 UART即通用异步收发器,是一种短距离串行传输接口,被广泛应用于微处理器和外设之间的串行通信。随着FPGA芯片的广泛应用,大量数字系统中须要处理微处理器和FPGA之间的数据通信。采纳

2、专用UART集成电路芯片,可移植性和兼容性不强,会降低系统稳定性和牢靠性。假如把UART集成到FPGA器件内部,利用Verilog HDL语言描述其核心功能,制作成IP核,可增加系统稳定性。另外由于FPGA设计的敏捷性和可移植性,能便利地对系统进行升级。 1 UART的工作原理 在发送端,将并行的数字信号转化成串行信号传输给另外一台设备;在接收端,将串行信号复原成并行信号进行数据处理。UART只需两条信号线RXD接收数据、TXD发送数据和一条地线就可以完成全双工传输。由于UART是异步通讯,所以须要对数据进行同步,UART传输一帧数据时,首先发起始位低电平,接着发送D0D78位数据和校验位,最

3、终发送停止位的高电平。 串行数据发送时,由系统时钟分频得到波特率发生时钟,在其限制下将数据总线上的内容,加上起始位和停止位进行移位发送。接收时,须要一个远高于波特率的时钟信号对RXD不断取样,以保持接收器和发送器同步。在设计中,由系统时钟分频产生一个16倍于波特率的频率,即把一个位的数据分成16份。当检测到起始位的下降沿时,起先进行数据采样。采样的数据为一个位的第6,7,8三个状态,三个中取两个以上相同的值作为采样的结果,以避开干扰。当起始位的采样结果不是0时就判定为接收为错,把串行数据接收限制器的位计数器复位。当接收完数据后进行数据的输出,并把串行数据接收限制器的位计数器复位,等待下一数据的

4、到来。 2 UART的实现 2.1 发送模块的实现 发送模块用于将并行数据转换成串行数据发送。用Verilog HDL语言编程时,分三个进程设计:波特率产生进程、读数据缓存进程和发送进程。波特率产生进程将系统时钟分频得到波特率时钟;读数据缓存进程读入并行数据,加上起始位和停止位组成一帧数据;发送进程将数据移位输出,并设定中断标记。本模块输入端口有:写使能信号WR,并行八位数据Datain,系统时钟clk。输出端口有:串行数据限制时钟clkout,串行数据输出TXD,中断标记位TI。 2.2 接收模块的实现 接收模块接收来自外部的串行数据,进行数据采集,依据配置去除数据的起始位、停止位和奇偶校验

5、位,将其转换成并行的八位数据输出,并输出中断标记位。程序设计时,用两个进程实现。16倍波特率发生进程将系统时钟分频,产生一个16倍于波特率的时钟频率,用于数据采样;接收进程进行数据采集、数据接收和产生中断标记。本模块输入端口有:输入串行数据信号RXD,系统时钟clk。输出端口有:中断标记位RI,数据限制时钟输出clk_out,并行数据输出Dataout。 3 UART模块仿真 仿真采纳Altera公司的Quartus II软件,设定波特率时钟为系统时钟5000次分频得到。发送模块仿真时,设置并行八位输入数据Datain为为:“01010101”。WR写使能信号高电平有效后,将数据加上起始位0和

6、停止位1串行输出。数据传输完毕,TI中断标记置1。 接收模块仿真结果如图3.1所示。在输入一个低电平起始位后,串行输入八位数据“10101000”。输出clkout为系统时钟的312分频,即波特率时钟频率的16倍。RI为中断信号,在经过十个数据,即160个clkout之后,输出为1,表示1帧数据转换结束。Dataout为并行输出,输出结果从低位到高位为:“10101000”,与串行数据一样,转换结果正确。 4 结语 作为一种异步串行通信接口,UART因其传输线少,牢靠性高,被广泛运用于系统设备之间的数据通信。本文采纳Verilog HDL语言实现了UART的发送和接收功能,将此IP核集成到FP

7、GA上,可解决传统UART芯片兼容性差的缺点,使系统更加紧凑牢靠。 参考文献 1谭月杰.在CPLD中用UART逻辑实现高速异步串行通信J.电气应用,2022:5556. 2马游春,王文杰,李锦明.基于FPGA和UART接口的多路数据采集系统的实现J.火力与指挥限制,2022:134136. 3李海平,孔祥成.FPGA的UART设计和实现J.中国科学院探讨生院学报,2022:1101203. 第4页 共4页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页第 4 页 共 4 页

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

当前位置:首页 > 应用文书 > 策划方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁