http://www.usb.org/developers/docs/
USB 2.0 Specification
Universal Serial Bus Revision 2.0 specification (.zip file format, size 11.3 MB)
2.其中关于usb的bInterfaceClass,即有哪些大的分类,可以去这里:
http://www.usb.org/developers/devclass/
看到官方的解释:
http://www.usb.org/developers/defined_class
Base Class | Descriptor Usage | Description |
00h | Device | |
01h | Interface | |
02h | Both | |
03h | Interface | |
05h | Interface | |
06h | Interface | |
07h | Interface | |
08h | Interface | |
09h | Device | |
0Ah | Interface | |
0Bh | Interface | |
0Dh | Interface | |
0Eh | Interface | |
0Fh | Interface | |
DCh | Both | |
E0h | Interface | |
EFh | Both | |
FEh | Interface | |
FFh | Both |
3.其中关于HID类的具体的详细含义,包括bInterfaceSubClass和bInterfaceProtocol的解释,可以去这里:
http://www.usb.org/developers/devclass_docs#approved
中的:
http://www.usb.org/developers/hidpage/
下载对应官方文档:
Device Class Definition for HID 1.11
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
其中关于bInterfaceSubClass解释:
Subclass Code | Description |
0 | No Subclass |
1 | Boot Interface ubclass |
2 – 255 | Reserved |
bInterfaceProtocol的解释:
Protocol Code | Description |
0 | None |
1 | Keyboard |
2 | Mouse |
3- 255 | Reserved |
4.USB协议太庞大了,所以很难搞懂,老外对此写了个教程,从软件和硬件等方面,宏观地介绍了USB的协议及常用到的那部分的技术细节,此文档叫做:
USB in a NutShell – Making sense of the USB standard
网页版:http://www.beyondlogic.org/usbnutshell/usb1.shtml
PDF版:http://www.beyondlogic.org/usbnutshell/usb-in-a-nutshell.pdf
5. USB HID设备的简介以及如何检测及操作,老外写的这个文章很不错,值得看看:
Using the HID class eases the job of writing USB device drivers
PDF版本:http://www.edn.com/file/18538-243218.pdf
对应的整套源码,可以去这里找到下载地址:http://www.hackchina.com/en/cont/43815
6. 《USB Complete》一本老外写的,可以称为USB大全的参考书,USB的来龙去脉和几乎所有技术细节都有所涉及,是个很不错的参考书和学习资料,google中搜索”USB Complete”即可找到下载地址:
USB Complete: Everything You Need to Develop USB Peripherals 3rd Edition
USB Complete: The Developer’s Guide, Fourth Edition by Jan Axelson
http://zaha.isloco.com/attachment/9600664620.pdf
作者的主页里面,有很多USB相关的资源和文章,内容很全:
(1)主要资源,都可以在这个页面中找到:
包括USB的News,USB 2.0,USB 3.0,USB-IF,Wireless USB,many resources,For end users。
(2)USB Complete的主页:
(3)USB Mass Storage :
http://www.lvr.com/mass_storage.htm
(4)USB Mass Storage – Designing and Programming Devices and Embedded Hosts
7.一个叫做Jungo的公司,实现了一套USB驱动,叫做WinDriver,支持多个平台,其对应的Manual中,也包含了很多USB技术信息,也值得一看:
WinDriver USB v8.11 User’s Manual – Jungo Ltd
http://www.jungo.com/st/support/documentation/windriver/811/wdusb_man_mhtml/html_wdusb_man.html
8.有个公司“Catalyst Enterprises, Inc.”开发了一套硬件加上对应的软件,叫做SBAE USB Analyzer/Exerciser,用来分析USB协议数据。
目前好像很多版本是SBAE-20,SBAE-30,但是我见过的还有SBAE 7.1和网上说的SBAE 7.2版本。
此硬件加软件,功能非常强大,具体可以参见:
http://ms-n.org/DataSheets/bits/sbae20_3.pdf
关于其介绍,截个图看看:
其需要硬件加软件配套使用。不过软件也可以以模拟硬件的方式,去打开从别处另存出来的.smp文件,分析其中的数据。
对应的SBAE软件,网上找了下,貌似这里可以下载:
http://sbae-usb.software.informer.com/
9.USB Mass Storage
(1)关于U盘的实现的简介,实现逻辑解释的还不错:
http://wenku.baidu.com/view/03ed1a88680203d8ce2f240e.html
(2)Jan Axelson的USB Mass Storage一书:
的第一章:
http://www.lvr.com/files/usb_mass_storage_chapter_1.pdf
10. 关于USB的VID和PID,这里有比较全的列表:
http://www.linux-usb.org/usb.ids
11. USB HID方面的资源(书,范例代码等),可以去这里找: