阅读:1846回复:12
sl811问题请教…………
现在的情况是枚举过程已经完成。接下来就是发送SCSI命令了吧。第一个命令inquiry12之后,返回36字节的数据 00 08 02 02……………… 不懂前面的16字节什么意思,中间16字节是说明U盘大小的ASCII码,后面的4字节 32 …… 也不懂什么意思。。嗯,这36个字节传送完了以后,还有一个13字节的CSW返回。算是相当正常了,因为跟bus hound抓的在pc机上返回的一模一样。。
按照跟第一个inquiry的方式继续送命令 23,28 ……之后不能正常返回数据。可以看到数据发送完成。但是任凭怎么努力都没再返回数据了。单独的发每条命令返回数据是正常的。合起来就不行了。郁闷。。 不懂我有没讲清楚。各位大侠知道的指导下吧。。毕设来不及了。。谢谢!! |
|
沙发#
发布于:2004-05-25 16:47
非常感谢 jerry_wang 。。
我搜索了数据触发下还真的是蛮多的呢。。呵呵。 明天过去再好好试试看!! |
|
板凳#
发布于:2004-05-25 13:54
其实在系统枚举通过过后,host基本只用到bulk endpoint进行数据传输,除非是endpoint stall。
所以传输中完全按照usb spec定义来执行就ok了。 bulk write或者bulk write初始化一次传输时,都是data toggle bit=data0,而后成功后在data0,data1间切换。 |
|
地板#
发布于:2004-05-25 13:46
03h的bit3是指当前完成的.
|
|
|
地下室#
发布于:2004-05-25 13:44
你对数据触发的理解有误.
u盘的每个端点都有相应的触发位.好像你这里你搞错了. 你搜一下\"数据触发\"的帖子,应该有详尽的解答 |
|
|
5楼#
发布于:2004-05-25 13:11
这时候你再发inquiryCBW.
(1)发CBW(这个包的必须得设为data1),得到ACK,bulkOut endpoint->data0 你是这样做的吗? 我现在做的情况是: 发送第一个Inquiry: (1)发CBW(这个包我设置的是data0),得到ACK, bulkOut endpoint->data0 (2)收数据和CSW同时进行(这个包设置的是data1),bulkIn endpoint->data1 另外,我想请问下,03H寄存器读出来的bit3的data0/data1标识的是当前传送完成的数据包,还是指下一次的数据包呀。。 |
|
6楼#
发布于:2004-05-25 08:33
呵呵,我的意思是这样:
假设你的u盘刚开始的时候bulkIn endpoint和bulkOut endpoint开始时都是:data0,现在你发inquiryCBW (1)发CBW,得到ACK,bulkOut endpoint->data1 (2)收数据,假设只收一个包,得到ACK bulkIn endpoint->data1 (3)收CSW,得到ACK bulkIn endpoint->data0 这时候你再发inquiryCBW. (1)发CBW(这个包的必须得设为data1),得到ACK,bulkOut endpoint->data0 你是这样做的吗? |
|
|
7楼#
发布于:2004-05-25 00:20
请问你说的是DATA0和DATA1的转换么。 如果是这个的话从811的03H寄存器可以看到,OUT成功的时候是01H,也就是有ACK应答并且是DATA0;IN成功的话是09H,也就是有ACK应答并且是DATA1的。。这个好像是成功了以后自己返回的数据。。而且程序中在数据启动传输的时候,00H寄存器也相应的置了DATA0和DATA1的。。 |
|
8楼#
发布于:2004-05-24 21:52
u盘的每个端点都有数据触发位,收到数据和收到CSW都应该将u盘对应端点的触发位翻转. |
|
|
9楼#
发布于:2004-05-24 20:32
to jerry_yang:
这种情况有可能你发送的数据的触发位没有翻转. ~~~~~~~~ 指的是什么触发位呀。不懂哦 每次接受到ACK就翻转一次. SCSI的命令集太大了邮件不能传输出去。。贴在这里了哈。 [编辑 - 5/25/04 by lily~~] |
|
|
10楼#
发布于:2004-05-24 10:14
能把u盘使用的SCSI命令集的资料给我好吗?
yixianwei@sict.ac.cn yixianwei@hotmail.com |
|
|
11楼#
发布于:2004-05-24 10:07
这种情况有可能你发送的数据的触发位没有翻转.
每次接受到ACK就翻转一次. |
|
|
12楼#
发布于:2004-05-23 15:19
好像是UFI命令吧!
|
|
|