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

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

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

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
    下载

相关推荐