一个USB设备只有一个设备描述符,设备描述符里决定该设备有多少种配置,
每种配置都有一个配置描述符,而每个配置描述符中又定义了该配置里有多少个接口,
每个接口都有一个接口描述符,在接口描述符里面有多少个端点,每个端点都有一个端点描述符,端点描述符里面定义了端点的大小、类型。
他们之间的关系是一层一层的。
每种描述符主要记录的信息有:
设备描述符:设备所使用的USB协议版本,设备类型,端点0的最大包大小,厂商ID(VID)和产品ID(PID),设备版本号,厂商字符串索引,产品字符串索引,设备序列号索引,可能的配置参数
配置描述符:配置所包含的接口数,配置的编号,供电方式,是否支持远程唤醒,电流需求量等
接口描述符:接口的编号,接口的端点数,接口所使用的类,子类,协议等
端点描述符:端点号及方向,端点的传输类型,最大包长度,查询时间间隔等
字符串描述符:提供一些方面人们阅读的信息,它不是必需的。 |