语言:Verilog
代码功能:
功能描述
提高∪ART通信的传输速率,支持更高的波
特率(如115200、230400或更
实现方法
1.优化波特率分频
使用更高的系统时钟频率(如100MHz)和更小的分频系数。
例如,系统时钟为100MHz,波特率为115200时,分频系数为
Baud Rate Divisor 100, 000, 000115,200≈868
2.使用PLL生成精确时钟
使用FPGA的PLL(锁相环)模块生成精确的波特率时钟,減少时钟误差。
3.多倍采样
在接收端使用多倍采样(如16倍采样来提高数据采样的准确性,尤其是在高波特率下。
演示视频:
部分代码展示:
//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
代码文件(付费下载):
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1540
阅读全文
1576