USB百科
+ -

USB设备类型定义

2021-05-08 14369 7

依附在总线上的设备可以是需要特定的驱动程序的完全定制的设备,也可能属于某个设备类别。这些类别定义设备的行为和接口描述符,这样一个驱动程序可能用于所有此种类别的设备。一般操作系统都为支持这些设备类别,为其提供通用驱动程序。

设备分类由USB设计论坛设备工作组决定,并分配ID。

一些已定义的类代码只允许在设备描述符中使用,其他类代码可以在设备和接口描述符中使用,而另外一些类代码只能在接口描述符中使用。

在一个设备上有两个地方可以显示类代码信息放置。

USB设备类型信息包含在三个字节中,分别是基类、子类和协议
如果一个设备类型属于整个设备,该设备的描述符的bDeviceClass域保存类别ID;如果它这是设备的一个接口,其ID保存在接口描述符的bInterfaceClass域。他们都占用一个字节,所以最多有253种设备类别。(0x00和0xFF保留)。当bDeviceClass设为0x00,操作系统会检查每个接口的bInterfaceClass以确定其类别。

设备描述符中使用bDeviceClass,bDeviceSubClass,bDeviceProtocol字段来标识。
在接口描述符中使用 bInterfaceClass, bInterfaceSubClass,bInterfaceProtocol字段来标识。

每种类别可选支持子类别(SubClass)和协议子定义(Protocol subdefinition)。这样可以用于主设备类型的不断修订。
使用这定义USB定义了类代码信息,可以识别设备的功能并基于该功能加载设备驱动程序。

下表显示了当前定义的基类值集、泛型用法以及基类的使用位置(设备或接口描述符或两者)。

Base Class Descriptor Usage Description
00h Device Use class information in the Interface Descriptors
01h Interface Audio USB音频,参见UAC规范
02h Both Communications and CDC Control 网卡、调制解调器、串列端口
03h Interface HID (Human Interface Device),键盘、鼠标 参见HID规范
05h Interface Physical 控制杆
06h Interface Image 影像扫描仪、Picture Transfer Protocol
07h Interface Printer 打印机
08h Interface Mass Storage U盘、移动硬盘、存储卡读卡器、数字相机
09h Device Hub 集线器
0Ah Interface CDC-Data 调制解调器、网络卡、ISDN、传真
0Bh Interface Smart Card 读卡器
0Dh Interface Content Security
0Eh Interface Video USB视频,UVC摄像头,参见UVC规范
0Fh Interface Personal Healthcare
10h Interface Audio/Video Devices
11h Device Billboard Device Class
12h Interface USB Type-C Bridge Class
DCh Both Diagnostic Device
E0h Interface Wireless Controller 蓝牙
EFh Both Miscellaneous
FEh Interface Application Specific 红外线资料桥接器
FFh Both Vendor Specific 自定义USB设备

关于USB类定义,更加详尽的描述见:https://www.usb.org/defined-class-codes

  1. //
  2. // With the exception of the HUB device class, USB class codes are not
  3. // defined in the core USB 1.1, 2.0, 3.0 specifications.
  4. //
  5. #define USB_DEVICE_CLASS_RESERVED 0x00
  6. #define USB_DEVICE_CLASS_AUDIO 0x01
  7. #define USB_DEVICE_CLASS_COMMUNICATIONS 0x02
  8. #define USB_DEVICE_CLASS_HUMAN_INTERFACE 0x03
  9. #define USB_DEVICE_CLASS_MONITOR 0x04
  10. #define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05
  11. #define USB_DEVICE_CLASS_POWER 0x06
  12. #define USB_DEVICE_CLASS_IMAGE 0x06
  13. #define USB_DEVICE_CLASS_PRINTER 0x07
  14. #define USB_DEVICE_CLASS_STORAGE 0x08
  15. #define USB_DEVICE_CLASS_HUB 0x09
  16. #define USB_DEVICE_CLASS_CDC_DATA 0x0A
  17. #define USB_DEVICE_CLASS_SMART_CARD 0x0B
  18. #define USB_DEVICE_CLASS_CONTENT_SECURITY 0x0D
  19. #define USB_DEVICE_CLASS_VIDEO 0x0E
  20. #define USB_DEVICE_CLASS_PERSONAL_HEALTHCARE 0x0F
  21. #define USB_DEVICE_CLASS_AUDIO_VIDEO 0x10
  22. #define USB_DEVICE_CLASS_BILLBOARD 0x11
  23. #define USB_DEVICE_CLASS_DIAGNOSTIC_DEVICE 0xDC
  24. #define USB_DEVICE_CLASS_WIRELESS_CONTROLLER 0xE0
  25. #define USB_DEVICE_CLASS_MISCELLANEOUS 0xEF
  26. #define USB_DEVICE_CLASS_APPLICATION_SPECIFIC 0xFE
  27. #define USB_DEVICE_CLASS_VENDOR_SPECIFIC 0xFF
HID人机交互QQ群:564808376    UAC音频QQ群:218581009    UVC相机QQ群:331552032    BOT&UASP大容量存储QQ群:258159197    STC-USB单片机QQ群:315457461    USB技术交流QQ群2:580684376    USB技术交流QQ群:952873936   

0 篇笔记 写笔记

USB设备类型定义
依附在总线上的设备可以是需要特定的驱动程序的完全定制的设备,也可能属于某个设备类别。这些类别定义设备的行为和接口描述符,这样一个驱动程序可能用于所有此种类别的设备。一般操作系统都为支持这些设备类别,为其提供通用驱动程序。设备分类由USB设计论坛设备工作组决定,并分配ID。一些已定义的类代码只允许......
USB设备类bDeviceClass、bDeviceSubClass、bDeviceProtocol
在USB的设备类信息在USB的设备描述符,接口描述符,甚至接口关联描述符中都有所描述,这些描述符的字段一般包括bDeviceClass、bDeviceSubClass、bDeviceProtocol。USB定义了类代码信息,用于识别设备的功能并基于该功能加载设备驱动程序。信息包含在三个字节中,分别......
USB主机端控制器集线器与USB设备类型分类
USB根据设备功能及类型,可以分USB主机端,USB设备端。USB主机端-USB hostUSB主机端也叫USB控制器,包括两大部分,分别为与系统总线进行数据交互的USB控制器和USB总线的根集线器。一个USB主机端就是一个独立的USB总线,其按USB版本可分为OHCI,UHCI,EHCI,xHC......
USBIP FDO和PDO设备类型及结构体大小
设备类型typedef enum { VDEV_ROOT,//虚拟根设备FDO VDEV_CPDO,//虚拟USB控制器PDO VDEV_VHCI,//USB控制器FDO VDEV_HPDO,//USB根HUB PDO VDEV_VHUB, //USB根HUB......
Windows定义的USB设备类型bInterfaceClass
Windows定义的USB接口描述符typedef struct _USB_INTERFACE_DESCRIPTOR { UCHAR bLength; UCHAR bDescriptorType; UCHAR bInterfaceNumber; UCHA......
HID设备类型大全
符合HID标准的系统控制器 HID-compliant system control device符合HID标准的用户控制设备 HID-compliant consumer control device符合HID标准的无线通信设备符合HID标准的触模板 HID-compliant touch p......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!