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 |