天天看點

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所示。

USB四種傳輸模式
(點選檢視大圖)圖17-10  Bulk傳輸
USB四種傳輸模式
圖17-11  Bulk傳輸時的令牌

2.控制傳輸事務

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

USB四種傳輸模式
圖17-12  控制傳輸事務

3.中斷傳輸事務

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

USB四種傳輸模式
(點選檢視大圖)圖17-13  中斷傳輸事務

4.同步傳輸事務

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

USB四種傳輸模式
圖17-14  同步傳輸事務