USB 简介
2021-05-09
20677
100
USB规范
USB规范可以在网站 http://www.usb.org/developers 得到,其格式为pdf文档的格式。
USB Windows下的常用调试工具
- usbcomp.exe是USB兼容测试工具,它包括USBCheck工具,用于检查USB设备是否满足一些高层的协议规范).
- hidview程序(用于检查和测试hid设备)。
- USBview工具,是windows DDK自带的一个工具,用于显示系统中所有USB总线和连接到每个USB总线的设备。
- USBTreeViewer:升级版的usbView工具,功能更强大,数据显示更友好
- USBlyzer:usb抓包工具
- USBTrace:usb抓包工具
- BusHound:Windows下一个比较好的USB抓包工具,我也用的最多
- wireshark:最新版的wireshark也可以装usb相关的集成包,进行USB抓包
USB设备类型
USB规定了几种具有共同行为和协议的设备类,这样使编写通用设备的驱动程序更加容易。
我们平时用的操作系统如windows,linux等,均遵循这种开发。
USB从设备的分类可以从USB设备接口描述符bDeviceClass或接口描述符对应的的bInterfaceClass这一个byte得到。
一般的USB设备类型如下:
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.厂家的自定义类,主要用于一些特殊的设备。如接口转接卡等。
USBIF官方的设备类型网址为: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
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936