USB网络控制通讯NCM
+ -

NCM 使用接口关联描述符

2025-07-08 0 0

NCM功能的USB设备可能包括接口关联描述符(IAD),以指示通信类接口和数据类接口应被视为单个功能。(这是使用WMC WHCM联合描述符的替代方案。)

IAD配置要求

基本设置

  • bFunctionClass: 02h (通信类) - 与通信类接口的bInterfaceClass相同
  • bFunctionSubClass: 0Dh (网络控制模型) - 与通信类接口的bInterfaceSubClass相同
  • bFunctionProtocol: 与功能通信类接口的bInterfaceProtocol相同
  • bInterfaceCount: 2 - 根据IAD ECN设置
  • bFirstInterface: 通信类接口的接口号

位置要求

  • IAD应出现在通信类接口之前

NCM功能的描述符顺序

当使用IAD时,NCM功能的描述符一般顺序应为:

1. 接口关联描述符

  • Interface Association Descriptor (IAD)

2. 通信类接口描述符

  • Communications Class Interface Descriptor (interface n)

3. 通信类接口功能描述符

  • Functional descriptors for the Communication Class Interface

4. 通信类接口端点描述符

  • Endpoint descriptors for the Communication Class Interface

5. 数据类接口(备用设置0)

  • Data Class Interface (interface n+1, alternate setting 0)

6. 数据类接口功能描述符(备用设置0)

  • Functional descriptors for Data Class Interface (interface n+1, alternate setting 0)

7. 数据类接口(备用设置1)

  • Data Class Interface (interface n+1, alternate setting 1)

8. 数据类接口功能描述符(备用设置1)

  • Functional descriptors for Data Class Interface (interface n+1, alternate setting 1)

9. 数据类接口端点描述符(备用设置1)

  • Endpoint descriptors for Data Class Interface (interface n+1, alternate setting 1)

重要说明

接口编号

  • 通信类接口: interface n
  • 数据类接口: interface n+1

备用设置

  • 数据类接口有两个备用设置
    • 备用设置0:无端点
    • 备用设置1:有批量INOUT端点

替代方案

  • IAD是WMC WHCM联合描述符的替代方案
  • 提供更标准化的接口关联机制

使用场景

IAD的使用场景:

  1. 标准化接口关联
  2. 简化主机驱动程序
  3. 提供清晰的接口关系
  4. 符合USB规范标准

总结

  • IAD提供标准化的接口关联机制
  • 确保正确的描述符顺序
  • 简化主机对NCM功能的理解
  • 提供WMC WHCM联合描述符的替代方案

0 篇笔记 写笔记

UVC 接口关联描述符IAD
设备必须使用接口关联描述符来描述需要视频控制接口和一个或多个视频流接口的每个设备功能的视频接口集合。标准的VIC接口关联描述符接口关联描述符ECN中定义的标准接口关联描述符相同,只是有些字段现在具有专用值。说明:如果视频控制接口是视频接口集合的一部分,则接口关联描述符IAD中的iFuncti......
UVC UVC驱动接口关联描述符IAD失踪之迷
先说一下,本人所使用的操作系统是WIN10 x64操作系统Microsoft Windows [版本 10.0.14393](c) 2016 Microsoft Corporation。保留所有权利。这是win10一个相对比较老的版本。新旧的混淆在微软件主的官方文档 USB Interfac......
UAC 接口关联描述符
和UVC设备的接口关联描述符的功能一样,UAC的接口关联描述也用于组织UAC的音频控制接接口和UAC的音频流接口描述符及其子描述符。接口关联描述符的结构定义typedef struct _USB_INTERFACE_ASSOCIATION_DESCRIPTOR { UCHAR bLengt......
USB 接口关联描述符
对于复合USB设备的接口描述符,可以在每个类(Class)要合并的接口描述符之前加一个接口关联描述符(Interface Association Descriptor,IAD),其作用就是把多个接口定义成一个类设备,即多个接口作用于一个设备。接口关联描述符的定义如下:typedef struct......
从UVC摄像头配置描述符的长度区别来理解USB接口关联描述符IAD
对于如下的UVC摄像头,其在设备管理器中如下图所示:其硬件ID分别为:USBVID_33F1&PID_1035&REV_0409USBVID_33F1&PID_1035&REV_0409&MI_00可以看到,其根设备是使用的USBCCGP.sy......
NCM 使用接口关联描述符
NCM功能的USB设备可能包括接口关联描述符(IAD),以指示通信类接口和数据类接口应被视为单个功能。(这是使用WMC WHCM联合描述符的替代方案。)IAD配置要求基本设置bFunctionClass: 02h (通信类) - 与通信类接口的bInterfaceClass相同bFunction......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB网络控制通讯NCM
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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