CDC 标准USB描述符
2025-07-10
本文链接为:http://www.usbzh.com/article/detail-1482.html ,欢迎转载,转载请附上本文链接。
5.1 标准USB描述符定义
本节规定了通信设备类(CDC)、通信接口类和数据接口类的标准USB描述符要求。
5.1.1 设备描述符(Device Descriptor)
- 通信设备功能主要体现在接口级别,但设备描述符中的bDeviceClass字段用于标识该设备为通信设备。
- 设备级别的类代码(bDeviceClass)仅用于主机识别设备类型,实际功能由多个接口共同实现。
- 所有通信设备至少有一个通信类接口,作为主接口。
- 设备描述符相关字段如下:
偏移 | 字段 | 大小 | 值 | 说明 |
---|---|---|---|---|
4 | bDeviceClass | 1 | 02h | 通信设备类代码 |
5 | bDeviceSubClass | 1 | 00h | 通信设备子类代码,当前未用 |
6 | bDeviceProtocol | 1 | 00h | 通信设备协议代码,当前未用 |
5.1.2 配置描述符(Configuration Descriptor)
- 通信设备类使用USB规范第9章定义的标准配置描述符。
5.1.3 接口描述符(Interface Descriptor)
通信接口类(Communication Interface Class)
- 使用标准接口描述符,关键字段如下:
偏移 | 字段 | 大小 | 值/说明 | 说明 |
---|---|---|---|---|
5 | bInterfaceClass | 1 | 02h | 通信接口类代码 |
6 | bInterfaceSubClass | 1 | 见子类代码表 | 通信接口类子类代码 |
7 | bInterfaceProtocol | 1 | 见协议代码表 | 通信接口类协议代码 |
数据接口类(Data Interface Class)
- 也使用标准接口描述符,关键字段如下:
偏移 | 字段 | 大小 | 值/说明 | 说明 |
---|---|---|---|---|
5 | bInterfaceClass | 1 | 0Ah | 数据接口类代码 |
6 | bInterfaceSubClass | 1 | 00h | 数据接口类子类代码 |
7 | bInterfaceProtocol | 1 | 见协议代码表 | 数据接口类协议代码 |
5.1.4 端点描述符(Endpoint Descriptor)
- 通信接口类和数据接口类均使用USB规范第9章定义的标准端点描述符。
总结
- 通信设备类及其接口、数据接口类均需严格按照USB标准描述符格式填写相关字段。
- 设备描述符用于整体标识,接口描述符用于具体功能区分,端点描述符用于数据传输。
- 关键字段(如bDeviceClass、bInterfaceClass、bInterfaceSubClass、bInterfaceProtocol)需按规范填写,确保主机正确识别和驱动设备。