串口UART发送器和接收器设计Verilog代码Quartus DE2开发板

名称:串口UART发送器和接收器设计Verilog代码Quartus  DE2开发板

软件:Quartus

语言:Verilog

代码功能:

串口UART发送器和接收器

波特率57600, 奇偶校验:偶,位数:7bits, 输入Sw[13:7],发送键key3,输出Hex1-0,framing error: LEDG[7], 奇偶校验error: LEDG[6]

在分配的第一部分中,您将开发一个UART发送器,以通过串行链接从DE2板向运行终端程序的PC串行发送数据。然后,PC应显示所传输数据的ASCII值。例如,如果发送了0x41,则应显示大写字母“ A”。通过在“输入”上键入二进制数据来输入数据,然后在按下“发送”键时进行传输。数据应按照表2所示的波特率,奇偶校验和位数进行传输。在分配的第二部分和最后一部分中,您将开发一个UART接收器,以通过PC上的串行链路将数据串行接收到DE2板上。运行终端程序。然后,DE2应该在7段LED上以十六进制显示接收到的数据的ASCII值。数据应按照表2所示的波特率,奇偶校验和位数进行接收。如果有framing error 或奇偶校验错误,则应点亮相应的LED(请参阅表2)。请确保您的设计是完全同步的,即所有D型触发器都应以系统时钟作为时钟源。您应该将这两个部分都包含在顶级文件中,以便同时发送和接收


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

本代码已在DE2开发板验证,DE2开发板如下,其他开发板可以修改管脚适配:DE2开发板.png

演示视频:

设计文档:

设计文档.doc

1. 工程文件


2. 程序文件


3. 程序编译


4. 管脚分配


5. RTL图


6. Testbench


7. 仿真图

发送0110010,接收到0110010


发送1011001,接收到1011001


部分代码展示:

module UART(
input clk_50M,
input reset_n,
//串口收发
input rx,//UART_RXD
output tx,//UART_TXD
input [6:0] SW,//输入Sw[13:7]
input key3,//发送键
output [7:0] HEX0,//数码管显示
output [7:0] HEX1,//数码管显示
output framing_error,//LEDG[7]
output error//奇偶校验error,LEDG[6]
);
//波特率57600, 奇偶校验:偶,位数:7bits
wire [6:0] receive_data;
wire [6:0] send_data;
assign send_data=SW;
assign framing_error=0;
//接收模块
UART_rx_module i_UART_rx_module(
.clk(clk_50M),
.rst_p(!reset_n),
.rs232_rx(rx),
.receive_data(receive_data),
.error(error)
);
//发送模块
UART_tx_module i_UART_tx_module(
.clk(clk_50M),
.rst_p(!reset_n),
.send_data(send_data),
.key3(key3),
.rs232_tx(tx)
);
//显示模块
display i_display(
. clk_50M(clk_50M),
. receive_data(receive_data),
. HEX0(HEX0),
. HEX1(HEX1)
);

代码文件(付费下载):



1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 串口UART发送器和接收器设计Verilog代码Quartus DE2开发板

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员