物理連接(交叉連接)
主機的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線上無數據;