阅读:1980回复:5
USBN9603现在进入u盘开发的CBW,CSW过程,出现问题,请大家帮忙
目前usbn9603的u盘实现已经通过了枚举过程,现在开始做CBW,CSW的
scsi协议阶段。在这之前的工作,得到了大家的很多帮助,特别leadphone大侠,在此深表谢意。 目前出现的问题是,我使用bulk only传输方式,用endpoint1做tx传输,endpoint2做RX接收。 我用bushound抓到host向device 发送了如下的数据: 4.2 LEN 1f 00 00 00 14.2 DO 55 53 42 43 08 e0 3a 81 24 00 00 00 80 00 06 12 00 00 00 24 00 00 00 00 00 00 00 00 00 00 00 这是一个标准的CBW命令。 在我的rxev寄存器中显示产生了rxfifo1的中断,但是我进去接收的时候收到的数据如下: 00*00*00*00*24*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00*00* “*”号是我自己用来做分隔符用的(16进制显示)。这样的数据明显不对啊。我分析了一下,bushound中显示DO中为31个数据发出,那我接收到的也是31个数据。为什么值不对啊。 我得程序中,在接收rxfifo1中的数据时,就是直接读rxs1寄存器,判断数据是否正确,得到有多少数据,然后读rxd1寄存器,一直到读完。中间还有别的步骤吗?希望大家帮我分析一下还有哪些地方需要注意的。 |
|
沙发#
发布于:2004-04-14 10:39
是不是没有选通?
我有时侯也会犯这毛病.特别是读FLASH的时候,读出来全部是FF,原来前面没有选通. |
|
板凳#
发布于:2004-04-14 10:50
你是指bulk only 的通信通道没有选定?
但是在set config中我已经设置好了啊。 怎么样可以测出这个问题。 |
|
地板#
发布于:2004-04-14 13:07
自顶一下,防止沉底。
|
|
地下室#
发布于:2004-04-14 13:40
用usbview查看了一下,发现open pips显示为0,是不是表示我的set config过程没有对啊?那个步骤和open pips的值有关系?
|
|
5楼#
发布于:2004-04-19 18:33
我做U盘也刚做到这一步,希望能和你交流交流
我的QQ:8783260 EMAIL:chenchi1982@163.com |
|