解码 USB 描述符

问题描述 投票:0回答:1

我正在尝试理解 USB 描述符。为了进行探索,我使用 usbtreeview 软件获取了我的 USB 耳机描述符。我对描述符层次结构的理解是:

  1. 设备只有一个描述符
  2. 在设备描述符下,我们可能有一个或多个配置描述符。
  3. 每个配置可能有一个或多个接口描述符
  4. 最后,每个接口描述符可能有一个或多个端点描述符。

我的问题来自附件(这里)描述符日志:

  1. 我只看到一个设备描述符——一切都好

  2. 我只看到一个配置与设备描述符中的条目匹配。

    bNumConfigurations       : 0x01 (1 Configuration)
    - 一切都好

  3. 在配置描述符中,我看到接口数等于 4。

    bNumInterfaces           : 0x04 (4 Interfaces)
    - 这就是问题开始的地方。在此之后我看到超过 4 个接口描述符,例如

    ---------------- 接口描述符----------------

    ------ 音频控制接口标头描述符 ------

    -------- 音频控制输入端子描述符 --------

    -------- 音频控制选择器单元描述符 --------

. . . .

等等

(this)中接口描述符的个数怎么可以大于4???

usb
1个回答
0
投票

接口描述符是一个技术术语,指的是一段非常具体的数据。此数据以字节 0x09(长度)和 0x04(“接口描述符”的代码)开始。

注意像“Audio Control Interface Header Descriptor”这样的东西不是接口描述符,因为它们不是以0x09 0x04开头的。它们只是描述接口的数据片段,并且靠近接口描述符。

您的转储显示您有六个接口描述符:

  • 接口号 0 的接口描述符,替代设置 0.
  • 接口号 1 的接口描述符,替代设置 0.
  • 接口号 1 的接口描述符,备用设置 1.
  • 接口号 2 的接口描述符,替代设置 0.
  • 接口号 2 的接口描述符,备用设置 1.
  • 接口号 3 的接口描述符,替代设置 0.

因为他们各自描述了不同的界面或不同的界面替代设置,我认为这很好。

请参阅:USB 接口中的备用设置是什么?

© www.soinside.com 2019 - 2024. All rights reserved.