USB描述符總結

2021-10-01 01:57:35 字數 1879 閱讀 4042

usb描述符總結

參考**:

一、usb描述符:主機識別usb裝置的根據,主機根據裝置的描述符來載入相應的驅動程式。

二、描述符的分類:三大類

標準類描述符、裝置類描述符、廠商描述符。

具體如下圖:

三、使用的幾種類  

裝置類deviceclass

介面類inte***ceclass

四、標準描述符

1.裝置描述符

2.配置描述符

3.介面描述符

整個配置描述符的長度,固定為0x09.

(2)bdescriptortype

由usb給配置描述符分配的型別編號, 值為常數0x04。

(3)binte***cenumber

介面的編號,如果乙個配置擁有n個介面, 那麼這些介面都是互不相干的, 每乙個介面都有惟一的編號, usb就是通過此字段來識別不同的介面。預設值為0。

(4)balternatesetting

usb裝置的配置與usb配置描述符是一一對應的, 即乙個配置只能有乙個配置描述符。usb允許多個介面描述符來描述同乙個介面, 而且這些描述符都可以通過命令來切換。這裡,此欄位就是每乙個這類描述符惟一的編號。usb可以通過呼叫這個欄位來切換描述同乙個介面的不同描述符。控制傳輸中可以通過get_inte***ce和set_inte***ce來獲取、設定目前正在使用的描述乙個確定介面的介面描述符的編號。

(5)bnumendpoints

該介面使用的端點總數(除端點0之外)。如果此值為0, 則意味著該介面只使用了端點0。

(6)binte***ceclass

該介面所屬的類別。這個類別編號由usb來分配。當值為0xff時, 表示該介面是廠商所定義的介面型別。而值0保留。

(7)binte***cesubclass

介面所屬的類別中的子類型別。這個子類編號也由usb分配。同binte***ceclass欄位一樣, 當其值為0xff時代表該介面由廠商自己所定義。而值0保留。

(8)binte***ceprotocol

此介面類所遵循的類的協議。因而, 該字段的值跟binte***ceclass和binte***cesubclass欄位是相關的。其值從1~0xfe由usb分配, 代表不同標準的裝置類的協議。 當值為0時, 表示該介面不遵循任何類協議; 而值為0xff時, 表示該介面應用了廠商自定義的類協議。

(9)iinte***ce

指向字串描述符中相應的字串內容, 用於描述該介面。 如果裝置沒有啟用字串描述符 , 則該值為0。

4.端點描述符

5.字串描述符

五、hid裝置類描述符

關於usb描述符

usb 的描述符主要有裝置描述符,裝置限定描述符,介面描述符,端點描述符,字串描述符等等,usb的描述符之間的關係是一層一層的,首先最上層的是裝置描述符,然後是配置描述符,在下面的是介面描述符,最後是端點描述符.描述符在乙個usb的裝置中所起的作用是十分重要的,在裝置連線到usb主機以後,主機首先是...

USB 描述符詳解

usb描述符的分類與介紹 usb的符述符分為幾類?有人可能會答 裝置描述符 配置描述符 介面描述符 端點描述符 字串描述符等。但這裡說的不是這樣的。上面的幾類描述符屬於usb標準描述符。另外還有hid描述符和hub描述符。所以分類是這樣的 1.標準描述符 1 裝置描述符 2 配置描述符 3 字串描述...

USB描述符舉例

裝置描述符給出了usb裝置的一般資訊。這包括裝置及裝置設定全程起作用的資訊,乙個usb裝置只能有乙個裝置描述符。所有的usb裝置都有預設的控制管道,在裝置描述符中給定了預設控制管道最大包長度。rom usb device descriptor device dsc 配置描述符給出了裝置配置的資訊,描...