搜索

uart232串口之三——电脑发数据到fpga,再返回到电脑

[复制链接]
37|1
 楼主 | 2021-1-9 11:35 | 显示全部楼层 |阅读模式
程序,就是简单 的接收从电脑串口发来的数据,然后把收到的数据,发到电脑。在电脑上可用串口监控软件来发送。发送完成后,观察是否有数据接收过来。

发送模块,和接收模块,和前面的一样这里就不把代码贴出来了。仅仅是修改顶层文件就可以。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

下面是顶层文件

`timescale 1ns/1ps

module top(clk, Rest_n,uart_rx, uart_tx) ;

input  clk;

input  Rest_n;

input   uart_rx;

output  uart_tx;

//wire tx_done;

wire [7:0] data_recv;

wire rx_done;

rs232_rx_cnt u3(

.clk(clk),

.rst_n(Rest_n),

.sel_bps(3'd2),

.uart_rx(uart_rx),

.rx_done(rx_done),

.data_recv(data_recv)

);

rs232_tx_cnt u2(

.Clk(clk),

.rst_n(Rest_n),

.en_go(rx_done),

.tx_done(),

.sel_bps(3'd2),//

.Data(data_recv),

.uart_tx(uart_tx)

);

endmodule

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

编译,下载bit文件到fpga之后。


上面是,串口发是数据,01020304等等, 在接收窗口部分,收到了发送的数据。说明程序功能正常。

附上引脚约束文件。这里是vivado的。如果是ISE软件,语法不一样。

#set UnusedPin

#set_property BITSTREAM.CONFIG.UNUSEDPIN Pullnone [current_design]

set_property PACKAGE_PIN Y18 [get_ports clk]

set_property IOSTANDARD LVCMOS33 [get_ports clk]

set_property PACKAGE_PIN F15 [get_ports Rest_n]

set_property IOSTANDARD LVCMOS33 [get_ports Rest_n]

#uart_tx

set_property PACKAGE_PIN M15 [get_ports uart_tx]

set_property IOSTANDARD LVCMOS33 [get_ports uart_tx]

set_property PACKAGE_PIN J20 [get_ports uart_rx]

set_property IOSTANDARD LVCMOS33 [get_ports uart_rx]

使用特权

评论回复
| 2021-1-12 17:21 | 显示全部楼层
谢谢分享,学习了!

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 我要提问 投诉建议 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表