USB CDC
+ -

CDC GetATMDeviceStatistics

2025-07-11 0 0

1. GetATMDeviceStatistics 请求用途

GetATMDeviceStatistics 用于根据特性选择器检索设备统计信息。
主机通过此请求获取ATM设备的统计信息,返回的值表示自设备上电、复位或收到SET_INTERFACE请求以来发生的匹配指定统计信息的信元数量。这是一个32位无符号整数,每次发生时递增,如果达到最大值则回绕到0。


2. USB 控制传输格式

字段 值/说明
bmRequestType 0xA1 (10100001B) 方向:设备到主机,类型:类,接收者:接口
bRequest 0x51 (GET_ATM_DEVICE_STATISTICS)
wValue 特性选择器(Feature Selector,见下表)
wIndex 接口号
wLength 4
Data 32位无符号整数(设备返回的统计值)

3. ATM Device Statistics Feature Selector Codes(Table 65)

特性选择器 代码 目标 数据长度 描述
RESERVED 0x00 None None 保留供将来使用
US_CELLS_SENT 0x01 Interface 4 ATM层向上游WAN链路发送的信元数量(可选支持)
DS_CELLS_RECEIVED 0x02 Interface 4 ATM层从下游WAN链路接收的信元数量(可选支持)
DS_CELLS_USB_CONGESTION 0x03 Interface 4 ATM层从下游WAN链路接收但因USB链路拥塞而丢弃的信元数量(必需支持)
DS_CELLS_AAL5_CRC_ERROR 0x04 Interface 4 ATM层从下游WAN链路接收但因AAL5 CRC错误而丢弃的信元数量(Type 3设备必需支持)
DS_CELLS_HEC_ERROR 0x05 Interface 4 从下游WAN链路接收但因信元头部HEC错误而丢弃的信元数量(必需支持)
DS_CELLS_HEC_ERROR_CORRECTED 0x06 Interface 4 从下游WAN链路接收并检测到信元头部HEC错误但成功纠正的信元数量(可选支持)

4. 典型主机端请求示例

C 结构体示例:

uint32_t statistic_value;

USB_SETUP_PACKET setup = {
    .bmRequestType = 0xA1,           // 设备到主机,类,接口
    .bRequest = 0x51,                // GET_ATM_DEVICE_STATISTICS
    .wValue = 0x0001,                // US_CELLS_SENT
    .wIndex = interface_number,      // 通信接口号
    .wLength = 4                     // 4字节统计值
};
// 发送setup包,读取statistic_value数据

5. 设备端处理要点

  • 解析wValue中的特性选择器。
  • 根据选择器返回相应的32位统计值。
  • 确保统计值准确反映设备的实际状态。
  • 某些统计是必需的,某些是可选的。
  • 完成后通过状态阶段(Status Stage)ACK主机。

6. 常见应用场景

场景 特性选择器 代码 说明
发送统计 US_CELLS_SENT 0x01 获取发送的信元数
接收统计 DS_CELLS_RECEIVED 0x02 获取接收的信元数
拥塞统计 DS_CELLS_USB_CONGESTION 0x03 获取因拥塞丢弃的信元数
错误统计 DS_CELLS_HEC_ERROR 0x05 获取HEC错误的信元数

7. 参考

0 篇笔记 写笔记

CDC GetATMDeviceStatistics
1. GetATMDeviceStatistics 请求用途GetATMDeviceStatistics 用于根据特性选择器检索设备统计信息。主机通过此请求获取ATM设备的统计信息,返回的值表示自设备上电、复位或收到SET_INTERFACE请求以来发生的匹配指定统计信息的信元数量。这是一个32位无......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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