如何处理串口接收时的开始信号?疑惑中

[复制链接]
2748|3
 楼主| lxc806705 发表于 2011-5-23 09:05 | 显示全部楼层 |阅读模式
想用verilog做UART,看了网上的一些程序,发现对他们如何处理开始的第一个低电平还是很迷糊。我现在的想法是这样,大家帮看一下可行么?
input RX; //串口接收线
input RI; //串口忙信号指示
output start;//开始信号输出,指示串口数据即将到达,准备接收8位数据

RI是这样的,当串口处于空闲状态时,Ri为1;当串口开始接收数据时,RI为0,当接收到停止位时,RI置1,这样的话就保证了一帧的接收中start不会多次置1,而只在最开始到来的低电平置1,从而识别了串口传输的起始位。

但是这样的话RI相当于从后面的数据处理模块反馈到了start输出的这个模块,这2个模块都是时序逻辑的,这样会不会有问题?

或者根本就不需要这样处理,请高手指教
sxhhhjicbb 发表于 2011-5-23 19:59 | 显示全部楼层
状态机的问题,10位的UART共11个状态,平时处在idle中.起始位一来.就跳到第一个状态,等待BPS的定时时间到.
 楼主| lxc806705 发表于 2011-5-24 08:31 | 显示全部楼层
状态机的问题,10位的UART共11个状态,平时处在idle中.起始位一来.就跳到第一个状态,等待BPS的定时时间到.
sxhhhjicbb 发表于 2011-5-23 19:59

哦,职业我有些理解了
vxxw 发表于 2011-7-13 09:54 | 显示全部楼层
用状态机
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

154

帖子

1

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