USB设备配置

  USB设备的功能和特性通过设备配置来实现,USB设备是一个配置、端点和接口的集合,采用USB描述符来表征该USB设备的功能,主机通过读取这些描述符来获得USB设备的产品信息、资源分配、能力等。

USB协议定义了三种类型的描述符:

(1)标准类型。用于提供设备的基本信息。标准类型的描述符主要有:设备描述符、配置描述符、接口描述符、端点描述符以及字符串描述符等。

(2)设备类别特定描述符。用于提供设备更详细的信息。如HID类(人机接口类)设备的类别特定描述符中的HID描述符和报表描述符,就可以用来描述设备究竟是一个鼠标还是一个键盘。如果是鼠标,则报表描述符的数据就是鼠标的按键和位移。

(3)厂商特定描述符。也是用于提供设备的一些更详细信息,不过它是由厂商自己定义的,不像设备类别特定描述符那样是USB规范定义的。

  描述符是一个完整的数据结构,用于描述一个USB设备的所有属性,其中可能包含整个设备的信息,或是设备中的一个组件的信息。可以通过C语言等编程实现,并存储在USB设备中,USB主机是通过一系列命令来要求设备发送这些信息的。它的作用就是让主机知道设备具有什么功能、属于哪一类设备、要占用多少带宽、使用哪类传输方式及数据量的大小,描述符是十分重要的部分,只有主机确定了这些信息之后,设备才能真正开始工作。

  描述符之间有一定的关系,一个设备只有一个设备描述符,而一个设备描述符可以包含多个配置描述符,而一个配置描述符可以包含多个接口描述符,一个接口使用了几个端点,就有几个端点描述符,字符串描述符(可选)定义了可能用到的字符串,其他的描述符可以根据字符串描述符中相应的索引值来引用相应的字符串。这些描述符是用一定的字段构成的。USB设备配置

        描述符之间关系

你可能感兴趣的:(配置)