USB Setup Capture 意义

USB Setup Capture Significance

我有一个 USB 协议分析器,正在检查主机和 HID 设备之间传输的一些数据。在下面的例子中,一个“获取设备描述符”请求。我了解 USB 标准规定的设置数据包配置。但是,我无法理解“扩展”设置数据包时看到的数据与标准设置数据包的关系。任何人都可以澄清这个“附加”安装包的含义吗?分析仪的手册没有提到它,也没有提到 DATA0 数据包的重要性(因为来自设备的实际数据是 IN txn 数据包)。谷歌搜索一直向我展示标准设置数据包配置,如此处所示,据我所知:

获取设备描述符这样的控制传输由三个阶段(或事务)组成。

第一阶段是设置阶段设置事务,由三个数据包组成:

  • 安装包
  • 数据包
  • 确认数据包

每个数据包都包含一个 header 和带有 PID、CRC 等的尾部。相关交易有效负载包含在数据包中。

您的协议分析器软件(TotalPhase 的数据中心)使用分层显示。如果展开所有节点,有些数据会显示多次

特别是,交易的有效载荷显示了两次,一次在parent节点SETUP txn,一次嵌入数据包 DATA0数据包.

Data packet: C3 80 06 00 01 00 00 12 00 E0 F4
Payload:        80 06 00 01 00 00 12 00

所以实际上没有任何额外的数据。

除非你想调试一些low-level数据包解码,否则深入txn节点以下的节点可能没有意义。它只会重复一些数据并另外显示 header 和尾部字节。