USB系統結構

來源:互聯網
上載者:User


USB系統結構

1.USB系統拓撲結構

這個是USB系統的拓撲圖,4個部分構成:USB主機控制器,根集線器,集線器,裝置。其中Root Hub與USB主機控制器是綁定在一起的。

 

 

Node代表USB裝置,廣義上講hub也是一種USB裝置。一根USB匯流排最多可掛127個裝置。

常見的USB主控制器:

OHCI(open host controller interface):主要是非PC系統上的USB晶片,嵌入式系統常用的控制器。USB1.1

UHCI(open host controller interface):大多是intel和VIA主板上的USB控制器晶片。USB1.1

EHCI(enhanced host controller interface):由intel等幾個廠商研發,相容OHCI\UHCI,遵循USB2.0規範。

 

2.USB實現架構:

 

3.USB裝置的構成包括了配置,介面和端點


 

1.         裝置通常具有一個或者更多個配置

2.         配置經常具有一個或者更多個介面

3.         介面通常具有一個或者更多個設定

4.         介面沒有或者具有一個以上的端點

配置由介面組成,每個裝置都有不同層級的配置資訊;

介面由多個端點組成,代表一個基本的功能;

端點是USB裝置中的唯一可定址部分,可以理解為USB裝置或主機上的一個資料緩衝區。

配置和設定的理解:一個手機可以有多重配置,比如可以作為電話,可以接在PC上當成一個隨身碟,這兩種情況就屬於不同的配置。再來看設定,一個手機作為電話已經確定了,但是通話情境(室外模式,多方通話等等)可以改變,每種情境就可以算一個設定。

 

例如:一個USB播放器帶有音頻,視頻功能,還有旋鈕和按鈕。

配置1:音頻(介面) + 旋鈕(介面)

配置2:音頻(介面) + 視頻(介面) + 旋鈕(介面)

配置3:視頻(介面) + 旋鈕(介面)

每一個介面均需要一個驅動程式。

每個USB裝置有一個唯一的地址,這個地址是在裝置連上主機時,由主機分配的,而裝置中的每個端點在裝置內部有唯一的端點號,這個端點號是在設計裝置時給定的。每個端點都是一個簡單的連接點,是單向的。

端點0是一個特殊的端點,用於裝置枚舉和對裝置進行一些基本的控制功能。除了端點0,其餘的端點在裝置配置之前不能與主機通訊,只有向主機報告這些端點的特性並被確認後才能被啟用。

例如:

USB匯流排,類似於高速公路;

收發的資料,類似於汽車;

USB端點,類似於高速公路收費站的入口或出口。

 

4.USB描述符

當USB裝置插入到主機系統中,主機系統會自動檢測USB裝置的相關資訊,就是通過USB描述符來實現的。

標準的USB裝置有五種USB描述符:

裝置描述符

配置描述符

介面描述符

端點描述符

字串描述符

一個裝置只有一個裝置描述符,而一個裝置描述符可以包含多個配置描述符,而一個配置描述符可以包含多個介面描述符,一個介面使用了幾個端點,就有幾個端點描述符。

 

管道是USB裝置的端點和主機端緩衝的串連通道,主機和USB裝置通過管道來進行通訊。

 

5.四種傳輸類型

端點有4中不同的類型:控制,批量,等時,中斷。

對應USB的4種不同的傳輸類型:

1.         控制傳輸:適用於小量的,對傳輸時間和速率沒有要求的裝置。如USB裝置配置資訊。

2.         批量傳輸:適用於類似印表機,掃描器等傳輸量大,但對傳輸時間和速度無要求的裝置。

3.         等時傳輸:適用於大量的,速率恒定,具有周期性的資料,對即時性有要求的,比如音視頻。

4.         中斷傳輸:適用於非大量,但具有周期性的資料,比如滑鼠鍵盤。當USB宿主要求裝置傳輸資料時,中斷端點會以一個固定的數率傳輸資料。滑鼠,鍵盤以及遊戲手柄等。此種中斷和經常說的硬體中斷是不同的,此種中斷會以固定的時間間隔來查詢USB裝置。

 

三種事務(transaction)類型

一次傳輸由一個或多個事務構成。

1.       IN transaction

IN事務為host輸入服務,當host需要從裝置獲得資料的時候,就需要IN事務。

2.       OUT transaction

OUT事務為host輸出服務,當host需要輸出資料到裝置的時候,就需要OUT事務。

3.       SETUP transaction

SETUP事務為host控制服務,當host希望傳輸一些USB規範的預設操作的時候就需要使用setup事務。

 

四種包(package)類型

一個事務由一個或多個包構成,包可分為令牌包(setup),資料包(data),握手包(ACK)和特殊包。

 

一個包由多個域構成,域可分為同步域(SYNC),標識域(PID),地址域(ADDR),端點域(ENDP),幀號域(FRAM),資料域(DATA),校正域(CRC)。

 

抓包:

 

參考網址:http://blog.csdn.net/woshixingaaa/article/details/6362603

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.