USB --- 同一个接口多个bAlternateSetting(备用设置)
在 USB 协议中,需要为同一接口设置多个 bAlternateSetting 的场景是:当设备需要支持同一功能的多种操作模式,且这些模式共享相同物理接口但参数不同时。以下是具体场景和设计原则:
典型使用场景
1.1 动态模式切换
- 示例:USB 摄像头支持多种分辨率(如 640x480、1280x720)。
- Alt 0:低分辨率模式(
bNumEndpoints=1,仅中断端点用于状态报告)。 - Alt 1:高分辨率模式(
bNumEndpoints=2,增加批量端点传输视频流)。
- Alt 0:低分辨率模式(
- 优势:主机可无缝切换分辨率,无需重新配置设备。
1.2 功耗优化
- 示例:无线适配器支持低功耗模式(零带宽)和全功能模式。
- Alt 0:零带宽模式(
bNumEndpoints=0,关闭射频模块)。 - Alt 1:全功能模式(
bNumEndpoints=2,启用数据传输)。
- Alt 0:零带宽模式(
- 优势:延长电池寿命,符合 USB 规范对低功耗设备的要求。
1.3 协议协商
- 示例:自定义协议设备(如 MFi 认证的 iAP2 配件)。
- Alt 0:零带宽模式(
bInterfaceProtocol=0,仅用于枚举)。 - Alt 1:全功能模式(
bInterfaceProtocol=IAP2_PROTOCOL_VERSION,启用数据传输)。
- Alt 0:零带宽模式(
- 优势:确保主机在激活功能前完成协议握手。

浙公网安备 33010602011771号