USB网络控制通讯NCM
+ -

NCM 类特定代码(Class-Specific Codes)

2025-07-07 0 0

以下是关于 NCM(Network Control Model)在 USB 设备描述符中使用的类特定代码的完整解析,涵盖通信接口和数据接口的关键定义:

0. NCM 通信接口Class代码(Communications Interface Subclass Code)

1. NCM 通信接口SubClass代码(Communications Interface Subclass Code)

  • 代码值:0Dh
  • 含义:标识接口为 网络控制模型(Network Control Model, NCM)
  • 应用位置
  • 规范依据
    • 主规范:[USB 3.0](第9章设备描述符)。
    • 子类定义:[USBCDC12](通信设备类规范)。

2. NCM 通信接口Protocol代码(Communications Interface Protocol Code)

Protocol代码值 协议类型 规范依据 说明
00h None [USBCDC12] 无封装命令:不支持 SendEncapsulatedCommand/GetEncapsulatedResponse
01h-06h N/A [USBCDC12] 禁用值:保留给CDC通用规范,NCM设备不得使用。
06h-FDh Reserved - 未来扩展:保留给NCM规范后续版本。
FEh OEM defined [USBWMC11] 厂商自定义协议:需配合命令集功能描述符实现私有控制命令。
FFh N/A [USBCDC12] 禁用值:禁止使用。

关键规则

  • 若设备的 NCM功能描述符bmNetworkCapabilitiesD2 位为 0(表示不支持封装命令),则 bInterfaceProtocol 必须设为 00h
  • 无论协议代码如何,所有NCM设备必须实现 默认管道请求和通知(表6-1和表6-4)。

3. NCM 数据接口协议代码(Data Class Protocol Code)

  • 代码值01h
  • 含义:标识数据接口使用 网络传输块(Network Transfer Block, NTB) 格式(见规范第3.3.3节)。
  • 应用位置
    • 数据接口描述符bInterfaceProtocol 字段(Alternate Setting 0 和 1)。
  • 规范依据
    • [USBCDC12] 数据类协议定义。

4. NCM 功能描述符代码(Functional Descriptor Code)

  • 代码值1Ah
  • 名称NCM_FUNC_DESC_CODE
  • 作用:标识后续描述符为 NCM功能描述符(详见表5-2)。
  • 描述符内容
    • 包含设备支持的NTB大小、对齐要求、能力标志(如是否支持封装命令)等关键参数。

5. 开发者注意事项

  1. 描述符配置

    • 通信接口
      • bInterfaceClass = 0x02(Communication Device Class)。
      • bInterfaceSubClass = 0x0D(NCM)。
      • bInterfaceProtocol 根据功能选择 00hFEh
    • 数据接口
      • bInterfaceClass = 0x0A(Data Interface Class)。
      • bInterfaceProtocol = 0x01(NTB)。
  2. 兼容性检查

    • 主机驱动应验证 bInterfaceProtocol 的合法性,拒绝使用禁用值(如 01h-06h)。
  3. 功能描述符依赖

    • 若使用 FEh(OEM协议),必须提供 命令集功能描述符(遵循[USBWMC11])。

总结

NCM通过以下代码实现标准化与扩展性的平衡:

  • 通信接口
    • 子类 0Dh 明确标识NCM。
    • 协议代码 00h(无命令)或 FEh(厂商扩展)控制封装命令支持。
  • 数据接口
    • 协议 01h 强制使用NTB格式,确保数据传输兼容性。
  • 功能描述符
    • 代码 1Ah 提供设备能力详情,是NCM功能配置的核心。

开发者需严格遵循代码分配规则,避免使用保留或禁用值,以确保设备兼容性和未来可扩展性。

0 篇笔记 写笔记

关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB网络控制通讯NCM
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

    打开支付宝扫一扫,即可进行扫码打赏哦

    您的支持,是我们前进的动力!