您的位置:首页 > 其它

USB协议之四 USB枚举失败常见原因分析

2010-04-24 16:47 399 查看
本篇
基于固件代码的开发及移植过程中可能引起的
USB
枚举失败的原因进行分
析。

数据采集设备:“
HD-USB
12




/

低速
USB2.0

协议分析仪

一、

如图
1

所示的
USB

枚举失败

1


Index[666 - 668]

:表示主机向默认地址
发送
GET_DESCRIPTOR

指令包。

2


Index[670 - 671]

:表示设备默认地址端
点不可用。

3

)由上我们可以推断出
固件代码对
GET_DESCRIPTOR

指令包无响应。



(图
1
)(本数据由
HD-USB12 USB
协议分析仪采集)

二、

如图
2

所示的
USB

枚举失败

1


Index[697 - 699]

:表示主机向默认地址
发送
SET_ADDRESS

指令包。

2


Index[701 - 703]

:表示设备完成
SET_ADDRESS

指令后,给主机发送一个
空应答。

3


Index[705 - 710]

:表示主机向地址
DEC=01

重复发送
SET_DESCRIPTOR

指令包,但设备无任何应
答,因此该事务包设备并没有接收到。

4

)由上我们可以推断出固件中设置地址的代码执行失败。



(图
2

)(本数据由
HD-USB12 USB

协议分析仪采集)

三、

如图
3

所示的
USB

枚举失败(图
3

为过滤掉
IN + NAK


SOF

包后的数据)

1


Index[694 - 696]

:表示主机向默认地址
发送
SET_ADDRESS

指令包。但设备对该指令
答,无应答。

2

)由上我们可以推断出
固件代码对
SET_ADDRESS

指令包无响应或响应没
发送空应答。



(图
3

)(本数据由
HD-USB12 USB

协议分析仪采集)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: