[USB-URB]请教原子用bus hound监控到的URB包到底是什么格式(内附部分log)?有参考文档吗?

2019-07-21 08:02发布

现象:
我现在做usb转串口,目前枚举成功识别为cdc-acm串口设备。但是在串口数据收发通讯过程中,发现发送数据有时会失败(PC工具读取超时)。PC工具没有问题。
用BUS hound进行监控,发现一个规律:就是会出错的通讯之前,会多了一个URB块(LOG中红 {MOD}部分),该URB块一出现之后,后续的串口通讯肯定就失败异常了。。。

问题:
上网搜索过。就是没找到这个URB的结构介绍,看usb协议文档也没有, 这部分URB的内容有没有可以参考的文档?还请给点建议。

PS:我现在做的这个不是STM32芯片的USB,是别的us芯片。。。

LOG
以下为BUS HOUND监控到的log:pc通过usb串口发送一条指令,设备应答相应数据。第一条命令收发正常,第二条命令就失败了。

 Bus Hound 5.00 capture. Complements of www.perisoft.net
Device  hase  Data                                                Description       Cmd.Phase.Ofs(rep)  Delta ------  -----  --------------------------------------------------  ----------------  ------------------  -----
 Device  hase  Data                                                Description       Cmd.Phase.Ofs(rep)  Delta ------  -----  --------------------------------------------------  ----------------  ------------------  -----   20.2  DO     02 00 02 e0  00                                     .....                    1.1.0        2.3sc              //命令1发送正常:PC发命令   20.2  URB    48 00 09 00  00 00 00 00  80 aa 4f 89  22 00 00 00  BULK/INT XFER            1.2.0          3us                  9c 61 0a 89  02 00 00 00  05 00 00 00  b8 74 d9 88                           1.2.16   20.1  DI     02 06 37 80  1f 63 63 63  2d 32 30 31  30 31 31 31  ..7..ccc-2010111         2.1.0         90ms               //命令1接收正常:设备应答数据                35 2d 75 75  75 2d 69 69  69 2d 75 73  62 3a 73 6c  5-uuu-iii-usb:sl         2.1.16                 20.1  URB    48 00 09 00  00 00 00 00  80 aa 4f 89  22 00 00 00  BULK/INT XFER            2.2.0          3us                  7c 61 0a 89  03 00 00 00  80 02 00 00  04 a0 e4 88                           2.2.16                 20.0  CTL    21 22 00 00  00 00 00 00                            SET CTRL LINE ST         3.1.0         33ms     20.0  URB    50 00 08 00  00 00 00 00  80 aa 4f 89  20 00 00 00  CONTROL TRANSFER         3.2.0         10ms                  98 aa 4f 89  0a 00 00 00  00 00 00 00  00 00 00 00                           3.2.16                 20.1  URB    48 00 09 00  05 00 00 c0  80 aa 4f 89  22 00 00 00  BULK/INT XFER            4.1.0        1.6sc  //该信息出现后,下一个数据包通讯就出错了。                7c 61 0a 89  03 00 00 00  00 00 00 00  04 a0 e4 88                           4.1.16                 20.2  DO     02 00 02 e0  00                                     .....                 5.1.0        3.5sc         //命令2发送成功,设备能收到该命令,并且有写数据到发送端点。但是PC端读数据超时失败。   20.2  URB    48 00 09 00  00 00 00 00  80 aa 4f 89  22 00 00 00  BULK/INT XFER            5.2.0          2us                  9c 61 0a 89  02 00 00 00  05 00 00 00  a8 c7 73 89                           5.2.16              

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。