天天看點

usb四種傳輸模式bulk

當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四種傳輸模式bulk
(點選檢視大圖)圖17-10  Bulk傳輸
usb四種傳輸模式bulk
圖17-11  Bulk傳輸時的令牌

2.控制傳輸事務

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

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

3.中斷傳輸事務

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