USB CDC
+ -

CDC ConnectionSpeedChange通知

2025-07-11 0 0

ConnectionSpeedChange 通知用途

ConnectionSpeedChange 通知允许设备通知主机网络驱动程序连接的上游或下游比特率发生了变化。
此通知用于报告连接速度的变化,确保主机网络驱动程序能够始终报告正确的链路速度。


通知格式

字段 值/说明
bmRequestType 0xA1 (10100001B) 方向:设备到主机,类型:类,接收者:接口
bNotification 0x2A (CONNECTION_SPEED_CHANGE)
wValue 0x0000
wIndex 接口号
wLength 8
Data 连接速度变化数据结构体(8字节)

ConnectionSpeedChange Data Structure(Table 72)

偏移量 字段名 大小 值/说明
0 USBitRate 4 包含上游比特率(位/秒)
4 DSBitRate 4 包含下游比特率(位/秒)

典型设备端通知示例

C 结构体示例:

// 连接速度变化通知
uint8_t connection_speed_notification[] = {
    0xA1,           // bmRequestType (设备到主机,类,接口)
    0x2A,           // bNotification (CONNECTION_SPEED_CHANGE)
    0x00, 0x00,     // wValue (Zero)
    0x01, 0x00,     // wIndex (Interface 1)
    0x08, 0x00,     // wLength (8 bytes)
    0x00, 0x00, 0x00, 0x00, // USBitRate (0 bps)
    0x00, 0x00, 0x00, 0x00  // DSBitRate (0 bps)
};

主机端处理要点

  • 通过中断端点接收通知。
  • 解析8字节的连接速度变化数据结构体。
  • 提取上游和下游比特率。
  • 更新主机网络驱动程序的速度信息。
  • 此通知必须在每个NETWORK_CONNECTION通知后立即发送。

常见应用场景

场景 上游比特率 下游比特率 说明
连接建立 64000 64000 64kbps对称连接
高速连接 128000 1024000 128kbps上行,1Mbps下行
连接断开 0 0 连接断开,速度为0

参考

0 篇笔记 写笔记

CDC ConnectionSpeedChange通知
ConnectionSpeedChange 通知用途ConnectionSpeedChange 通知允许设备通知主机网络驱动程序连接的上游或下游比特率发生了变化。此通知用于报告连接速度的变化,确保主机网络驱动程序能够始终报告正确的链路速度。通知格式字段值/说明bmRequest......
关注公众号
  • HID人机交互
  • Linux&USB
  • UAC音频
  • CDC
  • TYPE-C
  • USB规范
  • USB大容量存储
  • USB百科
  • USB周边
  • UVC摄像头
  • Windows系统USB
  • 音视频博客
  • 取消
    感谢您的支持,我会继续努力的!
    扫码支持
    扫码打赏,你说多少就多少

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

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