USB雙機(jī)通訊的原理
由于USB模型是一種Host-Slave(主機(jī)-外設(shè))主從式結(jié)構(gòu),沒有辦法使兩臺主機(jī)不通過外設(shè)而直接通過USB總線通信。然而可通過增加外設(shè)控制器的方法使兩臺主機(jī)利用它們的USB端口通信。每個外設(shè)控制器連接到不同的主要,并利用共享的緩沖器交換數(shù)據(jù)。
Cypress公司的EZ-Link和Prolific公司的PL-2301把兩個外設(shè)控制器和共享緩沖區(qū)集成到一塊芯片上,作為兩臺主機(jī)通過USB總線通俗訴橋梁。其它公司也提供類似的控制芯片。在教學(xué)機(jī)器人中,采用PL-2301。 PL-2301是臺灣Prolific公司生產(chǎn)的一種全速USB控制芯片。
控制單元。在握手信號的協(xié)調(diào)下,它們通過兩個FIFO緩沖器無阻塞地交換數(shù)據(jù)。PL-2301 PL-2301包括兩套獨立的USB包含四個終端:缺省的控制終端(地址00H)、中斷終端(地址81H)、塊輸出終端(地址02H)、塊輸入終端(地址83H)。 控制傳輸用于在主機(jī)列舉階段完成對PL-2301的配置及在兩臺主機(jī)通信時控制PL-2301的握手信號; PL-2301是臺灣Prolific公司生產(chǎn)的一種全速USB控制芯片。PL-2301的結(jié)構(gòu)框圖如圖1所示。 (5)TX_REQ塊傳輸?shù)恼埱笮盘枴?(6)TX_C塊傳輸完成的指示信號。 (7)PEER_E 告訴對方本 在這幾個握手信號的協(xié)調(diào)下,上位機(jī)和下位機(jī)可以雙向通信。
圖2是主機(jī)PC A向 PC B傳輸數(shù)據(jù)的流程圖。這些底層的細(xì)節(jié)問題并不需要控制,由PL-2301的驅(qū)動程序完成。
評論