2016/11/23 【轉載1】USB四種傳輸模式

USB四種傳輸模式

當USB插入USB總線時,USB控制器會自動爲該USB設備分配一個數字來標示這個設備。另外,在設備的每個端點都有一個數字來表明這個端點。
USB設備驅動向USB控制器驅動請求的每次傳輸被稱爲一個事務(Transaction),事務有四種類型,分別是Bulk Transaction、Control Transaction、Interrupt Transaction和Isochronous Transaction。每次事務都會分解成若干個數據包在USB總線上傳輸。每次傳輸必須歷經兩個或三個部分,第一部分是USB控制器向USB設備發出命令,第二部分是USB控制器和USB設備之間傳遞讀寫請求,其方向主要看第一部分的命令是讀還是寫,第二部分有時候可以沒有。第三部分是握手信號。以下針對這四種傳輸,分別進行講解。

1.Bulk傳輸事務

顧名思義,改種事務傳輸主要是大塊的數據,傳送這種事務的管道叫做Bulk管道。這種事務傳輸的時候分爲三部分,如圖17-10所示。第一部分是Host端發出一個Bulk的令牌請求,如果令牌是IN請求則是從Device到Host的請求,如果是OUT令牌,則是從Host到Device端的請求。
第二部分是傳送數據的階段,根據先前請求的令牌的類型,數據傳輸有可能是IN方向,也有可能是OUT方向。傳輸數據的時候用DATA0和DATA1令牌攜帶着數據交替傳送。

第三部分是握手信號。如果數據是IN方向,握手信號應該是Host端發出,如果是OUT方向,握手信號應該是Device端發出。握手信號可以爲ACK,表示正常響應,也可以是NAK表示沒有正確傳送。STALL表示出現主機不可預知的錯誤。
在第二部分,即傳輸數據包的時候,數據傳送由DATA0和DATA1數據包交替發送。數據傳輸格式DATA1和DATA0,這兩個是重複數據,確保在1數據丟失時0可以補上,不至於數據丟失。如圖17-11所示。

 
(點擊查看大圖)圖17-10  Bulk傳輸
 
圖17-11  Bulk傳輸時的令牌

2.控制傳輸事務

控制傳輸是負責向USB設置一些控制信息,傳送這種事務的管道是控制管道。在每個USB設備中都會有控制管道,也就是說控制管道在USB設備中是必須的。控制傳輸也分爲三個階段,即令牌階段、數據傳送階段、握手階段,如圖17-12所示。

 
圖17-12  控制傳輸事務

3.中斷傳輸事務

在USB設備中,有種處理機制類似於PCI中斷的機制,這就是中斷事務。中斷事務的數據量很小,一般用於通知Host某個事件的來臨,例如USB鼠標,鼠標移動或者鼠標單擊等操作都會通過中斷管道來向Host傳送事件。在中斷事務中,也分爲三個階段,即令牌階段、數據傳輸階段、握手階段,如圖17-13所示。

 
(點擊查看大圖)圖17-13  中斷傳輸事務

4.同步傳輸事務

USB設備中還有一種事務叫同步傳輸事務,這種事務能保證傳輸的同步性。例如,在USB攝像頭中傳輸視頻數據的時候會採用這種事務,這種事務能保證每秒有固定的傳輸量,但與Bulk傳輸不同,它允許有一定的誤碼率,這樣符合視頻會議等傳輸的需求,因爲視頻會議首先要保證實時性,在一定條件下,允許有一定的誤碼率。同步傳輸事務有隻有兩個階段,即令牌階段、數據階段,因爲不關心數據的正確性,故沒有握手階段,如圖17-14所示。

 
圖17-14  同步傳輸事務
0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章