USB设备的枚举过程文档格式.docx
- 文档编号:17762998
- 上传时间:2022-12-09
- 格式:DOCX
- 页数:11
- 大小:21.39KB
USB设备的枚举过程文档格式.docx
《USB设备的枚举过程文档格式.docx》由会员分享,可在线阅读,更多相关《USB设备的枚举过程文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
主机在成功获取到一个数据包的设备描述符后并且确认没有什么错误后(注意:
有些USB设备的端点0大小不足18字节(但至少具有8字节),而标准的设备描述有18字节,在这种情况下,USB设备只能暂时按最大包将部分设备描述符返回,而主机在成功获取到前面一部分描述符后,就不会再请求剩下的设备描述符部分,而是进入设置地址阶段),就会返回一个0长度的状态数据包给设备。
然后主机再对设备复位一下,接下来就会进入到设置地址阶段。
这时USB主机发出一个设置地址的请求(建立过程,设置地址无数据过程),地址包含在建立包中,具体的地址USB主机会负责管理,它会分配一个唯一的地址给新的设备。
USB设备在收到地址后,返回0长度的状态包,主机收到0长度的状态包之后,会返回一个ACK给设备。
设备在收到这个ACK之后,就可以启用新的地址了。
这样设备就分配到了一个唯一的设备地址,以后主机就通过它来进行访问该设备。
然后主机再次获取设备描述符,这次跟第一次可能有点不一样,这次需要获取完全部的18个字节的设备描述符。
当然,如果你的端点0缓冲大于18字节的话,那就跟第一次的情形一样了。
接下来,主机就会获取配置描述符。
配置描述符总共为9字节。
主机在获取到配置描述符后,根据里面的配置集合总长度,再获取配置集合。
配置集合包括配置描述符,接口描述符,端点描符等等。
如果有字符串描述符的话,还要获取字符串描述符。
另外HID设备还有HID描述符等。
使用BUSHOUND以及通过串口返回信息,很容易看到具体的过程。
总之是主机请求什么,你的程序就响应什么。
下面这些数据是使用BUSHOUND抓的,这个是在WIN2000下抓到的,如果在WINXP下,就看不到设置地址之前的数据。
写了注释下面的部分就是主机和设备之间的数据通信,而其它的则是主机跟根集线器之间的通信数据。
Device
Phase
Data
Description
Delta
------
-----
--------------------------------------------------
----------------
------------------
-----
14.1
DI
02
.
1.1.0
3.4sc
14.0
CTL
a3000000
01000400
GETSTATUS
17us
01010100
....
2.2.0
27us
23011000
01000000
CLEARFEATURE
4.1.0
110us
56us
01010000
5.2.0
14us
23030400
SETFEATURE
7.1.0
109ms
8.1.0
90ms
9.1.0
23us
03011000
9.2.0
22us
23011400
10.1.0
8us
11.1.0
19ms
03010000
11.2.0
34us
/////////////第一次获取设备描述符请求//////////////////////
80060001
00004000
GETDESCRIPTOR
12.1.0
239us
/////////////第一次返回设备描述符//////////////////////////
/////////////由于该端点缓冲只有16字节,因此只读到16字节///////////
12011001
00000010
65103621
........e.6!
....
12.2.0
67ms
13.1.0
49us
13.2.0
14.1.0
24us
15.1.0
112ms
16.1.0
21us
16.2.0
25us
17.1.0
8us
////////////////设置地址,地址为2/////////////////////////////////
00050200
00000000
SETADDRESS
18.1.0
19ms
///////////第二次获取设备描述符请求//////////////////////////////
00001200
19.1.0
40ms
////////////第二次返回了全部的18字节设备描述符//////////////////
19.2.0
75ms
0201
..
////////////获取9字节的配置描述符/////////////////////////////
80060002
00000900
20.1.0
44us
////////////返回9字节的配置描述符/////////////////////////////
////////////可以看到配置描述符集合长度为0x20(即32)字节//////
09022000
01010080
dd
........
20.2.0
50ms
02000400
21.1.0
214ms
00010000
21.2.0
//////////再一次获取设备描述符//////////////////////////////
17.0
22.1.0
3.8ms
/////////返回设备描述符////////////////////////////////
22.2.0
//////////获取配置描述符///////////////////////
23.1.0
28us
///////////返回配置描述符///////////////////////
23.2.0
/////////获取0x20字节的配置描述符集合,包括配置描述符,接口描述符,端点描述符等/////////
00002000
24.1.0
30us
/////////返回了0x20字节的配置描述符集合/////////////
dd090400
00020806
...............
24.2.0
83ms
50000705
82024000
00070502
02400000
P.....@......@..
////////获取字符串描述符的语言ID///////////////
80060003
00000200
25.1.0
29us
///////设备返回语言ID,第一字节表示语言ID的长度///////////////
0403
25.2.0
45ms
////////根据长度获取4字节的字符串描述符的语言ID///////////////
00000400
26.1.0
17ms
////////设备返回完整的语言ID////////////////
04030904
26.2.0
53ms
/////////获取索引为2的字符串描述符///////////
80060203
09040200
27.1.0
//////////设备返回字符串描述符,第一字节为该字符串描述符的长度//////////
1203
27.2.0
46ms
/////////根据长度获取索引为2的字符串描述符///////////
09041200
28.1.0
/////////设备返回完整的0x12字节字符串描述符/////////
12033200
30003700
31003000
39003800
28.2.0
70ms
3200
2.
////////////////设置配置///////////////////////////////
00090100
SETCONFIG
29.1.0
28us
////////////////设置接口////////////////////////////////
010b0000
SETINTERFACE
30.1.0
22ms
//////////////获取最大逻辑单元/////////////////////////
a1fe0000
00000100
GETMAXLUN
31.1.0
158us
00
31.2.0
53ms
///////////////USB大容量存储设备的命令块封包(CBW)////////
17.2
DO
55534243
c8582581
24000000
80000612
USBC.X%.$.......
32.1.0
3.0ms
00000024
000000
...$...........
以下是我在做USB键盘时,通过串口发回的调试信息,从这也可以看到枚举的过程。
系统启动................................
断开USB连接........................
USBD12芯片初始化
设置地址.....................
地址为:
0
连接USB...............
USB总线复位................................
USB总线挂起................................
USB标准请求................................
获取描述符................................
获取设备描述符................................
2
获取配置描述符................................
USB标准请求....................
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- USB 设备 枚举 过程
![提示](https://static.bdocx.com/images/bang_tan.gif)