yuchixiao
驱动牛犊
驱动牛犊
  • 注册日期2003-12-09
  • 最后登录2007-01-22
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1320回复:10

关于usb枚举的一个问题,请教大家

楼主#
更多 发布于:2003-12-10 09:54
我用的是D12芯片,MCU是MSP430F147,按照周立功推荐的结构用汇编写的固件程序,插入USB电缆后,按说应该收到读取描述符的建立包,然后返回16字节的设备描述符,主机确认,然后主机设置地址。
但是我用BUS HOUND截取的数据中,好像只返回了8个字节,然后就超时了。

我对比别的USB设备枚举截取的数据,好像也只有8个,和书上说的先收16个,再收18个的说法是不是不符合,下面是截取的数据,请高手指教:)

   9.0  CTL    a3 00 00 00 - 02 00 04 00  GET STATUS        515ms         1.1.0        
   9.0  DI     03 01 00 00                ....               24us         1.2.0        
   9.0  CTL    23 03 04 00 - 02 00 00 00  SET FEATURE        15us         2.1.0        
   9.1  DI     04                         .                  85ms         3.1.0        
   9.0  CTL    a3 00 00 00 - 02 00 04 00  GET STATUS         15us         4.1.0        
   9.0  DI     03 01 10 00                ....               16us         4.2.0        
   9.0  CTL    23 01 14 00 - 02 00 00 00  CLEAR FEATURE       6us         5.1.0        
   9.0  CTL    80 06 00 01 - 00 00 40 00  GET DESCRIPTOR     26ms         6.1.0        
   9.0  DI     12 01 00 01 - dc 00 00 10  ........          5.0sc         6.2.0        
   9.0  CTL    a3 00 00 00 - 02 00 04 00  GET STATUS        514ms         7.1.0        
   9.0  DI     03 01 00 00                ....               23us         7.2.0        
   9.0  CTL    23 03 04 00 - 02 00 00 00  SET FEATURE        16us         8.1.0        
   9.1  DI     04                         .                  85ms         9.1.0        
   9.0  CTL    a3 00 00 00 - 02 00 04 00  GET STATUS         11us        10.1.0        
   9.0  DI     03 01 10 00                ....               12us        10.2.0        
   9.0  CTL    23 01 14 00 - 02 00 00 00  CLEAR FEATURE       6us        11.1.0        
   9.0  CTL    80 06 00 01 - 00 00 40 00  GET DESCRIPTOR     26ms        12.1.0        
   9.0  DI     12 01 00 01 - dc 00 00 10  ........          3.3sc        12.2.0        
   9.0  CTL    23 01 01 00 - 02 00 00 00  CLEAR FEATURE     514ms         1.1.0        



下面是一个安装了驱动的USB设备的枚举截取数据:

  13.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS         36ms         1.1.0        
  13.0  DI     01 01 00 00                                         ....               24us         1.2.0        
  13.0  CTL    23 03 04 00  02 00 00 00                            SET FEATURE        14us         2.1.0        
  13.1  DI     04                                                  .                  84ms         3.1.0        
  13.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS         14us         4.1.0        
  13.0  DI     03 01 10 00                                         ....               18us         4.2.0        
  13.0  CTL    23 01 14 00  02 00 00 00                            CLEAR FEATURE       6us         5.1.0        
  13.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS         26ms         6.1.0        
  13.0  DI     03 01 00 00                                         ....               22us         6.2.0        
  13.0  CTL    80 06 00 01  00 00 40 00                            GET DESCRIPTOR    113us         7.1.0        
  13.0  DI     12 01 00 01  dc 00 00 10                            ........           14ms         7.2.0        
  13.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS         24us         8.1.0        
  13.0  DI     03 01 00 00                                         ....               17us         8.2.0        
  13.0  CTL    23 03 04 00  02 00 00 00                            SET FEATURE        11us         9.1.0        
  13.1  DI     04                                                  .                  59ms        10.1.0        
  13.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS         18us        11.1.0        
  13.0  DI     03 01 10 00                                         ....               17us        11.2.0        
  13.0  CTL    23 01 14 00  02 00 00 00                            CLEAR FEATURE       6us        12.1.0        
  13.0  CTL    00 05 02 00  00 00 00 00                            SET ADDRESS        26ms        13.1.0        
  13.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR     12ms        14.1.0        
  13.0  DI     12 01 00 01  dc 00 00 10                            ........          4.5ms        14.2.0        
  13.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR     12us        15.1.0        
  13.0  DI     09 02 2e 00  01 01 00 60                            .......`          3.9ms        15.2.0        
  17.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR    9.6ms        16.1.0        
  17.0  DI     12 01 00 01  dc 00 00 10                            ........          4.3ms        16.2.0        
  17.0  CTL    80 06 00 02  00 00 09 02                            GET DESCRIPTOR     26us        17.1.0        
  17.0  DI     09 02 2e 00  01 01 00 60                            .......`          6.9ms        17.2.0        
  17.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG         27us        18.1.0        

谢啦

最新喜欢:

jxchen045jxchen...
我是一条鱼
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-12-11 08:43
看来你确实发出去了,但是时间太长了,改一下程序。5sec太不可思议了,做到1sec以下看看。
yuchixiao
驱动牛犊
驱动牛犊
  • 注册日期2003-12-09
  • 最后登录2007-01-22
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-12-10 18:18

我现在也能接收到全部数据了,我的16个字节设备描述符发出去了,可是主机没有响应,直接cancel了,谁能告诉我到底怎么回事??

   9.0  CTL    80 06 00 01 - 00 00 40 00  GET DESCRIPTOR    122us        36.1.0        
   9.0  DI     12 01 00 01 - dc 00 00 10  ........          5.0sc        36.2.0        
               71 04 66 06 - 00 01 00 00  q.f.....                       36.2.8        
   9.0  NSTS   20 01 00 c0                cancelled           6us        36.3.0        
   9.0  CTL    a3 00 00 00 - 02 00 04 00  GET STATUS        515ms        37.1.0        
   9.0  DI     03 01 00 00                ....               23us        37.2.0        
我是一条鱼
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-12-10 16:25
我是引用你的数据!我的可以抓全部的,版本是3.0或4.0都行。
yuchixiao
驱动牛犊
驱动牛犊
  • 注册日期2003-12-09
  • 最后登录2007-01-22
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-12-10 15:44
clementzhao:

赫赫,我也觉得这儿有问题,你能把完整的截取数据贴给我么?你的好像也只截到8个字节呀,你用的是哪个版本的BUS HOUND??


我是一条鱼
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-12-10 14:37
注意这2步:
9.0 CTL 80 06 00 01 - 00 00 40 00 GET DESCRIPTOR 26ms 6.1.0
9.0 DI 12 01 00 01 - dc 00 00 10 ........ 5.0sc 6.2.0
9.0 CTL 80 06 00 01 - 00 00 40 00 GET DESCRIPTOR 26ms 12.1.0
9.0 DI 12 01 00 01 - dc 00 00 10 ........ 3.3sc 12.2.0
一次5秒,一次3.3秒,时间太长了。看看正常的:
13.0 CTL 80 06 00 01 00 00 40 00 GET DESCRIPTOR 113us 7.1.0
13.0 DI 12 01 00 01 dc 00 00 10 ........ 14ms 7.2.0
17.0 CTL 80 06 00 01 00 00 12 00 GET DESCRIPTOR 9.6ms 16.1.0
17.0 DI 12 01 00 01 dc 00 00 10 ........ 4.3ms 16.2.0
比你的快千倍哦。再看看长度,你的始终是0x40,好像host并没有接收到你的描述符大小。


yuchixiao
驱动牛犊
驱动牛犊
  • 注册日期2003-12-09
  • 最后登录2007-01-22
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-12-10 13:51
我试了,4。01,结果一样,在收到八个字节后有

  9.0  NSTS   20 01 00 c0                cancelled           5us        12.3.0    

是不是等待超时,pc终止传输了??
我是一条鱼
clementzhao
驱动大牛
驱动大牛
  • 注册日期2003-05-08
  • 最后登录2009-02-20
  • 粉丝0
  • 关注0
  • 积分28分
  • 威望63点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-12-10 12:54
我用的是5。0啊,刚下的,我觉得确实有问题,因为到不了设置地址那一步。。。 :(

5.0只能抓8个byte,用3.3\\4.0。设置地址那步不一定能抓到。
yuchixiao
驱动牛犊
驱动牛犊
  • 注册日期2003-12-09
  • 最后登录2007-01-22
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-12-10 11:39
我用的是5。0啊,刚下的,我觉得确实有问题,因为到不了设置地址那一步。。。 :(
我是一条鱼
dopy26
驱动牛犊
驱动牛犊
  • 注册日期2003-02-28
  • 最后登录2006-09-25
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-12-10 11:11
你用的bushound还是试用版(抓取数据有限)的吧? 在这个论坛搜一下会发现好东东的。
yuchixiao
驱动牛犊
驱动牛犊
  • 注册日期2003-12-09
  • 最后登录2007-01-22
  • 粉丝0
  • 关注0
  • 积分20分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2003-12-10 10:15
下面安装了驱动的USB设备,读取设备描述符和配置描述符,怎么也都只返回了8个字节呢??
我是一条鱼
游客

返回顶部