关于RTS和CTS的用处,谁能给个定论啊

2020-01-01 17:56发布

我用UART的时候好像从来没有
用到这两根线,
就光是GND,RX还有TX
好像也能正常传输数据……

这两根线既然不是费用不可
为什么还会有  '-_-

另外问下这三个概念区别和联系
我们常说的“串口”
UART
USART
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
23条回答
shangdawei
1楼-- · 2020-01-03 06:27
下面是摘录网上有用的参考资料:

假定A、B两设备通信,A设备的RTS 连接B设备的CTS ;A设备的CTS 连接B设备的RTS 。

前一路信号控制B设备的发送,后一路信号控制A设备的发送。

对B设备的发送(A设备接收)来说,
如果A设备接收缓冲快满的时发出RTS 信号(意思通知B设备停止发送),B设备通过CTS 检测到该信号,停止发送;
一段时间后A设备接收缓冲有了空余,发出RTS 信号,指示B设备开始发送数据。

A设备发(B设备接收)类似。

上述功能也能在数据流中插入Xoff(特殊字符)和Xon(另一个特殊字符)信号来实现。

A设备一旦接收到B设备发送过来的Xoff,立刻停止发 送;
反之,如接收到B设备发送过来的Xon,则恢复发送数据给B设备。

同理,B设备也类似,从而实现收发双方的速度匹配。
shangdawei
2楼-- · 2020-01-03 09:51
 精彩回答 2  元偷偷看……
Eric_Xue
3楼-- · 2020-01-03 13:20
设备A和设备B都有FIFO。
设备A如果发送数据速度超过设备B读取的速度,设备B的FIFO的数据就会溢出。
如果有一根线,B通过电平状态,告诉A ;我的FIFO已经满了,不要再发了。
这样A就能看情况给B发数据了。
shangdawei
4楼-- · 2020-01-03 17:32
<<ADSP-BF54x Blackfin®处理器增强的UART>>

EE-331_cn.pdf (201.07 KB, 下载次数: 1) 2016-7-20 15:21 上传 点击文件名下载附件




件流控制

硬件流控制是一个公用握手协议,用于使能UART接收器来防止当接收缓冲器溢出时,对应的发送器依旧发送数据。

接收器产生称为请求发送的RTS输出信号,当接收缓冲器填满并超过门限时,将使该信号无效。
发送器接收称为清除发送的CTS输入信号,当CTS无效时就停止发送。
当然,仍然会完成当前处理字的发送。
对于双向数据流,硬件连接如图所示。

Capture_0019.jpg (34.16 KB, 下载次数: 0)

下载附件

2016-7-20 15:18 上传



在工业设备中,RTS和CTS信号通常低电平有效(低电平时发送)。

通过设定UARTx_MCR寄存器中的FCPOL位可改变信号极性,使RTS和CTS变为高电平有效(高电平时发送)。

接收器RTS产生

UARTx_MCR寄存器中的ARTS位可使能自动产生RTS信号。
如果ARTS=0,则RTS输出信号的状态由MRTS位控制。
若ARTS=1,RTS输出说明接收缓冲器的状态。

与控制中断时序的RFIT位类似,接收FIFO RTS门限值位(RFRT)控制RTS信号的有效性。
与中断不同,RTS信号的有效和无效都有滞后现象。

当接收缓冲器中有两个(RFRT=0)或者四个(RFRT=1)字节,且检测到第三或者第五个开始位时,则RTS信号无效。
由于UARTx_RBR的读操作,当接收缓冲区低于两个(RFRT=0)或四个(RFRT=1)字节的门限时,则RTS将再次有效。

由于在端口复用级也必须使能RTS信号,给该信号加上拉电阻(当FCPOL=1时上拉)有利于防止处理器复位周期中的浮动。
同样,TX输出端的上拉电阻也可以避免处理器复位周期中的浮动。

发送器监测CTS

在UARTx_MCR寄存器中有个新的称为ACTS的位,当置位时,使能自动CTS监测。
一旦发送器检测到CTS输入引脚的电平被撤销,就完成当前TSR移位寄存器中的字发送。
然而,它会阻止UARTx_THR寄存器中当前的字发送给TSR寄存器,直到CTS再次有效为止。

另外,在UARTx_MCR中还有一个新的称为CTS的位,表示CTS输入信号是否有效。
此外,还有一个与CTS位相关联的SCTS位,W1C软件操作可对该位清零。

如果使能了EDDSI位,无论SDTS是否为1,都会产生所谓的调制解调器状态中断,并作为UART状态中断的信号量。
与CTS输入引脚相似,软件可以暂停发送。该过程可以通过设定UARTx_MCR寄存器中的XOFF位而立即实现。

在自回环模式(LOOP_ENA=1),接收器的RTS输出直接由内部回送到发送器的CTS输出。

higeo
5楼-- · 2020-01-03 23:01
fzkqi 发表于 2016-7-16 21:36
楼主下次百度一下就有的就不要在论坛发了好吧。什么大杂烩的都在论坛问,没看出楼主有个确定的学习方向,东 ...

推荐百度要被关小黑屋的,最新版规

一周热门 更多>