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

2010-3-18 11:31 5698 19 40 分类: 消费电子

    本篇基于固件代码的开发及移植过程中可能引起的USB枚举失败的原因进行分析。

数据采集设备:“HD-USB12全速/低速USB2.0协议分析仪

一、如图1所示的USB枚举失败

  1Index[666 - 668]:表示主机向默认地址发送GET_DESCRIPTOR指令包。

  2Index[670 - 671]:表示设备默认地址端点不可用。

  3)由上我们可以推断出固件代码对GET_DESCRIPTOR指令包无响应。

1.gif

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

 

 

二、如图2所示的USB枚举失败

  1Index[697 - 699]:表示主机向默认地址发送SET_ADDRESS指令包。

  2Index[701 - 703]:表示设备完成SET_ADDRESS指令后,给主机发送一个空应答。

  3Index[705 - 710]:表示主机向地址DEC=01重复发送SET_DESCRIPTOR指令包,但设备无任何应答,因此该事务包设备并没有接收到。

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

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

三、如图3所示的USB枚举失败(图3为过滤掉IN + NAKSOF包后的数据)

  1Index[694 - 696]:表示主机向默认地址发送SET_ADDRESS指令包。但设备对该指令答,无应答。

  2)由上我们可以推断出固件代码对SET_ADDRESS指令包无响应或响应没发送空应答。

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

四、设备发送给主机的描述信息不完整,如少发送接口或端点信息等导致枚举失败。这要求分析所有采集到的数据才能发现问题。由于数据量较大,就不用图片说明了。

以上是根据本人开发过程中曾经碰到的问题进行的总结分析,在实际情况中枚举失败的原因很多,不可能一一列出,但只要有一台总线协议分析设备能抓取数据进行分析是很容易找到原因的。

另外,附件中上传了一份《“HD-USB12”全速/低速USB2.0协议分析仪技术文档》,有需要的同学可以下载。
http://forum.eet-cn.com/FORUM_POST_10012_1200154619_0.HTM

PARTNER CONTENT

文章评论21条评论)

登录后参与讨论

用户1098939 2010-4-9 21:04

记号

用户1537318 2010-4-5 16:31

广东省东莞市耀威工业材料有限公司拥有一定业界科技人脉,全心全意为客户提供uv解决方案,使客户获得利益最大化,携手耀威,实现双赢。
期待业务垂询:武生15625561778 0769-85329091

用户1537318 2010-4-5 16:17

耀威uv胶(无影胶)产品说明 【特 点】 单组份包装,使用方便;可用紫外光或日光固化,固化速度快,并有如下特点:光学性能: 胶液晶莹透明,固化后光透过率﹥90%,折光系数与玻璃相近。粘接性能: 固化后体积收缩率小,延伸率大,粘接强度高。耐候性能 :耐候性好,经紫外光长时间照射不黄变,可在-50℃—+130℃的温度范围使用。【用 途】 可广泛用于玻璃家具, 玻璃工艺品,塑料,电子,灯饰, 水晶, 光学仪器, 医用器件及建筑装饰行业所需的玻璃/金属、玻璃/玻璃、玻璃/塑料、塑料/塑料、LED、电子元件等的粘接。公司网址:http://gddgyw.sm160.com QQ:1395677909

用户1272890 2010-3-20 22:12

线切割耗材:http://www.shtjx.com/ 线切割耗材

用户1499302 2010-3-20 21:53

So good as you are!

用户1499302 2010-3-20 21:53

So good as you are!

用户1499302 2010-3-20 21:53

So good as you are!

用户1499302 2010-3-20 21:53

So good as you are!

用户1499302 2010-3-20 21:53

So good as you are!

用户1499302 2010-3-20 21:52

So good as you are!
相关推荐阅读
用户1136818 2010-08-20 12:12
图解高速USB握手过程
我们知道,USB全速外设(FS)和低速外设(LS)是通过在D+或D-数据线上上拉1.5K的电阻予以区别,D+上拉为全速外设,D-上拉为低速外设。高速外设的识别则比较复杂,需要通过主机与高速外设握手才能...
用户1136818 2010-03-01 15:30
图解USB协议之四 USB枚举失败常见原因分析
    本篇基于固件代码的开发及移植过程中可能引起的USB枚举失败的原因进行分析。数据采集设备:“HD-USB12”全速/低速USB2.0协议分析仪一、如图1所示的USB枚举失败  1)Index[6...
用户1136818 2010-02-21 12:03
图解USB协议之三 USB标准描述符
    最近忙于公司的项目和本人的驾驶证考试,拖延了这个系列第三篇的完成,先向各位支持我的DX表示一下歉意。不过好在驾驶证的蝴蝶桩考试顺利通过,自己先庆贺一下嘿嘿。    这段时间做一个手持机的项目,...
用户1136818 2010-01-18 22:10
锂电池充电管理及BQ24070的应用
本人这段时间做一个手持机的项目,要用到单节锂电池供电。以前没有接触过锂电池充电管理方面的技术,花了几天时间研究了一番,现在汇报一下研究成果。由于第一次做这样的项目,也许存在错误,欢迎朋友们拍砖。   ...
用户1136818 2010-01-18 11:51
图解USB协议之二 数据包分析
       感谢朋友们对我发的上一个帖子《图解USB协议之一 枚举过程》的支持,虽然手头的项目比较忙,周末还是抽时间写了这个专题的第二篇,不能让大家失望啊,哈!    本篇分析数据包,仍然使用“HD...
我要评论
21
19
关闭 站长推荐上一条 /3 下一条