打印

d12能枚举和不能枚举对比

[复制链接]
4175|20
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lovec51|  楼主 | 2007-9-25 13:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用D12做了两块不同的板,一块是5V系统,CPU工作在70MHz,采用ale来区分命令和数据,D12可以正常枚举,也可以稳定传输数据.另一块是3.3V系统,CPU工作在25MHz,采用A0来区分命令和数据,枚举不能通过,现象是goodlink灯不停闪烁,windows设备管理器也不停刷新,就像正常枚举最后出现D12那一刻一样,但是没有出现D12也不出现"不明设备",好像枚举最后一步出问题的样子(猜想).固件程序基本一致(除地址不同).示波器观察D12的13脚有正常的12M波形输出(猜测D12初始化没问题),读D12的ID也正常.下面把用bus hound抓取的枚举数据帖出来,希望高手指点:我用的是winxp操作系统.前面看帖子说xp看不到全部的枚举数据,那怎样才能看到全部枚举数据?

先贴出能正常枚举的数据:

Bus Hound 3.02 capture. Complements of www.perisoft.net

开机枚举成功

  Dev   - Device ID
  Time  - Elapsed time since the start of the previous Phase
  Phase - ADDR= 1394 transfer address  LOCK= 1394 lock transaction
          CDB = Command block          NSTS= NT status
          CTL = USB control packet     RSET= bus reset
          DI  = Data In                RSTS= I/O Request Status
          DO  = Data Out               SNS = SCSI Sense Data
          IDE = IDE task file command  SSTS= SCSI Request Block Status
          ISOC= Isochronous Transfer   USTS= USB status

  (9) Intel(R) 82801G (ICH7 Family) USB Universal Host Controller - 27C9
  (10) USB Root Hub [7KB/Sec]
  (11) Intel(R) 82801G (ICH7 Family) USB Universal Host Controller - 27CA
  (12) USB Root Hub
  (18) yy's D12-JB Board [5KB/Sec]

Dev  Phase  Data                       Info           Time   Cmd.Phase.Ofs     
---  -----  -------------------------  -------------  -----  ------------------
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS       0us         1.1.0        
            01 00 04 00                                             1.1.8        
10  DI     00 00 00 00 - 01 01 01 00  ........        29us         1.2.0        
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      12us         2.1.0        
            01 00 04 00                                             2.1.8        
10  DI     00 00 00 00 - 01 01 01 00  ........        27us         2.2.0        
10  CTL    00 00 00 00 - 23 01 10 00  GET STATUS      20us         3.1.0        
            01 00 00 00                                             3.1.8        
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      65us         4.1.0        
            01 00 04 00                                             4.1.8        
10  DI     00 00 00 00 - 01 01 00 00  ........        22us         4.2.0        
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS     124ms         5.1.0        
            01 00 04 00                                             5.1.8        
10  DI     00 00 00 00 - 01 01 00 00  ........        35us         5.2.0        
10  CTL    00 00 00 00 - 23 03 04 00  GET STATUS      18us         6.1.0        
            01 00 00 00                                             6.1.8        
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      31ms         7.1.0        
            01 00 04 00                                             7.1.8        
10  DI     00 00 00 00 - 03 01 10 00  ........        28us         7.2.0        
10  CTL    00 00 00 00 - 23 01 14 00  GET STATUS       3us         8.1.0        
            01 00 00 00                                             8.1.8        
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      31ms         9.1.0        
            01 00 04 00                                             9.1.8        
10  DI     00 00 00 00 - 03 01 00 00  ........        29us         9.2.0        
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      36ms        10.1.0        
            01 00 04 00                                            10.1.8        
10  DI     00 00 00 00 - 03 01 00 00  ........        25us        10.2.0        
10  CTL    00 00 00 00 - 23 03 04 00  GET STATUS      16us        11.1.0        
            01 00 00 00                                            11.1.8        
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      26ms        12.1.0        
            01 00 04 00                                            12.1.8        
10  DI     00 00 00 00 - 03 01 10 00  ........        26us        12.2.0        
10  CTL    00 00 00 00 - 23 01 14 00  GET STATUS       3us        13.1.0        
            01 00 00 00                                            13.1.8   
     
10  CTL    00 00 00 00 - 80 06 00 02  GET STATUS     101ms        14.1.0        
            00 00 ff 00                                            14.1.8        

10  DI     00 00 00 00 - 09 02 2e 00  ........       6.9ms        14.2.0        
            01 01 00 60 - 01 09 04 00  ...`....                    14.2.8        
            00 04 dc a0 - b0 00 07 05  ........                    14.2.16       
            81 03 04 00 - 0a 07 05 01  ........                    14.2.24       
            03 04 00 0a - 07 05 82 02  ........                    14.2.32       
            40 00 0a 07 - 05 02 02 40  @......@                    14.2.40       
            00 0a                      ..                          14.2.48  
     
10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      18us        15.1.0        
            02 00 04 00                                            15.1.8        
10  DI     00 00 00 00 - 00 01 00 00  ........        21us        15.2.0        
18  CTL    00 00 00 00 - 80 06 00 01  GET STATUS     5.6ms        16.1.0        
            00 00 12 00                                            16.1.8        
10  CTL    00 00 00 00 - 80 06 00 01  GET STATUS      10us        17.1.0        
            00 00 12 00                                            17.1.8        
10  DI     00 00 00 00 - 12 01 00 01  ........       4.3ms        17.2.0        
            dc 00 00 10 - 71 04 66 06  ....q.f.                    17.2.8        
            00 01 00 00 - 00 19        ......                      17.2.16       
18  DI     00 00 00 00 - 12 01 00 01  ........         4us        16.2.0        
            dc 00 00 10 - 71 04 66 06  ....q.f.                    16.2.8        
            00 01 00 00 - 00 19        ......                      16.2.16       
18  CTL    00 00 00 00 - 80 06 00 02  GET STATUS      18us        18.1.0        
            00 00 09 00                                            18.1.8        
10  CTL    00 00 00 00 - 80 06 00 02  GET STATUS      12us        19.1.0        
            00 00 09 00                                            19.1.8        
10  DI     00 00 00 00 - 09 02 2e 00  ........       3.9ms        19.2.0        
            01 01 00 60 - 01           ...`.                       19.2.8        
18  DI     00 00 00 00 - 09 02 2e 00  ........         3us        18.2.0        
            01 01 00 60 - 01           ...`.                       18.2.8        
18  CTL    00 00 00 00 - 80 06 00 02  GET STATUS      14us        20.1.0        
            00 00 2e 00                                            20.1.8        
10  CTL    00 00 00 00 - 80 06 00 02  GET STATUS       7us        21.1.0        
            00 00 2e 00                                            21.1.8        
10  DI     00 00 00 00 - 09 02 2e 00  ........       5.9ms        21.2.0        
            01 01 00 60 - 01 09 04 00  ...`....                    21.2.8        
            00 04 dc a0 - b0 00 07 05  ........                    21.2.16       
            81 03 04 00 - 0a 07 05 01  ........                    21.2.24       
            03 04 00 0a - 07 05 82 02  ........                    21.2.32       
            40 00 0a 07 - 05 02 02 40  @......@                    21.2.40       
            00 0a                      ..                          21.2.48       
18  DI     00 00 00 00 - 09 02 2e 00  ........         2us        20.2.0        
            01 01 00 60 - 01 09 04 00  ...`....                    20.2.8        
            00 04 dc a0 - b0 00 07 05  ........                    20.2.16       
            81 03 04 00 - 0a 07 05 01  ........                    20.2.24       
            03 04 00 0a - 07 05 82 02  ........                    20.2.32       
            40 00 0a 07 - 05 02 02 40  @......@                    20.2.40       
            00 0a                      ..                          20.2.48       
18  CTL    00 00 00 00 - 00 09 01 00  GET STATUS      12us        22.1.0        
            00 00 00 00                                            22.1.8        
10  CTL    00 00 00 00 - 00 09 01 00  GET STATUS       4us        23.1.0        
            00 00 00 00                                            23.1.8        



相关帖子

沙发
lovec51|  楼主 | 2007-9-25 13:05 | 只看该作者

下面贴出的是多次枚举不成功的数据

以上是一次枚举成功的数据,下面贴出的是多次枚举不成功的数据(windows设备管理器刷新一次我认为是枚举一次)

Bus Hound 3.02 capture. Complements of www.perisoft.net

开机-关-开不成功.txt

  Dev   - Device ID
  Time  - Elapsed time since the start of the previous Phase
  Phase - ADDR= 1394 transfer address  LOCK= 1394 lock transaction
          CDB = Command block          NSTS= NT status
          CTL = USB control packet     RSET= bus reset
          DI  = Data In                RSTS= I/O Request Status
          DO  = Data Out               SNS = SCSI Sense Data
          IDE = IDE task file command  SSTS= SCSI Request Block Status
          ISOC= Isochronous Transfer   USTS= USB status

  (9) Intel(R) 82801G (ICH7 Family) USB Universal Host Controller - 27C9
  (10) USB Root Hub [144KB/Sec]
  (11) Intel(R) 82801G (ICH7 Family) USB Universal Host Controller - 27CA
  (12) USB Root Hub
  (18) yy's D12-JB Board

Dev  Phase  Data                                                   Info              Time   Cmd.Phase.Ofs     
---  -----  -----------------------------------------------------  ----------------  -----  ------------------
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS          0us         1.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           27us         1.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         15us         2.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           28us         2.2.0        
10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         21us         3.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         87us         4.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           25us         4.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        124ms         5.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           36us         5.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         20us         6.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms         7.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           26us         7.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us         8.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms         9.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           39us         9.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         38ms        10.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           27us        10.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         16us        11.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         24ms        12.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           20us        12.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us        13.1.0   
     
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        1.1sc        14.1.0        

10  DI     00 00 00 00 - 00 01 03 00                              ........           29us        14.2.0       

10  CTL    00 00 00 00 - 23 01 11 00 - 01 00 00 00                GET STATUS          3us        15.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         44us        16.1.0        
10  DI     00 00 00 00 - 00 01 01 00                              ........           18us        16.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         15us        17.1.0        
10  DI     00 00 00 00 - 00 01 01 00                              ........           21us        17.2.0        
10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         16us        18.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        421ms        19.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           41us        19.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        546ms        20.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           37us        20.2.0        
10  CTL    00 00 00 00 - 23 01 01 00 - 01 00 00 00                GET STATUS        546ms        21.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 02 00 04 00                GET STATUS         59us        22.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           23us        22.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        1.0ms        23.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           37us        23.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 02 00 04 00                GET STATUS         23us        24.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           23us        24.2.0        
10  USTS   00 00 00 00 - 00 00 01 c0                              ok                545ms        25.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        234ms        26.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           34us        26.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         23us        27.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           19us        27.2.0        
10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         16us        28.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         71us        29.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           24us        29.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        124ms        30.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           41us        30.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         17us        31.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms        32.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           30us        32.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          4us        33.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms        34.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           35us        34.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         38ms        35.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           24us        35.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         16us        36.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         24ms        37.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           22us        37.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us        38.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        546ms        39.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           37us        39.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         20us        40.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms        41.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           27us        41.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          4us        42.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        1.5sc        43.1.0        
10  DI     00 00 00 00 - 00 01 03 00                              ........           26us        43.2.0        
10  CTL    00 00 00 00 - 23 01 11 00 - 01 00 00 00                GET STATUS          4us        44.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         42us        45.1.0        
10  DI     00 00 00 00 - 00 01 01 00                              ........           18us        45.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         15us        46.1.0        
10  DI     00 00 00 00 - 00 01 01 00                              ........           21us        46.2.0        
10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         15us        47.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         62ms        48.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           34us        48.2.0        
10  CTL    00 00 00 00 - 23 01 01 00 - 01 00 00 00                GET STATUS        546ms        49.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 02 00 04 00                GET STATUS         54us        50.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           20us        50.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        1.0ms        51.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           33us        51.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 02 00 04 00                GET STATUS         26us        52.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           24us        52.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        420ms        53.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           26us        53.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         17us        54.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           28us        54.2.0        
10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         20us        55.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         60us        56.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           22us        56.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        124ms        57.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           33us        57.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         16us        58.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms        59.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           33us        59.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us        60.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms        61.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           38us        61.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         38ms        62.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           24us        62.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         15us        63.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         24ms        64.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           27us        64.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us        65.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        546ms        66.1.0        
10  DI     00 00 00 00 - 03 01 00 00                              ........           35us        66.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         16us        67.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms        68.1.0        
10  DI     00 00 00 00 - 03 01 10 00                              ........           24us        68.2.0        
10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us        69.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        1.2sc        70.1.0        
10  DI     00 00 00 00 - 00 01 03 00                              ........           30us        70.2.0        
10  CTL    00 00 00 00 - 23 01 11 00 - 01 00 00 00                GET STATUS          3us        71.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         56us        72.1.0        
10  DI     00 00 00 00 - 00 01 01 00                              ........           24us        72.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         11us        73.1.0        
10  DI     00 00 00 00 - 00 01 01 00                              ........           26us        73.2.0        
10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         19us        74.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        343ms        75.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           40us        75.2.0        
10  CTL    00 00 00 00 - 23 01 01 00 - 01 00 00 00                GET STATUS        546ms        76.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 02 00 04 00                GET STATUS         64us        77.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           24us        77.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        1.2ms        78.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           36us        78.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 02 00 04 00                GET STATUS         20us        79.1.0        
10  DI     00 00 00 00 - 00 01 00 00                              ........           23us        79.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        889ms        80.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           22us        80.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         13us        81.1.0        
10  DI     00 00 00 00 - 01 01 01 00                              ........           23us        81.2.0        
10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         15us        82.1.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         52us        83.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           22us        83.2.0        
10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        124ms        84.1.0        
10  DI     00 00 00 00 - 01 01 00 00                              ........           39us        84.2.0        
10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         15us       &nbs

使用特权

评论回复
板凳
computer00| | 2007-9-25 20:38 | 只看该作者

从你这个过程看,应该是第一步的返回设备描述符都没成功

只是接通了上拉电阻而已。

在输入和输出处理部分用串口将接收到的数据和发送的数据显示出来看看,这样比较容易跟踪。

使用特权

评论回复
地板
lovec51|  楼主 | 2007-9-26 11:14 | 只看该作者

我以前做过一个带串口的板子,目的就是想观察枚举过程。

结果好像是:USB速度太快,导致串口发送堵塞。
话说回来,如果都要用串口调试USB,那不是所有有USB的板子都最好留出一个串口?
我的意思是还有没有其他办法?

使用特权

评论回复
5
huangqi412| | 2007-9-26 14:41 | 只看该作者

我的bus hound没法用,就是用串口调出来的

谁让你一次把所有的全部串口输出呢,一步一步来,完成一步就去掉一步的输出,在下一阶段家输出语句,

使用特权

评论回复
6
lovec51|  楼主 | 2007-9-26 17:51 | 只看该作者

查资料仔细看了一下上述数据如下:

我凭感觉对数据做了一个大概的注释:也许不准确,但是应该就这个意思

下面首先是正确枚举成功的数据:

Dev  Phase  Data                       Info           Time   Cmd.Phase.Ofs     
---  -----  -------------------------  -------------  -----  ------------------
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS       0us         1.1.0        
            01 00 04 00                                             1.1.8    
        其他类型请求=设备到主机    读设备状态
 10  DI     00 00 00 00 - 01 01 01 00  ........        29us         1.2.0        
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      12us         2.1.0        
            01 00 04 00                                             2.1.8        
                    读设备状态
 10  DI     00 00 00 00 - 01 01 01 00  ........        27us         2.2.0        
 10  CTL    00 00 00 00 - 23 01 10 00  GET STATUS      20us         3.1.0        
            01 00 00 00                                             3.1.8     
        其它类型请求=主机到设备  清除设备状态  可能是复位
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      65us         4.1.0        
            01 00 04 00                                             4.1.8       
         读设备状态
 10  DI     00 00 00 00 - 01 01 00 00  ........        22us         4.2.0        
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS     124ms         5.1.0        
            01 00 04 00                                             5.1.8    
                读设备状态    
 10  DI     00 00 00 00 - 01 01 00 00  ........        35us         5.2.0        
 10  CTL    00 00 00 00 - 23 03 04 00  GET STATUS      18us         6.1.0        
            01 00 00 00                                             6.1.8  
        其它类型请求=主机到设备 设定设备状态      
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      31ms         7.1.0        
            01 00 04 00                                             7.1.8   
            读设备状态     
 10  DI     00 00 00 00 - 03 01 10 00  ........        28us         7.2.0  
      
 10  CTL    00 00 00 00 - 23 01 14 00  GET STATUS       3us         8.1.0        
            01 00 00 00                                             8.1.8      
         其它类型请求=主机到设备  清除设备状态  可能是复位 
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      31ms         9.1.0        
            01 00 04 00                                             9.1.8   
            读设备状态     
 10  DI     00 00 00 00 - 03 01 00 00  ........        29us         9.2.0  
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      36ms        10.1.0        
            01 00 04 00                                            10.1.8        
            读设备状态
 10  DI     00 00 00 00 - 03 01 00 00  ........        25us        10.2.0        
 10  CTL    00 00 00 00 - 23 03 04 00  GET STATUS      16us        11.1.0        
            01 00 00 00                                            11.1.8    
         其它类型请求=主机到设备 设定设备状态   
 10  CTL    00 00 00 00 - a3 00 00 00  GET STATUS      26ms        12.1.0        
            01 00 04 00                                            12.1.8       
            读设备状态 
 10  DI     00 00 00 00 - 03 01 10 00  ........        26us        12.2.0        
 10  CTL    00 00 00 00 - 23 01 14 00  GET STATUS       3us        13.1.0        
            01 00 00 00                                            13.1.8   
              其它类型请求=主机到设备  清除设备状态  可能是复位
 10  CTL    00 00 00 00 - 80 06 00 02  GET STATUS     101ms        14.1.0        
            00 00 ff 00                                            14.1.8        
        设备标准请求=设备到主机 获取描述符 长度FF
 10  DI     00 00 00 00 - 09 02 2e 00  ........       6.9ms        14.2.0        
            00 04 dc a0 - b0 00 07 05  ........                    14.2.16       
            81 03 04 00 - 0a 07 05 01  ........                    14.2.24       
            03 04 00 0a - 07 05 82 02  ........                    14.2.32       
            40 00 0a 07 - 05 02 02 40  @......@                    14.2.40       
            00 0a                      ..                          14.2.48  


使用特权

评论回复
7
lovec51|  楼主 | 2007-9-26 17:53 | 只看该作者

不能正确枚举的数据:

Dev  Phase  Data                                                   Info              Time   Cmd.Phase.Ofs     
---  -----  -----------------------------------------------------  ----------------  -----  ------------------
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS          0us         1.1.0    
                读设备状态  
 10  DI     00 00 00 00 - 01 01 01 00                              ........           27us         1.2.0        
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         15us         2.1.0    
            读设备状态      
 10  DI     00 00 00 00 - 01 01 01 00                              ........           28us         2.2.0        
 10  CTL    00 00 00 00 - 23 01 10 00 - 01 00 00 00                GET STATUS         21us         3.1.0  
                  其它类型请求=主机到设备  清除设备状态  可能是复位
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         87us         4.1.0   
            读设备状态     
 10  DI     00 00 00 00 - 01 01 00 00                              ........           25us         4.2.0        
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        124ms         5.1.0 
            读设备状态       
 10  DI     00 00 00 00 - 01 01 00 00                              ........           36us         5.2.0        
 10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         20us         6.1.0        
            其它类型请求=主机到设备 设定状态 
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms         7.1.0  
             读设备状态       
 10  DI     00 00 00 00 - 03 01 10 00                              ........           26us         7.2.0        
 10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us         8.1.0        
            其它类型请求=主机到设备 清除设备状态 
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         31ms         9.1.0 
            读设备状态        
 10  DI     00 00 00 00 - 03 01 00 00                              ........           39us         9.2.0        
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         38ms        10.1.0 
            读设备状态        
 10  DI     00 00 00 00 - 03 01 00 00                              ........           27us        10.2.0        
 10  CTL    00 00 00 00 - 23 03 04 00 - 01 00 00 00                GET STATUS         16us        11.1.0        
            其它类型请求=主机到设备 设定设备状态  
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS         24ms        12.1.0  
              读设备状态    
 10  DI     00 00 00 00 - 03 01 10 00                              ........           20us        12.2.0        
 10  CTL    00 00 00 00 - 23 01 14 00 - 01 00 00 00                GET STATUS          3us        13.1.0   
                 其它类型请求=主机到设备  清除设备状态  可能是复位
 10  CTL    00 00 00 00 - a3 00 00 00 - 01 00 04 00                GET STATUS        1.1sc        14.1.0        
            读设备状态 
 10  DI     00 00 00 00 - 00 01 03 00                              ........           29us        14.2.0       

使用特权

评论回复
8
lovec51|  楼主 | 2007-9-26 18:08 | 只看该作者

为了突出重点,我只截取一段来注释,完整的数据在1楼和2楼

能够成功枚举的过程大概如下:
读设备状态-读设备状态-清除状态-读设备状态-读设备状态-设定状态-读设备状态-清除状态-读设备状态-读设备状态-设定状态-读设备状态-清楚状态-获取描述符

而不能枚举成功的过程如下:
读设备状态-读设备状态-清除状态-读设备状态-读设备状态-设定状态-读设备状态-清除状态-读设备状态-读设备状态-设定状态-读设备状态-清楚状态-读设备状态

这就可以看到,前面13步都是一样的,并且返回数据也一样,只有最后一步,能枚举的是获取描述符,不能枚举的则是读设备状态.

这是从PC发出来的命令,PC肯定不会错,是不是由于在XP下看不到设定地址前面的数据,所以前面的in包错了我也看不到,导致最后PC发的包不正确??

使用特权

评论回复
9
lovec51|  楼主 | 2007-9-26 18:56 | 只看该作者

换一个bus hound 5抓数据,结果一样:

Bus Hound 5.00 capture. Complements of www.perisoft.net

设备上电_枚举不成功

  Device - Device ID (followed by the endpoint for USB devices)
            (10) USB Root Hub
            (22) yy's D12-JB Board
  Data   - Hex dump of the data transferred
  Cmd... - Position in the captured data
  Delta  - Elapsed time from the previous phase to the current phase
  Date   - Date the phase occurred in year/month/day form
  Descr  - Description of the phase


Device  Data         Cmd.Phase.Ofs(rep)  Delta  Date        Description     
------  -----------  ------------------  -----  ----------  ----------------
  10.0  a3 00 00 00         1.1.0(2)     5.3sc  2007-09-26  GET STATUS        
        01 00 04 00         1.1.4                                             
  10.0  01 01 01 00         1.2.0         32us  2007-09-26  ....              
  10.0  23 01 10 00         3.1.0         77us  2007-09-26  CLEAR FEATURE     
        01 00 00 00         3.1.4                                             
  10.0  a3 00 00 00         4.1.0(2)      88us  2007-09-26  GET STATUS        
        01 00 04 00         4.1.4                                             
  10.0  01 01 00 00         4.2.0         25us  2007-09-26  ....              
  10.0  23 03 04 00         6.1.0        124ms  2007-09-26  SET FEATURE       
        01 00 00 00         6.1.4                                             
  10.0  a3 00 00 00         7.1.0         31ms  2007-09-26  GET STATUS        
        01 00 04 00         7.1.4                                             
  10.0  03 01 10 00         7.2.0         35us  2007-09-26  ....              
  10.0  23 01 14 00         8.1.0          7us  2007-09-26  CLEAR FEATURE     
        01 00 00 00         8.1.4                                             
  10.0  a3 00 00 00         9.1.0(2)      30ms  2007-09-26  GET STATUS        
        01 00 04 00         9.1.4                                             
  10.0  03 01 00 00         9.2.0         36us  2007-09-26  ....              
  10.0  23 03 04 00        11.1.0         37ms  2007-09-26  SET FEATURE       
        01 00 00 00        11.1.4                                             
  10.0  a3 00 00 00        12.1.0         25ms  2007-09-26  GET STATUS        
        01 00 04 00        12.1.4                                             
  10.0  03 01 10 00        12.2.0         29us  2007-09-26  ....              
  10.0  23 01 14 00        13.1.0          6us  2007-09-26  CLEAR FEATURE     
        01 00 00 00        13.1.4                                             
  10.0  a3 00 00 00        14.1.0        1.4sc  2007-09-26  GET STATUS        
        01 00 04 00        14.1.4                                             
  10.0  00 01 03 00        14.2.0         39us  2007-09-26  ....              
  10.0  23 01 11 00        15.1.0          7us  2007-09-26  CLEAR FEATURE     
        01 00 00 00        15.1.4                                             
  10.0  a3 00 00 00        16.1.0(2)      61us  2007-09-26  GET STATUS        
        01 00 04 00        16.1.4                                             
  10.0  00 01 01 00        16.2.0         27us  2007-09-26  ....              
  10.0  23 01 10 00        18.1.0         69us  2007-09-26  CLEAR FEATURE     
        01 00 00 00        18.1.4                                             
  10.0  a3 00 00 00        19.1.0(2)     171ms  2007-09-26  GET STATUS        
        01 00 04 00        19.1.4                                             
  10.0  00 01 00 00        19.2.0         50us  2007-09-26  ....              
  10.0  23 01 01 00        21.1.0        1.0sc  2007-09-26  CLEAR FEATURE     
        01 00 00 00        21.1.4                                             
  10.0  a3 00 00 00        22.1.0         58us  2007-09-26  GET STATUS        
        02 00 04 00        22.1.4                                             
  10.0  00 01 00 00        22.2.0         31us  2007-09-26  ....              
  10.0  a3 00 00 00        23.1.0        1.0ms  2007-09-26  GET STATUS        
        01 00 04 00        23.1.4                                             
  10.0  00 01 00 00        23.2.0         43us  2007-09-26  ....              
  10.0  a3 00 00 00        24.1.0         24us  2007-09-26  GET STATUS        
        02 00 04 00        24.1.4                                             
  10.0  00 01 00 00        24.2.0         29us  2007-09-26  ....              
  10.0  a3 00 00 00        25.1.0(2)     280ms  2007-09-26  GET STATUS        
        01 00 04 00        25.1.4                                             
  10.0  01 01 01 00        25.2.0         42us  2007-09-26  ....              
  10.0  23 01 10 00        27.1.0        308us  2007-09-26  CLEAR FEATURE     
        01 00 00 00        27.1.4                                             
  10.0  a3 00 00 00        28.1.0(2)      32ms  2007-09-26  GET STATUS        
        01 00 04 00        28.1.4                                             
  10.0  01 01 00 00        28.2.0         32us  2007-09-26  ....              
  10.0  23 03 04 00        30.1.0        123ms  2007-09-26  SET FEATURE       
        01 00 00 00        30.1.4                                             
  10.0  a3 00 00 00        31.1.0         31ms  2007-09-26  GET STATUS        
        01 00 04 00        31.1.4                                             
  10.0  03 01 10 00        31.2.0         27us  2007-09-26  ....              
  10.0  23 01 14 00        32.1.0          5us  2007-09-26  CLEAR FEATURE     
        01 00 00 00        32.1.4                                             
  10.0  a3 00 00 00        33.1.0(2)      31ms  2007-09-26  GET STATUS        
        01 00 04 00        33.1.4                                             
  10.0  03 01 00 00        33.2.0         45us  2007-09-26  ....              
  10.0  23 03 04 00        35.1.0         37ms  2007-09-26  SET FEATURE       
        01 00 00 00        35.1.4                                             
  10.0  a3 00 00 00        36.1.0         24ms  2007-09-26  GET STATUS        
        01 00 04 00        36.1.4                                             
  10.0  03 01 10 00        36.2.0         42us  2007-09-26  ....              
  10.0  23 01 14 00        37.1.0          7us  2007-09-26  CLEAR FEATURE     
        01 00 00 00        37.1.4                   

使用特权

评论回复
10
lovec51|  楼主 | 2007-9-26 18:57 | 只看该作者

成功的

Bus Hound 5.00 capture. Complements of www.perisoft.net

设备上电_枚举成功

  Device - Device ID (followed by the endpoint for USB devices)
            (10) USB Root Hub
            (22) yy's D12-JB Board
  Data   - Hex dump of the data transferred
  Cmd... - Position in the captured data
  Delta  - Elapsed time from the previous phase to the current phase
  Date   - Date the phase occurred in year/month/day form
  Descr  - Description of the phase


Device  Data         Cmd.Phase.Ofs(rep)  Delta  Date        Description     
------  -----------  ------------------  -----  ----------  ----------------
  10.0  a3 00 00 00         1.1.0(2)     4.2sc  2007-09-26  GET STATUS        
        01 00 04 00         1.1.4                                             
  10.0  01 01 01 00         1.2.0         33us  2007-09-26  ....              
  10.0  23 01 10 00         3.1.0         78us  2007-09-26  CLEAR FEATURE     
        01 00 00 00         3.1.4                                             
  10.0  a3 00 00 00         4.1.0(2)      89us  2007-09-26  GET STATUS        
        01 00 04 00         4.1.4                                             
  10.0  01 01 00 00         4.2.0         45us  2007-09-26  ....              
  10.0  23 03 04 00         6.1.0        124ms  2007-09-26  SET FEATURE       
        01 00 00 00         6.1.4                                             
  10.0  a3 00 00 00         7.1.0         31ms  2007-09-26  GET STATUS        
        01 00 04 00         7.1.4                                             
  10.0  03 01 10 00         7.2.0         35us  2007-09-26  ....              
  10.0  23 01 14 00         8.1.0          8us  2007-09-26  CLEAR FEATURE     
        01 00 00 00         8.1.4                                             
  10.0  a3 00 00 00         9.1.0(2)      31ms  2007-09-26  GET STATUS        
        01 00 04 00         9.1.4                                             
  10.0  03 01 00 00         9.2.0         38us  2007-09-26  ....              
  10.0  23 03 04 00        11.1.0         36ms  2007-09-26  SET FEATURE       
        01 00 00 00        11.1.4                                             
  10.0  a3 00 00 00        12.1.0         26ms  2007-09-26  GET STATUS        
        01 00 04 00        12.1.4                                             
  10.0  03 01 10 00        12.2.0         34us  2007-09-26  ....              
  10.0  23 01 14 00        13.1.0          6us  2007-09-26  CLEAR FEATURE     
        01 00 00 00        13.1.4                                             
  10.0  80 06 00 02        14.1.0        102ms  2007-09-26  GET DESCRIPTOR    
        00 00 ff 00        14.1.4                                             
  10.0  09 02 2e 00        14.2.0        6.9ms  2007-09-26  ....              
        01 01 00 60        14.2.4                           ...`              
        01 09 04 00        14.2.8                           ....              
        00 04 dc a0        14.2.12                          ....              
        b0 00 07 05        14.2.16                          ....              
        81 03 04 00        14.2.20                          ....              
        0a 07 05 01        14.2.24                          ....              
        03 04 00 0a        14.2.28                          ....              
        07 05 82 02        14.2.32                          ....              
        40 00 0a 07        14.2.36                          @...              
        05 02 02 40        14.2.40                          ...@              
        00 0a              14.2.44                          ..                
  10.0  a3 00 00 00        15.1.0         30us  2007-09-26  GET STATUS        
        02 00 04 00        15.1.4                                             
  10.0  00 01 00 00        15.2.0         32us  2007-09-26  ....              
  22.0  80 06 00 01        16.1.0        5.9ms  2007-09-26  GET DESCRIPTOR    
        00 00 12 00        16.1.4                                             
  22.0  12 01 00 01        16.2.0        4.9ms  2007-09-26  ....              
        dc 00 00 10        16.2.4                           ....              
        71 04 66 06        16.2.8                           q.f.              
        00 01 00 00        16.2.12                          ....              
        00 19              16.2.16                          ..                
  22.0  80 06 00 02        17.1.0         28us  2007-09-26  GET DESCRIPTOR    
        00 00 09 00        17.1.4                                             
  22.0  09 02 2e 00        17.2.0        3.9ms  2007-09-26  ....              
        01 01 00 60        17.2.4                           ...`              
        01                 17.2.8                           .                 
  22.0  80 06 00 02        18.1.0         26us  2007-09-26  GET DESCRIPTOR    
        00 00 2e 00        18.1.4                                             
  22.0  09 02 2e 00        18.2.0        5.9ms  2007-09-26  ....              
        01 01 00 60        18.2.4                           ...`              
        01 09 04 00        18.2.8                           ....              
        00 04 dc a0        18.2.12                          ....              
        b0 00 07 05        18.2.16                          ....              
        81 03 04 00        18.2.20                          ....              
        0a 07 05 01        18.2.24                          ....              
        03 04 00 0a        18.2.28                          ....              
        07 05 82 02        18.2.32                          ....              
        40 00 0a 07        18.2.36                          @...              
        05 02 02 40        18.2.40                          ...@              
        00 0a              18.2.44                          ..                
  22.0  00 09 01 00        19.1.0         30us  2007-09-26  SET CONFIG        
        00 00 00 00        19.1.4                      

使用特权

评论回复
11
computer00| | 2007-9-27 02:16 | 只看该作者

你所看到的那些,很多是集线器跟HOST之间的数据,看看我抓

真正的数据包应该是下面这样子的,而不是那些GET STATUS 

下面这些数据是使用BUS HOUND抓的,这个是在WIN2000下抓到的,如果在WINXP下,就看不到设置地址之前的数据。
写了注释下面的部分就是主机和设备之间的数据通信,而其它的则是主机跟根集线器之间的通信数据。

Device  Phase  Data                                                Description       Cmd.Phase.Ofs(rep)  Delta
------  -----  --------------------------------------------------  ----------------  ------------------  -----
  14.1  DI     02                                                  .                        1.1.0        3.4sc  
  14.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS               2.1.0(2)      17us  
  14.0  DI     01 01 01 00                                         ....                     2.2.0         27us  
  14.0  CTL    23 01 10 00  01 00 00 00                            CLEAR FEATURE            4.1.0        110us  
  14.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS               5.1.0(2)      56us  
  14.0  DI     01 01 00 00                                         ....                     5.2.0         14us  
  14.0  CTL    23 03 04 00  01 00 00 00                            SET FEATURE              7.1.0        109ms  
  14.1  DI     02                                                  .                        8.1.0         90ms  
  14.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS               9.1.0         23us  
  14.0  DI     03 01 10 00                                         ....                     9.2.0         22us  
  14.0  CTL    23 01 14 00  01 00 00 00                            CLEAR FEATURE           10.1.0          8us  
  14.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS              11.1.0         19ms  
  14.0  DI     03 01 00 00                                         ....                    11.2.0         34us
/////////////第一次获取设备描述符请求//////////////////////  
  14.0  CTL    80 06 00 01  00 00 40 00                            GET DESCRIPTOR          12.1.0        239us  
/////////////第一次返回设备描述符//////////////////////////
/////////////由于该端点缓冲只有16字节,因此只读到16字节///////////
  14.0  DI     12 01 10 01  00 00 00 10  65 10 36 21  01 00 00 00  ........e.6!....        12.2.0         67ms  
  14.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS              13.1.0         49us  
  14.0  DI     03 01 00 00                                         ....                    13.2.0         27us  
  14.0  CTL    23 03 04 00  01 00 00 00                            SET FEATURE             14.1.0         24us  
  14.1  DI     02                                                  .                       15.1.0        112ms  
  14.0  CTL    a3 00 00 00  01 00 04 00                            GET STATUS              16.1.0         21us  
  14.0  DI     03 01 10 00                                         ....                    16.2.0         25us  
  14.0  CTL    23 01 14 00  01 00 00 00                            CLEAR FEATURE           17.1.0          8us 
////////////////设置地址,地址为2///////////////////////////////// 
  14.0  CTL    00 05 02 00  00 00 00 00                            SET ADDRESS             18.1.0         19ms
///////////第二次获取设备描述符请求//////////////////////////////  
  14.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR          19.1.0         40ms 
////////////第二次返回了全部的18字节设备描述符////////////////// 
  14.0  DI     12 01 10 01  00 00 00 10  65 10 36 21  01 00 00 00  ........e.6!....        19.2.0         75ms  
               02 01                                               ..                      19.2.16 
////////////获取9字节的配置描述符/////////////////////////////             
  14.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR          20.1.0         44us  
////////////返回9字节的配置描述符/////////////////////////////
////////////可以看到配置描述符集合长度为0x20(即32)字节//////
  14.0  DI     09 02 20 00  01 01 00 80  dd                        .. ......               20.2.0         50ms  
  14.0  CTL    a3 00 00 00  02 00 04 00                            GET STATUS              21.1.0        214ms  
  14.0  DI     00 01 00 00                                         ....                    21.2.0         34us
//////////再一次获取设备描述符//////////////////////////////
  17.0  CTL    80 06 00 01  00 00 12 00                            GET DESCRIPTOR          22.1.0        3.8ms  
/////////返回设备描述符////////////////////////////////
  17.0  DI     12 01 10 01  00 00 00 10  65 10 36 21  01 00 00 00  ........e.6!....        22.2.0         67ms  
               02 01                                               ..                      22.2.16
//////////获取配置描述符///////////////////////              
  17.0  CTL    80 06 00 02  00 00 09 00                            GET DESCRIPTOR          23.1.0         28us  
///////////返回配置描述符///////////////////////
  17.0  DI     09 02 20 00  01 01 00 80  dd                        .. ......               23.2.0         50ms  
/////////获取0x20字节的配置描述符集合,包括配置描述符,接口描述符,端点描述符等/////////
  17.0  CTL    80 06 00 02  00 00 20 00                            GET DESCRIPTOR          24.1.0         30us
/////////返回了0x20字节的配置描述符集合/////////////  
  17.0  DI     09 02 20 00  01 01 00 80  dd 09 04 00  00 02 08 06  .. .............        24.2.0         83ms  
               50 00 07 05  82 02 40 00  00 07 05 02  02 40 00 00  P.....@......@..        24.2.16 
////////获取字符串描述符的语言ID///////////////            
  17.0  CTL    80 06 00 03  00 00 02 00                            GET DESCRIPTOR          25.1.0         29us 
///////设备返回语言ID,第一字节表示语言ID的长度/////////////// 
  17.0  DI     04 03                                               ..                      25.2.0         45ms  
////////根据长度获取4字节的字符串描述符的语言ID///////////////
  17.0  CTL    80 06 00 03  00 00 04 00                            GET DESCRIPTOR          26.1.0         17ms 
////////设备返回完整的语言ID//////////////// 
  17.0  DI     04 03 09 04                                         ....                    26.2.0         53ms  
/////////获取索引为2的字符串描述符///////////
  17.0  CTL    80 06 02 03  09 04 02 00                            GET DESCRIPTOR          27.1.0         27us  
//////////设备返回字符串描述符,第一字节为该字符串描述符的长度//////////
  17.0  DI     12 03                                               ..                      27.2.0         46ms  
/////////根据长度获取索引为2的字符串描述符///////////
  17.0  CTL    80 06 02 03  09 04 12 00                            GET DESCRIPTOR          28.1.0         23us  
/////////设备返回完整的0x12字节字符串描述符/////////
  17.0  DI     12 03 32 00  30 00 37 00  31 00 30 00  39 00 38 00  ..2.0.7.1.0.9.8.        28.2.0         70ms  
               32 00                                               2.                      28.2.16 
////////////////设置配置///////////////////////////////             
  17.0  CTL    00 09 01 00  00 00 00 00                            SET CONFIG              29.1.0         28us
////////////////设置接口////////////////////////////////  
  17.0  CTL    01 0b 00 00  00 00 00 00                            SET INTERFACE           30.1.0         22ms
//////////////获取最大逻辑单元/////////////////////////  
  17.0  CTL    a1 fe 00 00  00 00 01 00                            GET MAX LUN             31.1.0        158us  
  17.0  DI     00                                                  .                       31.2.0         53ms
///////////////USB大容量存储设备的命令块封包(CBW)////////  
  17.2  DO     55 53 42 43  c8 58 25 81  24 00 00 00  80 00 06 12  USBC.X%.$.......        32.1.0        3.0ms  
               00 00 00 24  00 00 00 00  00 00 00 00  00 00 00     ...$...........         32.1.16              


以下是我在做USB键盘时,通过串口发回的调试信息,从这也可以看到枚举的过程。

系统启动................................
断开USB连接........................
USBD12芯片初始化
   设置地址.....................
       地址为:  0
连接USB...............
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB总线挂起................................
USB总线复位................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB总线复位................................
USB标准请求................................
   设置地址.....................
       地址为:  2
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取设备序列号................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取语言ID................................
USB标准请求................................
    获取描述符................................
        获取字符串描述符................................
            获取产品字符串................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取设备描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
        获取配置描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    获取描述符................................
USB标准请求................................
    设置配置................................
USB类请求................................
    设置空闲................................
USB标准请求................................
    获取描述符(从接口)..............................
        获取报告描述符................................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................
USB标准请求................................
    获取描述符(从接口)..............................

使用特权

评论回复
12
lovec51|  楼主 | 2007-9-27 14:56 | 只看该作者

用bushound抓D12确实只有很少数据:

Bus Hound 5.00 capture. Complements of www.perisoft.net

只有D12

  Device - Device ID (followed by the endpoint for USB devices)
            (22) yy's D12-JB Board
  Data   - Hex dump of the data transferred
  Cmd... - Position in the captured data
  Delta  - Elapsed time from the previous phase to the current phase
  Date   - Date the phase occurred in year/month/day form
  Descr  - Description of the phase


Device  Data         Cmd.Phase.Ofs(rep)  Delta  Date        Description     
------  -----------  ------------------  -----  ----------  ----------------
  22.0  80 06 00 01         1.1.0        3.3sc  2007-09-27  GET DESCRIPTOR    
        00 00 12 00         1.1.4                                             
  22.0  12 01 00 01         1.2.0        4.6ms  2007-09-27  ....              
        dc 00 00 10         1.2.4                           ....              
        71 04 66 06         1.2.8                           q.f.              
        00 01 00 00         1.2.12                          ....              
        00 19               1.2.16                          ..                
  22.0  80 06 00 02         2.1.0         29us  2007-09-27  GET DESCRIPTOR    
        00 00 09 00         2.1.4                                             
  22.0  09 02 2e 00         2.2.0        3.9ms  2007-09-27  ....              
        01 01 00 60         2.2.4                           ...`              
        01                  2.2.8                           .                 
  22.0  80 06 00 02         3.1.0         26us  2007-09-27  GET DESCRIPTOR    
        00 00 2e 00         3.1.4                                             
  22.0  09 02 2e 00         3.2.0        5.9ms  2007-09-27  ....              
        01 01 00 60         3.2.4                           ...`              
        01 09 04 00         3.2.8                           ....              
        00 04 dc a0         3.2.12                          ....              
        b0 00 07 05         3.2.16                          ....              
        81 03 04 00         3.2.20                          ....              
        0a 07 05 01         3.2.24                          ....              
        03 04 00 0a         3.2.28                          ....              
        07 05 82 02         3.2.32                          ....              
        40 00 0a 07         3.2.36                          @...              
        05 02 02 40         3.2.40                          ...@              
        00 0a               3.2.44                          ..                
  22.0  00 09 01 00         4.1.0         28us  2007-09-27  SET CONFIG        
        00 00 00 00         4.1.4                                             

使用特权

评论回复
13
lovec51|  楼主 | 2007-9-27 14:57 | 只看该作者

而那个不能枚举的板子什么都抓不到!

使用特权

评论回复
14
computer00| | 2007-9-27 15:15 | 只看该作者

是啊,所以你的返回有问题。

并且是在设置地址之前。bus hound在xp环境下,设置地址之前的数据看不到.

设置地址之前要返回一个设备描述符.

使用特权

评论回复
15
lovec51|  楼主 | 2007-9-27 20:34 | 只看该作者

成功枚举出海量存储器

周的代码太繁杂,我看你的那个用52模拟海量存储器的代码稍微简洁一些,所以想在你的基础上调,在以前的好板子(能枚举的板子)上成功了,我想用他枚举成常见的D12设备(跟周的开发板那样),我修改了你的"设备描述符""配置描述符""接口描述符""端点描述",修改成跟周的定义一样,结果还是不能枚举成功,
请问还要修改那些地方??????

使用特权

评论回复
16
lovec51|  楼主 | 2007-9-27 20:50 | 只看该作者

我在两个板子上跑圈圈的海量存储器那个程序都成功了!

贴图庆祝一下先!

使用特权

评论回复
17
computer00| | 2007-9-27 21:44 | 只看该作者

也许你修改的时候哪儿搞错了。

使用特权

评论回复
18
lovec51|  楼主 | 2007-9-27 21:51 | 只看该作者

你指那里错了?我修改你的程序错了还是我修改自己的程序错

你的那个程序要枚举成D12开发板要改那些地方?

使用特权

评论回复
19
computer00| | 2007-9-28 09:59 | 只看该作者

这个可难说了,可能是描述符不对吧。其它地方都一样的了

使用特权

评论回复
20
lovec51|  楼主 | 2007-9-28 16:24 | 只看该作者

描述符该成跟周立功的一样,可是枚举第一步就过不去

也就是DEVICE_DESCRIPTOR就有问题,始终到不了CONFIGURATION_DESCRIPTOR这一步!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

21

主题

112

帖子

1

粉丝