USB CDC
+ -

CDC ATM网络功能描述符

2025-07-10 0 0

ATM Networking Functional Descriptor(ATM网络功能描述符)ATM网络功能描述符用于描述USB ATM设备的终端标识、数据格式能力、统计能力、最大段大小和最大虚电路数等关键信息,是USB ATM设备描述符链中的核心部分。

该描述符用于描述通信类接口(SubClass为ATM网络控制,ATM Networking Control)所支持的ATM操作模式。它只能出现在接口描述符的类特定部分。


描述符结构

偏移 字段名 大小 值/类型 描述
0 bFunctionLength 1 数值 此功能描述符的字节数
1 bDescriptorType 1 常量 CS_INTERFACE 描述符类型
2 bDescriptorSubtype 1 常量 ATM网络功能描述符子类型
3 iEndSystemIdentifier 1 索引 字符串描述符索引,包含终端系统标识符(End System Identifier)。前6字节为唯一硬件ID(如MAC),第7字节为终端系统选择字节。Unicode字符串表示,14个字符(0-9, A-F),不能为0。例如:0123456789ABCDh 表示为 “0123456789ABCD”。
4 bmDataCapabilities 1 位图 设备支持的ATM数据类型:
D7..D4: 保留,置零
D3: Type 3 - AAL5 SDU
D2: Type 2 - ATM头模板+拼接ATM单元负载
D1: Type 1 - 拼接ATM单元(必须支持
D0: 保留,置零
5 bmATMDeviceStatistics 1 位图 设备收集的可选统计信息:
D7..D5: 保留,置零
D4: 统计每VC上行单元数(VC_US_CELLS_SENT)
D3: 统计每VC下行单元数(VC_DS_CELLS_RECEIVED)
D2: 统计检测并纠正HEC错误的单元数(DS_CELLS_HEC_ERROR_CORRECTED)
D1: 统计上行单元数(US_CELLS_SENT)
D0: 统计下行单元数(DS_CELLS_RECEIVED)
D3/D4仅适用于Type 3设备。
6 wType2MaxSegmentSize 2 数值 Type 2设备支持的最大段大小(字节)
8 wType3MaxSegmentSize 2 数值 Type 3设备支持的最大段大小(字节)
10 wMaxVC 2 数值 设备支持的最大并发虚电路数(仅Type 3)

说明

  • wType2MaxSegmentSize/wType3MaxSegmentSize:分别指Type 2和Type 3设备通过USB发送给主机的最大网络段字节数。主机应据此分配足够大的缓冲区。
  • Type 1设备:始终以单元流方式转发,无网络段大小概念,主机应分配53字节整数倍的缓冲区。
  • bmDataCapabilities:Type 1为必选,Type 2/3为可选,支持多种ATM数据格式。
  • bmATMDeviceStatistics:指示设备支持的统计项,主机可据此决定是否自行统计。

示例(C结构体及二进制示例)

C结构体定义

typedef struct _USB_CDC_ATM_NETWORKING_DESCRIPTOR {
    uint8_t  bFunctionLength;         // 描述符长度
    uint8_t  bDescriptorType;         // CS_INTERFACE (0x24)
    uint8_t  bDescriptorSubtype;      // ATM Networking subtype (0x10)
    uint8_t  iEndSystemIdentifier;    // 终端系统标识符字符串描述符索引
    uint8_t  bmDataCapabilities;      // ATM数据类型能力位图
    uint8_t  bmATMDeviceStatistics;   // ATM统计能力位图
    uint16_t wType2MaxSegmentSize;    // Type 2最大段大小
    uint16_t wType3MaxSegmentSize;    // Type 3最大段大小
    uint16_t wMaxVC;                  // 最大虚电路数
} USB_CDC_ATM_NETWORKING_DESCRIPTOR;

示例数据(假设终端标识符字符串索引为2,支持Type 1/2/3,统计能力全支持,Type2最大段1024,Type3最大段2048,最大VC为8)

字节序号 值(十六进制) 含义
0 0x0D bFunctionLength = 13
1 0x24 bDescriptorType = CS_INTERFACE
2 0x10 bDescriptorSubtype = ATM Networking
3 0x02 iEndSystemIdentifier = 2
4 0x0E bmDataCapabilities = 0000 1110B (Type1/2/3)
5 0x1F bmATMDeviceStatistics = 0001 1111B (全支持)
6-7 0x00 0x04 wType2MaxSegmentSize = 1024
8-9 0x00 0x08 wType3MaxSegmentSize = 2048
10-11 0x08 0x00 wMaxVC = 8

二进制示例:

0D 24 10 02 0E 1F 00 04 00 08 08 00

说明

  • bFunctionLength:描述符总长度,通常为13字节
  • bDescriptorType:固定为0x24(CS_INTERFACE)
  • bDescriptorSubtype:ATM网络功能描述符为0x10
  • iEndSystemIdentifier:终端系统标识符字符串描述符索引
  • bmDataCapabilities:ATM数据类型能力位图
  • bmATMDeviceStatistics:ATM统计能力位图
  • wType2MaxSegmentSize/wType3MaxSegmentSize:最大段大小
  • wMaxVC:最大虚电路数

0 篇笔记 写笔记

CDC ATM网络功能描述符
ATM Networking Functional Descriptor(ATM网络功能描述符ATM网络功能描述符用于描述USB ATM设备的终端标识、数据格式能力、统计能力、最大段大小和最大虚电路数等关键信息,是USB ATM设备描述符链中的核心部分。该描述符用于描述通信类接口(SubCla......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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