• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

UART异步串行通信协议RS232Verilog代码Quartus仿真

07/07 09:18
261
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24011Q53525161.doc

共1个文件

名称:UART异步串行通信协议RS232Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

UART异步串行通信协议RS232

设计要求:

1.按照10位异步串行通信协议(1个起始位、1个停止位和8个数据位,8位并行数据从最低位开始逐位传送)、波特率2400,时钟源为50MHz,设计UART发送端电路,并仿真验证电路功能;

2.按照与发送端一致的协议和波特率、相同频率的时钟源,将接收到的数据转换成8位并实行数据。设计UART接收端电路,并仿真验证电路功能;

3.把1、2中设计的两个电路合并到一个可综合模块中,并仿照题目1中的M0模块编写该题目的测试模块,产生10组测试信号,以仿真验证所设计电路是否能正确发送,接收数据。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

发送模块仿真图

接收模块仿真图

部分代码展示:

//UART顶层模块
//波特率2400,1位起始位,8位数据位,1位停止位
//将发送模块的串行输出接到接收模块的串行输入上
//验证接收数据是否等于输入数据
module?uart_top(
????input???????????sys_clk,??????????//外部50M时钟
????input???????????sys_rst_n,????????//外部复位信号,低有效
?input??????????send_en,????????//发送使能
?input??????????[7:0]?data_send,???//发送数据?
?output?????????receive_vld,?//接收数据有效指示
?output?[7:0]?data_receive?//接收数据
????);
????
//wire?define???
wire?uart_rx_tx;//将发送模块的串行输出接到接收模块的串行输入上
//UART接收模块?????
uart_recv?u_uart_recv(?????????????????
????.sys_clk????????(sys_clk),//外部50M时钟?
????.sys_rst_n??????(sys_rst_n),//外部复位信号,低有效
????.uart_rxd???????(uart_rx_tx),//UART接收端口
????.uart_done??????(receive_vld),//接收数据有效指示
????.uart_data??????(data_receive)//接收数据LED显示
????);
?
//UART发送模块????
uart_send?u_uart_send(?????????????????
????.sys_clk????????(sys_clk),//外部50M时钟?
????.sys_rst_n??????(sys_rst_n),//外部复位信号,低有效
????.uart_en????????(send_en),//发送按键
????.uart_din???????(data_send),//发送数据
????.uart_txd???????(uart_rx_tx)//UART发送端口
????);
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=600

  • 2-24011Q53525161.doc
    下载

相关推荐