UART串口通讯

先简单说说串口通信(UART),我做的这个实验只针对RS232标准,在fpga与上位机给出的rs232口之间通过电平转换电路(最上面图中的Max232芯片) 实现TTL电平与RS232电平之间的转换。

我们只关心RS232_TX和RS232_RX两个信号,RS232_TX是数据发送端口,RS232-RX是数据接受端口,简单的串口帧格式如图所示。

帧格式为:1bit起始位,8bit数据,无校验位,1bit停止位。

fpga实时检测RS232_RX是否有数据,如果收到数据,则把接收到的数据通过RS232_TX发回给对方。上位机用的是串口调试助手。

代码设计中,我们设置波特率可以选择,9600bps,19200bps.....,115200bps,这部分代码由speed_select来选择。

RTL如下图所示:

my_uart模块主要是完成数据的接收,speed_select模块主要响应my_uart_rx模块发出的使能信号进行波特率计数,并且回送一个采样使能信号,my_uart_tx模块在my_uart_rx模块接收好一个完整的数据帧后启动,将收到的数据返回给对方,my_uart_tx的波特率控制是由speed_select(speed_tx)模块产生的。

代码链接:https://download.youkuaiyun.com/download/dongdongnihao_/10625649

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值