小梅哥11——UART串口发送模块设计

本文介绍了如何在FPGA中设计一个UART串口发送模块,通过按键控制发送数据,确保与PC端波特率匹配。内容涵盖UART协议原理、波特率设定以及发送时序,还展示了仿真波形和板级验证过程。
摘要由CSDN通过智能技术生成

FPGA通过UART协议发送数据

实现功能:ISSP输入需要通过串口发送出去的数据,然后通过按下 AC620 开发板上的按键来控制 FPGA 将待发送的数据发送出去,并在串口助手中查看 PC 端接收到的数据。

uart协议:

        板内、板间或者下位机与上位机之间进行数据的发送与接收,需要双方共同遵循一定的通信协议来保证数据传输的正确性。 通用异步收发传输器(UART):在数据发送时将并行数据转换成串行数据来传输,在数据接收时将接收到的串行数据转换成并行数据,可以实现全双工传输和接收。

       只使用一根数据线,因此使用串行数据,且要求FPGA发送/接收速率=PC端接收/发送速率(串口调试助手)。

       波特率是主从端约定的通信速率,每位数据变换(长度)固定,则需保证Clk信号稳定,间隔为波特率,常用9600bps,即频率为9600Hz 

UART发送一个字节时序图:

起始位+八位数据(高低电平均可)+停止位

2个2选1多路器——考虑优先级 

bps_clk产生,开始计数就输出高电平,因为使能刚开始就是高电平,等计数到最大值则延迟一个周期,为了提高响应速度

uart_byte_tx 

module uart_byte_tx(
     Clk,
	 Rst_n,
	 data_byte,
	 baud_set,
	 send_en,
	 
	 Rs232_tx,
	 Tx_done,
	 uart_state
	 );
	 
	 input Clk;//50M
	 input Rst_n;
	 input [7:0]data_byte;//待传输8bit数
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值