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

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

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

2-24101GUGM49.doc

共1个文件

名称:串口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

演示视频:

设计文档:

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)
);

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

  • 2-24101GUGM49.doc
    下载

相关推荐