1. 程式人生 > 實用技巧 >USB 裝置的邏輯組織結構

USB 裝置的邏輯組織結構

https://www.bytekits.com/usb/usb-logiacl-struct.html

在USB裝置的邏輯組織中,包含裝置、配置、介面和端點4個層次。
每個USB裝置都提供了不同級別的配置資訊,可以包含一個或多個配置,不同的配置使裝置表現出不同的功能組合(在探測/連線期間需從其中選定一個),配置由多個介面組成。一次只能有一個配置是活動的。

大多數的裝置只有一個配置和一個介面,當一個裝置第一次插入系統時,windows系統會提示使用者選擇合適的配置。

每個配置下可以有多個介面,當前配置下的所有介面(和其下的端點)都是活動的。
一個配置中的所有介面可以同時有效,並可被不同的驅動程式連線。每個介面可以有備用介面,以提供不同質量的服務引數。

端點是USB通訊的最基本形式,每一個USB裝置介面在主機看來就是一個端點的集合。主機只能通過端點與裝置進行通訊,以使用裝置的功能。在USB系統中每一個端點都有惟一的地址,這是由裝置地址和端點號給出的。

每個端點都有一定的屬性,其中包括傳輸方式、匯流排訪問頻率、頻寬、端點號和資料包的最大容量等。
一個USB端點只能在一個方向承載資料,或者從主機到裝置(稱為輸出端點),或者從裝置到主機(稱為輸入端點),因此端點可看作一個單向的管道。端點0通常為控制端點,用於裝置初始化引數等。只要裝置連線到USB上並且上電端點0就可以被訪問。端點1、2等一般用作資料端點,存放主機與裝置間往來的資料。

更多的USB相關知識詳見:

https://www.bytekits.com/usb/

下圖給出的USB裝置邏輯結構,USB裝置的物理連線不影響這個邏輯檢視。