bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1980回复:5

USBN9603现在进入u盘开发的CBW,CSW过程,出现问题,请大家帮忙

楼主#
更多 发布于:2004-04-14 10:17
目前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寄存器,一直到读完。中间还有别的步骤吗?希望大家帮我分析一下还有哪些地方需要注意的。
LJ1978
驱动小牛
驱动小牛
  • 注册日期2004-02-25
  • 最后登录2011-06-08
  • 粉丝0
  • 关注0
  • 积分43分
  • 威望24点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-14 10:39
是不是没有选通?
我有时侯也会犯这毛病.特别是读FLASH的时候,读出来全部是FF,原来前面没有选通.
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-14 10:50
你是指bulk only 的通信通道没有选定?
但是在set config中我已经设置好了啊。
怎么样可以测出这个问题。
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-04-14 13:07
自顶一下,防止沉底。
bbiliu
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2005-01-27
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-14 13:40
用usbview查看了一下,发现open pips显示为0,是不是表示我的set config过程没有对啊?那个步骤和open pips的值有关系?
chenchi1982
驱动牛犊
驱动牛犊
  • 注册日期2004-03-21
  • 最后登录2018-05-26
  • 粉丝0
  • 关注0
  • 积分-12分
  • 威望30点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-19 18:33
我做U盘也刚做到这一步,希望能和你交流交流
我的QQ:8783260
EMAIL:chenchi1982@163.com
游客

返回顶部