uart异步串口通信电路设计Verilog代码Quartus
名称:uart异步串口通信电路设计Verilog代码Quartus
软件:Quartus
语言:Verilog
代码功能:
功能描述
提高∪ART通信的传输速率,支持更高的波
特率(如115200、230400或更
实现方法
1.优化波特率分频
使用更高的系统时钟频率(如100MHz)和更小的分频系数。
例如,系统时钟为100MHz,波特率为115200时,分频系数为
text 0复制代码
Baud Rate Divisor 100, 000, 000115,200≈868
2.使用PLL生成精确时钟
使用FPGA的PLL(锁相环)模块生成精
确的波特率时钟,減少时钟误差。
3.多倍采样
在接收端使用多倍采样(如16倍采样来提高数据采样的准确性,尤其是在高波特率下。

编辑

演示视频:
1、工程文件

编辑
2、程序文件

编辑

编辑

编辑
3、程序编译

编辑
4、RTL图

编辑
5、管脚分配

编辑
6、仿真图
Testbench

编辑
仿真图
顶层模块
Uart波特率为115200,仿真时为便于验证正确性,将发送和接收回环,验证接收到得数是否等于发送得数

编辑
上图为顶层模块,先后发送了0x35(00110101)和0x76(01110110),可以看到接收端成
功接收到这两个数
发送模块

编辑
发送0x35(00110101)和0x76(01110110)的波形
接收模块

编辑
接收0x35(00110101)和0x76(01110110)的波形
部分代码展示:
//UART module uart_top( input sys_clk, //外部时钟 input sys_rst_n, //外部复位信号,低有效 input send_key,//发送按键 input [7:0] data_in,//发送数据输入 output [7:0] recv_data,//接收的数据(led显示) //uart接口 input uart_rxd, //UART接收端口 output uart_txd //UART发送端口 ); wire uart_done; //UART发送使能 wire [7:0] uart_data; //UART发送数据 //UART接收模块 uart_recv i_uart_recv ( .sys_clk (sys_clk), .sys_rst_n (sys_rst_n), .uart_rxd (uart_rxd), .uart_done (uart_done), .uart_data (uart_data) ); //UART发送模块 uart_send i_uart_send ( .sys_clk (sys_clk), .sys_rst_n (sys_rst_n), .uart_en (send_key), .uart_din (data_in), .uart_txd (uart_txd) ); assign recv_data=uart_data;//输出接收数据 endmodule
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » uart异步串口通信电路设计Verilog代码Quartus
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » uart异步串口通信电路设计Verilog代码Quartus
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm