阅读:1421回复:10
50分请求帮助
MASS STORAGE CLASS BULK-ONLY TRANSPORT 中发送数据为CBW、数据读写、CSW,手册上流程图看上去可以循环进行。
我现在接收到正确的CSW后进行下一轮操作,命令同第一次相同,发现对CBW命令,U盘回ACK;但对命令以后只回NACK。命令已经测试了INQUIRY和READ(10),情况相同。 还有一个情况已经贴上过,WRITE(10)和WRITEBUFFER命令不能执行,U盘对CSW命令回NACK,循环读取CSW也不行。 请大家指点。谢谢! |
|
沙发#
发布于:2002-11-28 21:44
是否用USB逻辑分析仪看过?
|
|
板凳#
发布于:2002-11-29 11:17
我哪有那高档玩意!只有一个不同的HP逻辑分析仪,抓不到全部,只能看到一点点.
WRITE10已经知道问题了,正在修改. 循环的问题没有解决,CBW、CSW、读操作都很好,就是第二次就不行了。 |
|
地板#
发布于:2002-11-29 12:02
我哪有那高档玩意!只有一个不同的HP逻辑分析仪,抓不到全部,只能看到一点点. 我怀疑是Firmware没做好。本站不是有软件USB逻辑分析仪吗?去下载啊。 |
|
地下室#
发布于:2002-11-29 16:30
我这里所有的程序都是通过51控制SL811HS来实现的,用软件不好仿真. :( :( :(
|
|
5楼#
发布于:2002-11-29 16:47
有一点我不太明白,你讲U盘对CSW没反应,而我知道的是 PC发给U盘的才是CBW,而U盘应该给PC回CSW
你不是使用PC做Host端呀,那就比较难调了,在这种情况用Bus Hound调非常方便. |
|
6楼#
发布于:2002-11-30 02:45
找你的芯片供应商呀。sl811有不同版本,前面的版本有bug.
另外做这种开发,工具非常重要,否则毫无进度可言。 |
|
7楼#
发布于:2002-12-02 08:49
我这里的SL811HS确实是HOST.
我说的发CSW的意思是通过BULK-IN读CSW,U盘回NACK. |
|
8楼#
发布于:2002-12-02 08:54
比较低级的问题:我找不到协议了,当数据长度正好等于每次的缓冲区长度时,需不需要再发一个空数据帧.
|
|
9楼#
发布于:2002-12-02 14:57
我现在加一帧零数据帧也试过了,也不行.U盘不会CSW.
另外,我把U盘锁上后,发完数据后CSW,U盘回COMMAND FAILED . |
|
10楼#
发布于:2002-12-04 13:35
基本搞定,谢谢大家。
|
|