串口硬流控原理驗證RTS與CTS


 

 

物理連接(交叉連接)

主機的RTS(輸出)信號,連接到從機的CTS(輸入)信號。

主機的CTS(輸入)信號,連接到從機的RTS(輸出)信號。

 

主機發送過程:

主機查詢主機的CTS腳信號,此信號連接到從機的RTS信號,受從機控制。如果主機CTS

信號為有效(低),表示從機的接收FIFO未滿,從機可以接收,此時主機可以向從機發送

數據。並且在發送過程中要一直查詢CTS信號是否為有效狀態。一旦無效,則終止發送。

 

那主機的CTS信號什么時候會無效呢?

從機在接收到主機發送的數據時,從機的接收模塊的FIFO如果滿了,則會使從機RTS無效,

也即主機的CTS信號無效。主機則查詢到CTS無效時,主機發送中止。

此過程可以由硬流控完成。我們只要設置開啟硬流控,設置FIFO大小。RTS信號和CTS

信號由控制器代碼查詢和設置。

 

主機接收過程:

主機如果接收FIFO未滿,則使主機RTS信號有效,也即從機的CTS信號有效。此時從機

如果要發送,發送前會查詢從機的CTS信號,如果為有效,則開始發送。並且在發送過程

中移植查詢從機CTS信號的有效狀態,如果無效則中止發送。是否無效由主機的RTS信號

決定。主機如果FIFO滿了,則使主機RTS信號無效,也即從機CTS信號無效。主機接收

中止。

 

理論驗證:

1、 主機發送驗證:

向主機串口丟數據,看TX線上是否有數據。

理論上,遙控主機CTS信號為無效時,TX線上無數據;遙控主機CTS信號為有效時,TX線上有數據;

 

2、 主機接收驗證:

從機向串口丟數據,主機看RX線上是否有數據。

理論上,如果主機使RTS信號為有效時,RX線上有數據;如果主機使RTS信號為無效時,RX線上無數據;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM