1. 程式人生 > >從零開始學USB(四、USB系統結構)

從零開始學USB(四、USB系統結構)

一個USB系統可以從三個定義區域來描述:

  • USB互聯
  • USB裝置
  • USB主機

USB互連是USB裝置與USB主機連線和通訊的方式。 這包括以下內容:

匯流排拓撲:USB裝置與主機之間的連線模型。
層間關係:USB在系統中的每一層都要完成一定的任務。
資料流模型:資料在生產者之間通過USB在系統中移動的方式和消費者。
任務規劃:USB提供可以共享的互連機制。通過規劃對互連機制的訪問,可以支援同步 

1.匯流排拓撲結構

USB裝置和USB主機通過USB匯流排連線。USB的物理連線是一個星型結構,集線器(HUB)位於每個星形結構的中心,每一段都是主機和某個集線器,或某一功能裝置之間的一個點到點的連線,也可以是一個集線器或功能模組之間的點到點的連線。

上圖給出了USB的拓撲結構。

由於時間限制允許集線器和電纜傳播時間,最大層數允許為7(包括根層)。

請注意,在七層中,主機和任何裝置之間的通訊路徑中最多可以支援五個非根集線器。

Host端有一個Root Hub,可提供一個或多個USB下行埠,每個埠可以連線一個USB Hub或一個USB Device。USB Hub,是用於USB 埠擴充套件的,即USB Hub可以將一個USB埠擴充套件為多個埠,圖1中的每個Func(Function)就是一個USB Device,如USB鍵盤,USB滑鼠,USB MODEM,USB硬碟等等。

Compound Device是指帶一個Hub和一個或多個不可刪除的USB Device的複合裝置,一個USB系統可連線多達127個Function。

 

USB主機(USB Host):任何USB系統中只有一個主機。 主機系統的USB介面稱為主機控制器。 主機控制器可以以硬體,韌體或的組合來實現軟體。 根集線器整合在主機系統內以提供一個或多個端點。PC端的USB都是Host,所以將兩臺PC的USB口通過A-A USB電纜連線起來,是不能實現通訊,如果將兩個host連起來通訊,這樣一來的一個USB的系統有了兩個的host,與它的網路協議衝突。此處,OTG引入了一個新的概念,HNP(Host Negotiation Protocol),主機協商協議,允許兩個裝置之間互相協商誰去當Host。不過,即使在OTG中,也只是同一時刻,只存在單個的Host,而不允許存在多個Host的。

USB裝置:

  • 集線器:提供可以訪問USB匯流排的更多的接入點。
  • 功能部件:向系統提供特定的功能,如滑鼠,鍵盤,音響等。

當然,一個USB裝置要能正常工作,必須滿足一下條件:

  1. 支援USB協議
  2. 可以對諸如配置和復位等標準的USB操作做出相應
  3. 具有標準的描述訊息

注意:一個USB系統只能有一個USB主控制器,用8位地址表示下面的USB裝置, 一共128個地址。但是USB主控制器下面必須帶一個Root Hub, hub也算一個裝置,換句話說, 還剩下 127個地址給使用者。