文章目录
- 描述符(Descriptors)
- 设备描述符(Device Descriptors)
- 配置描述符(Configuration Descriptors)
- 接口描述符(Interface Descriptors)
- 端点描述符(Endpoint Descriptors)
- 字符串描述符(String Descriptors)
- 参考资料
描述符(Descriptors)
描述符是设备本身各项信息的集合,主机通过获取描述符的内容得知设备的情况,从而知道如何与设备通信(加载对应的驱动程序)。描述符包括设备描述符(Device Descriptors)、配置描述符(Configuration Descriptors)、接口描述符(Interface Descriptors)、端点描述符(Endpoint Descriptors),字符串描述符(String Descriptors),其中的层级(包含)关系如下图所示。
反过来看,若干端点构成一个接口,若干接口构成一个配置,若干配置构成设备。
设备描述符(Device Descriptors)
一个USB设备只有一个设备描述符。主要记录的信息有:所使用的USB协议版本号、设备类型、端点0的最大包大小、厂商ID(VID)、产品ID(PID)、设备版本号、厂商字符串索引、产品字符串索引、设备序列号索引、可能的配置数等等。
配置描述符(Configuration Descriptors)
一个设备可以有多个配置。一个配置对应一个配置描述符,配置描述符的内容有:该配置包含的接口数、该配置的编号、供电方式、是否支持远程唤醒、电流需求量等。
接口描述符(Interface Descriptors)
接口描述符主要记录的信息有:该接口的编号、该接口的端点数、接口所使用的类、子类、协议等
端点描述符(Endpoint Descriptors)
端点描述符主要记录的信息有:该端点的端点号及方向、端点的传输类型、最大包长度、查询时间间隔等。
字符串描述符(String Descriptors)
字符串描述符主要记录一些语言字符
参考资料
- Universal Serial Bus Specification Revision 2.0 ,April 27, 2000
- USB in a Nutshell
- 《圈圈教你玩USB》 刘荣编著 2009.1