阅读:1612回复:9
D12枚举的问题
郁闷了好几天,一直没有找到问题在哪里。
电路是用总线方式连接的,A0接到VCC上面,D+用1M上拉,D-用1M下拉,没有使用DMA。用读芯片ID的命令可以正确读取D12的ID,应该总线连接没有问题。连接PC口后,可以看到D12的led间歇闪三次,用仿真调试发现可以产生端点0的out中断,但是读端点0最后处理状态始终为0,也就是没有收到setup包。 使用Bus Hound监视了USB端口的数据如下: Device Phase Data Description Cmd.Phase.Ofs(rep) ------ ----- ------------------------ ---------------- ------------------ 9.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 1.1.0(2) 9.0 DI 01 01 01 00 .... 1.2.0 9.0 CTL 23 01 10 00 01 00 00 00 CLEAR FEATURE 3.1.0 9.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 4.1.0(2) 9.0 DI 01 01 00 00 .... 4.2.0 9.0 CTL 23 03 04 00 01 00 00 00 SET FEATURE 6.1.0 9.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 7.1.0 9.0 DI 03 01 10 00 .... 7.2.0 9.0 CTL 23 01 14 00 01 00 00 00 CLEAR FEATURE 8.1.0 9.0 CTL a3 00 00 00 01 00 04 00 GET STATUS 9.1.0 9.0 DI 03 01 00 00 .... 9.2.0 参考前辈们的帖子,感觉在8.1.0后就应该是pc端发起setup包的请求描述符了,但是在我这里始终都是GET STATUS,然后就延时进入下一次的枚举了。 请大家帮忙分析可能哪里还有问题。 [编辑 - 3/29/05 by hanzhaowei] |
|
|
沙发#
发布于:2005-04-01 00:33
我也只找到5.0beta版的
|
|
|
板凳#
发布于:2005-03-31 16:55
USBCheck V5.1从哪里下的
|
|
地板#
发布于:2005-03-31 13:33
问题已经解决,非常郁闷!!
由于采用了总线读写方式,mcu的总线速度比D12的要快,所以导致了设置过程中有些命令或者数据并没有有效的进入D12。由于使用读芯片ID命令可以通过,导致我一直以为总线周期这里是没有问题的。 多谢各位的答复,接下来我可以把前阵所有的飞线一点点拆掉看看电路能简化到什么程度了! :) |
|
|
地下室#
发布于:2005-03-30 19:28
我用的是USBCheck V5.1,可以系XP下工作。我先说说我用USBCheck检测设备的过程吧:我的设备是用D12做的,先装本身的驱动的,启动High Speed Version 5.1.0,将显示的USB设备卸载几次,点击Done.再次启动High Speed Version 5.1.0,显示没有USB设备,就将USB设备拔出,再插入,这样就检测到设备了。
以上是我自己安装的过程(我也试了很久才成功的),不知道正不正确。希望对你有点帮助。 |
|
5楼#
发布于:2005-03-30 18:28
谢谢几位的答复,我再查查硬件连接以及固件程序。
USBCV我安装了,也没法使用,从错误提示看来是只支持USB2.0的,但是我的主板是1.1的。 |
|
|
6楼#
发布于:2005-03-30 09:02
你前面的都是USBHUB枚举,主机没发出读取设备描述符命令,可能是固件有问题吧,我遇到类似的情况,一个寄存器的地址没设对,枚举一直没成功。到www.usb.org去下载USBCV,好像UsbCheck不用了
|
|
7楼#
发布于:2005-03-30 08:54
你要检查下硬件连线
再跟踪中断 |
|
|
8楼#
发布于:2005-03-30 00:15
我去下载了USBCheck(5.0和3.2的),但是运行的时候显示\"Once USBDiag.sys is loaded for the device(s), this dialog box will automatically disappear.\"按我的理解应该是指插入一个USB设备之后就可以运行,但是我把我的D12连接以后没有任何反映。包括连接U盘以后也还是那个Exit Progarm的窗口。
我的系统是XP的,前面好像有帖子说USBCheck只能在98下正常运行。 再就是对于还不能枚举成功的设备,USBCheck可以检测到么? |
|
|
9楼#
发布于:2005-03-29 23:30
可以用USBCheck检测枚举过程是否正常
|
|