USB 端點與USB HUB的關係

yooooooo發表於2024-11-07

USB Hub透過少量的端點實現與多個裝置的資料傳輸,主要依賴於以下幾個關鍵機制:

  1. 控制端點(端點0):

每個USB Hub都有一個控制端點(通常是端點0),用於接收來自主機的控制請求,例如獲取裝置描述符、配置Hub的埠狀態等。

Hub透過控制端點接受主機的命令,並管理其下掛的所有埠。這包括初始化連線裝置、斷開裝置以及向主機報告埠的連線狀態

  1. 中斷端點:

USB Hub還包含一箇中斷端點,用於向主機報告埠狀態的變化。比如,當有裝置插入、拔出或發生錯誤時,Hub會透過中斷端點通知主機。這種設計使主機不需要輪詢每個埠,從而節省頻寬。

主機在收到中斷請求後,再透過控制端點查詢具體的埠狀態,識別是哪一個裝置產生了事件。

  1. 共享頻寬和分時複用:

雖然Hub只使用少量的端點與主機通訊,但它使用USB協議的分時複用機制來與多個下掛裝置共享頻寬。

主機會按順序輪詢每個埠的裝置,按照輪詢計劃(Polling Schedule)分配時間片。這種方式使得多個裝置的資料可以在同一條匯流排上傳輸。主機輪詢時,如果某個埠有資料待傳輸,則主機會分配時間片處理該埠的資料。

  1. USB分層結構和樹形拓撲:

Hub可以擴充套件多個埠,並形成一個樹形拓撲結構。主機控制器作為樹的根節點,而各Hub作為中間節點,不同的裝置作為葉節點。

這種分層結構允許主機透過Hub逐層控制各個裝置。主機會識別每一個裝置的地址和端點,根據地址資訊將資料包路由到對應的裝置。

  1. 資料傳輸型別:

USB支援多種傳輸型別(控制傳輸、批次傳輸、中斷傳輸和等時傳輸),每種型別有不同的優先順序和頻寬需求。Hub會根據主機控制器的排程策略,確保高優先順序的中斷和控制資料先被傳輸,而批次傳輸和等時傳輸則在頻寬允許的情況下分配時間片。

總結

USB Hub透過少量端點與主機進行必要的控制和狀態報告,再透過USB協議的分時複用機制實現多裝置的連線和資料傳輸。Hub自身不直接處理下掛裝置的資料,而是透過排程和路由機制,將資料在主機和各裝置間傳遞,從而實現多裝置共享傳輸通道的目的。

相關文章