阅读:1341回复:7
jianghuiren,dacongtou 快来救命呀!我收到的数据居然是这样的!
我用的是D12+51,我的板子插上后,计算机提示:发现ZBoard(USB设备名)请加载
ZBoardu.sys,但我装了ZBoardu.sys后又提示正在安装请稍侯,就没动静了。 GoodLink指示灯,先闪烁,后来一直点亮。 主机发送的请求数据为:80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 共15字节 设备描述为:80 03 09 00 03 09 09 42 30 62 FF 07 04 42 28 50 16 42 28 50 16 03 09 FF 07 04 00 共27字节 这也不对呀,尤其是主机的请求数据问题更大,可是主机是怎么发现设备的呢? |
|
沙发#
发布于:2003-01-26 16:07
现在更晕了,我这次收到的主机发送的数据为:
F8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 :( :( :( 想不通,我只是把串口的波特率由2400该为1200而已! |
|
板凳#
发布于:2003-01-26 17:43
看不懂你的数据,大概是没抓对吧。
根据我的经验, 1)主机首先通过总线Reset设备,设备SIE发出ChirpK根据HUB返回的信息(是否支持高速)设定自己的速度模式,然后主机再度复位设备;当然你用D12,就只有全速了。 2)主机向0地址发出Get_Descriptor的设备描述符表请求,得到描述符后设置设备地址,然后向新地址设备发出同样请求; 3)正确获取设备描述符后,主机发出Get_Descriptor的配置描述符表请求,当设备正确返回配置描述符表后,主机会发出Set_Configuration包,到这步主机上应该可以显示插入了MassStorage的设备了。 4)在Set_Configuration控制包之后,主机就会下发BulkOut包了,好像第一个是UFI的Inquiry命令。 偶知道的就这么多了,希望能给大家都有帮助。 |
|
地板#
发布于:2003-01-26 17:47
加一句,偶主机是用W2K自带的Driver。
|
|
地下室#
发布于:2003-01-27 09:09
加一句,偶主机是用W2K自带的Driver。 你的设备是标准设备吗? |
|
5楼#
发布于:2003-01-27 09:34
是USB2.0的标准MassStorage设备,因为我的描述符是标准的设置的.
|
|
6楼#
发布于:2003-01-28 22:29
设备描述为:80 03 09 00 03 09 09 42 30 62 FF 07 04 42 28 50 16 42 28 50 16 03 你检查一下你的串口输出。看看是不是有什么问题(比如你可以就向串口发送一个固定数值,看串口观察结果是不是一样的)。。主机的“得到描述”命令就应该是80 06 00 02 00 00 40 00,这是协议规定的。你收到那个肯定有问题啊。。 不好意思,我回家了。所以这几天没上网。没看见你的问题,现在才回答。呵呵 |
|
7楼#
发布于:2003-01-29 09:18
[quote]设备描述为:80 03 09 00 03 09 09 42 30 62 FF 07 04 42 28 50 16 42 28 50 16 03 你检查一下你的串口输出。看看是不是有什么问题(比如你可以就向串口发送一个固定数值,看串口观察结果是不是一样的)。。主机的“得到描述”命令就应该是80 06 00 02 00 00 40 00,这是协议规定的。你收到那个肯定有问题啊。。 不好意思,我回家了。所以这几天没上网。没看见你的问题,现在才回答。呵呵 [/quote] 80 06 00 02 00 00 40 00是获取配置描述符的命令,应该在主机获取设备描述符(80 06 00 01 00 00 12 00)之后发出,而且对于W2K自带驱动是先发80 06 00 02 00 00 09 00获取设备上报的配置描述符长度之后再度 |
|