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

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

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

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

相关推荐