跳转至

USB设备类型

USB设备分类

USB 实施者论坛上有一个已被接受和认可的 USB 设备类型列表。 最通用的设备类型包括:

  • 人机界面设备( HID)
  • 大容量设备( MSD)
  • 通信设备类( CDC)
  • 供应商(供应商特定)

而开发上述的某个类型时都要考虑下面注意事项。第一,每个设备类型都有一个固定的最大带宽。第二,每个设备类型都受限于支持的传输类型以及必须支持的某个指令。但是,使用预定义 USB 类设备的最大优点是:它可以支持多操作系统中的跨平台支持。所有主要的操作系统都自带一个驱动程序,用于几乎所有预定义的 USB 设备类型,从而可以避免创建自定义的驱动程序。

USB 类设备的驱动程序特性:
alt text

不符合某个特定 USB 设备的定义的设备被称为供应商特定设备。开发者可对这些设备进行丰富的开发,并使用配置选项来创建各种应用,它们不受限于某个特定的 USB 类型,但仍符合 USB 规范。供应商特定的设备使用 WinUSB、LibUSB 或其他的供应商特定的驱动程序。 WinUSB 的优点表现在:它是 Windows 自带的供应商特定驱动程序,并且不需经过 Windows 硬件质量实验室( WHQL)测试来得到驱动程序认证。LibUSB 是一个开源的驱动程序项目,其支持 Windows、 Mac 和 Linux 的操作系统。

Tip

在 USB 描述符章节中,设备描述符的第四个字节和接口描述符的第六个字节用于定义 USB 设备类。

alt text

alt text

组合设备

概念

组合设备(Composite Device)是指具有多个接口,且接口间相互独立的 USB 设备。一个 USB 组合设备只有一个设备地址。

组合设备的描述符结构

alt text

设备描述符中的三个特殊字段

alt text

关于接口关联描述符

alt text

alt text