六、標準的USB描述符

  USB 設備第一次連接到主機上時 , 要接收主機的枚舉( Enumeration)和配置( Configuration), 目的就是讓主機知道該設備具有什麼功能、是哪一類的USB設備、需要佔用多少USB的資源、使用了哪些傳輸方式以及傳輸的數據量多大等等。

(1)、描述符

  描述符(Descriptor), 是一個完整的數據結構,可以通過C語言等編程實現,並存儲在USB設備中, 用於描述一個USB設備的所有屬性。

描述符類型:

設備描述符(Device Descriptor ) ;

配置描述符( Configuration Descriptor) ;

接口描述符( Interface Descriptor ) ;

端點描述符( Endpoint Descriptor ) ;

字符串描述符( String Descriptor , 可選)。

(2)、描述符之間的關係

設備描述符是最高級的描述符, 而端點描述符是最低級的描述符, 如下圖所示。每一個設備只有一個設備描述符, 但設備描述符可以包含多個配置描述符; 而一個配置描述符又可包含多個接口描 述符; 一個接口使用了幾個端點, 就有幾個端點描述符。字符串描述符是可選的。

每一個描述符都是一系列的字段(Field, 爲了與組成包的域相區別, 這裏叫做字段)所組成的, 每個字段都是一連串二進制數。其中設備描述符的bNumConfigurations 字段可設定配置描述符的個數; 配置描述符的bNumInterface字段用於設定接口描述符的個數; 而接口描述符的 bNumEndpoints 則表示了該接口所用到的端點數量, 也就是端點描述符的數量。

如有錯誤,請及時提出。萬分感謝!

                  上一篇                                                                                 下一篇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章