USB 简价

USB规范

USB规范可以在网站 http://www.usb.org/developers 得到,其格式为pdf文档的格式。

USB Windows下的常用工具

  • usbcomp.exe是USB兼容测试工具,它包括USBCheck工具,用于检查USB设备是否满足一些高层的协议规范).
  • hidview程序(用于检查和测试hid设备)。
  • USBview工具,是windows DDK自带的一个工具,用于显示系统中所有USB总线和连接到每个USB总线的设备。
  • USBlyzer:usb抓包工具
  • USBTrace:

USB硬件VenderId的获取

可以注册USB实现者论坛,不过需要交一定的年费,不过会赠送一个免费的USB厂商ID,另外也可以单独购买USB的厂商ID。

USB 设备种类

USB规定了几种具有共同行为和协议的设备类,这样使写通用设备的驱动程序更加容易。

我们平时用的操作系统如windows,linux等,均遵循这种开发。

USB从设备的分类可以从USB设备接口描述符对应的的bInterfaceClass这一个byte得到。
bInterfaceClass的典型代码为1,2,3,6,7,8,9,10,11,255。分别代表意思为
1-audio:表示一个音频设 备。
2-communication device:通讯设备,如电话,moden等等。
3-HID:人机交互设备,如键盘,鼠标等。
6-image图象设备,如扫描仪,摄像头等,有时数码相 机也可归到这一类。
7-打印机类。如单向,双向打印机等。
8-mass storage海量存储类。所有带有一定存储功能的都可以归到这一类。如数码相机大多数都归这一类。
9-hub类, 集线器
11-chip card/smart card。
255-vendor specific.厂家的自定义类,主要用于一些特殊的设备。如接口转接卡等。

更多详见:https://www.usb.org/defined-class-codes

windows下常见的usb设备类定义如下:

#define USB_DEVICE_CLASS_RESERVED           0x00
#define USB_DEVICE_CLASS_AUDIO              0x01
#define USB_DEVICE_CLASS_COMMUNICATIONS     0x02
#define USB_DEVICE_CLASS_HUMAN_INTERFACE    0x03
#define USB_DEVICE_CLASS_MONITOR            0x04
#define USB_DEVICE_CLASS_PHYSICAL_INTERFACE 0x05
#define USB_DEVICE_CLASS_POWER              0x06
#define USB_DEVICE_CLASS_PRINTER            0x07
#define USB_DEVICE_CLASS_STORAGE            0x08
#define USB_DEVICE_CLASS_HUB                0x09
#define USB_DEVICE_CLASS_VENDOR_SPECIFIC    0xFF