阅读:1519回复:8
高手进来帮我看看这一组bus hound捕捉的数据
原来开发USB设备端程序时用BUS HOUND看,主机发出的是GET DESCRPTOR包----在我FIRMWARE还不能正常回送的时候,主机是连发3个GET DESC包以NO RESPONSE结束
现在我在调ISP1581 USB2.0得FIRMWARE,接上电缆后看到的是下面的数据。我想请问这里的USTS是USB HUB回送的吗(因为DEV 1对应的是USB Root Hub)?现在我所出的是什么阶段?还没进入枚举? 还需要做什么? 望各位指教,给分100!!! Dev Phase Data Info Time Cmd.Phase.Ofs --- ----- ------------------------- ------------- ----- ------------------ 1 DI 04 . 0us 1.1.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 29us 2.1.0 1 DI 01 01 01 00 .... 33us 2.2.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 57us 3.1.0 1 DI 01 01 01 00 .... 14us 3.2.0 1 CTL 23 01 10 00 - 02 00 00 00 CLASS 23us 4.1.0 1 CTL a3 00 00 00 - 01 00 04 00 CLASS 1.1ms 5.1.0 1 DI 00 01 00 00 .... 41us 5.2.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 28us 6.1.0 1 DI 01 01 00 00 .... 12us 6.2.0 1 CTL 23 03 04 00 - 02 00 00 00 CLASS 113ms 7.1.0 1 DI 04 . 95ms 8.1.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 36us 9.1.0 1 DI 03 01 10 00 .... 29us 9.2.0 1 CTL 23 01 14 00 - 02 00 00 00 CLASS 9us 10.1.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 24ms 11.1.0 1 DI 03 01 00 00 .... 15us 11.2.0 1 USTS 05 00 00 80 no response 74ms 12.1.0 1 CTL 23 03 04 00 - 02 00 00 00 CLASS 514ms 13.1.0 1 DI 04 . 114ms 14.1.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 11us 15.1.0 1 DI 03 01 10 00 .... 14us 15.2.0 1 CTL 23 01 14 00 - 02 00 00 00 CLASS 8us 16.1.0 1 USTS 05 00 00 80 no response 84ms 17.1.0 1 CTL 23 03 04 00 - 02 00 00 00 CLASS 515ms 18.1.0 1 DI 04 . 29ms 19.1.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 9us 20.1.0 1 DI 03 01 10 00 .... 11us 20.2.0 1 CTL 23 01 14 00 - 02 00 00 00 CLASS 7us 21.1.0 1 USTS 05 00 00 80 no response 104ms 22.1.0 1 CTL 23 01 01 00 - 02 00 00 00 CLASS 514ms 23.1.0 |
|
沙发#
发布于:2004-03-15 17:05
主要是这部分:
1 DI 03 01 00 00 .... 15us 11.2.0 1 USTS 05 00 00 80 no response 74ms 12.1.0 1 CTL 23 03 04 00 - 02 00 00 00 CLASS 514ms 13.1.0 1 DI 04 . 114ms 14.1.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 11us 15.1.0 1 DI 03 01 10 00 .... 14us 15.2.0 1 CTL 23 01 14 00 - 02 00 00 00 CLASS 8us 16.1.0 1 USTS 05 00 00 80 no response 84ms 17.1.0 1 CTL 23 03 04 00 - 02 00 00 00 CLASS 515ms 18.1.0 1 DI 04 . 29ms 19.1.0 1 CTL a3 00 00 00 - 02 00 04 00 CLASS 9us 20.1.0 1 DI 03 01 10 00 .... 11us 20.2.0 1 CTL 23 01 14 00 - 02 00 00 00 CLASS 7us 21.1.0 1 USTS 05 00 00 80 no response 104ms 22.1.0 1 CTL 23 01 01 00 - 02 00 00 00 CLASS 514ms 23.1.0 |
|
板凳#
发布于:2004-03-15 20:00
产生no response的原因主要是,你的HUB没有向端口复位或复位没有完成,导致主机不能继续完成配置。你应看一下端口复位是否完成。
|
|
地板#
发布于:2004-03-16 09:41
产生no response的原因主要是,你的HUB没有向端口复位或复位没有完成,导致主机不能继续完成配置。你应看一下端口复位是否完成。 谢谢,给分50,继续发问: 你所说的“HUB没有向端口复位或复位没有完成”是在设备端完成的?是usb芯片的reset吗? 看来问题还是在设备端程序? [编辑 - 3/16/04 by leadphone] |
|
地下室#
发布于:2004-03-16 17:23
产生no response的原因主要是,你的HUB没有向端口复位或复位没有完成,导致主机不能继续完成配置。你应看一下端口复位是否完成。 显然是DEVICE的问题.因为leadphone是在PC下完成的,PC下的HUB一般不会犯这种低级错误,除非系统出现问题. 导致这种情况出现,一是看PC端是否指示发现USB设备,因为即使不枚举,只要D+或D-连接上拉电阻,PC就会报告有USB设备连接.只不过USB设备未知罢了.如果PC没有报告,就很可能硬件有问题.如果硬件没问题,DEVICE一般会收到BUS RESET中断,然后你可以把DEVICE复位,然后等待接收CTRL OUT中断.二是可能你没有响应CTRL OUT中断,导致枚举失败,但这种情况应该会出现PC报告发现未知USB设备. 以上为在WINXP下/ISP1362情况 [编辑 - 3/16/04 by dragon_hn] |
|
|
5楼#
发布于:2004-03-16 17:38
只要d+,d-上的电阻连接正常,那么usb电缆连接后主机就可通过电压改变检测到usb设备。你的意思是不是这个时候主机就会开始枚举,发送第一个GET DESC的包???而不是现在的"CTL""DI"???(因为我也是这么想的)
我现在急需搞通的就是这个问题!!! 给分100!!! [quote]产生no response的原因主要是,你的HUB没有向端口复位或复位没有完成,导致主机不能继续完成配置。你应看一下端口复位是否完成。 显然是DEVICE的问题.因为leadphone是在PC下完成的,PC下的HUB一般不会犯这种低级错误,除非系统出现问题. 导致这种情况出现,一是看PC端是否指示发现USB设备,因为即使不枚举,只要D+或D-连接上拉电阻,PC就会报告有USB设备连接.只不过USB设备未知罢了.如果PC没有报告,就很可能硬件有问题.如果硬件没问题,DEVICE一般会收到BUS RESET中断,然后你可以把DEVICE复位,然后等待接收CTRL OUT中断.二是可能你没有响应CTRL OUT中断,导致枚举失败,但这种情况应该会出现PC报告发现未知USB设备. 以上为在WINXP下/ISP1362情况 [编辑 - 3/16/04 by dragon_hn] [/quote] |
|
6楼#
发布于:2004-03-16 17:43
咦?怎么没法给分了?
|
|
7楼#
发布于:2004-03-17 09:45
主机端是没有问题的,03 01 00 00 表明主机端已经获得了相应的状态,但它也说明你的设备现在还是一个全速设备,而不是一个高速设备,所以你的设备应该开始高速设备的配置。我这样理解的,你试试吧。
|
|
8楼#
发布于:2004-03-17 15:06
主机端是没有问题的,03 01 00 00 表明主机端已经获得了相应的状态,但它也说明你的设备现在还是一个全速设备,而不是一个高速设备,所以你的设备应该开始高速设备的配置。我这样理解的,你试试吧。 USB2.0刚开始接入都是按照全速枚举,到后面才枚举成高速设备 而我现在的问题是连枚举都还没进入 只要我能收到第一个GET DESC包,一切就都好办了,问题就是现在无论怎么做都收不到,实在不知道问题在哪里 继续求教!!! |
|