usb设备配置接口端点
在 USB 设备的逻辑组织中,包含设备、配置、接口和端点4 个层次。每个 USB 设备都提供了不同级别的配置信息,可以包含一个或多个配置,不同的配置使设备表现出不同的功能组合(在探测/连接期间需从其中选定一个),配置由多个接口组成。
在 USB 协议中,接口由多个端点组成,代表一个基本的功能,是USB 设备驱动程序控制的对象,一个功能复杂的USB 设备可以具有多个接口。每个配置中可以有多个接口,而设备接口是端点的汇集(collection)。例如USB 扬声器可以包含一个音频接口以及对旋钮和按钮的接口。一个配置中的所有接口可以同时有效,并可被不同的驱动程序连接。每个接口可以有备用接口,以提供不同质量的服务参数。端点是 USB 通信的最基本形式,每一个USB 设备接口在主机看来就是一个端点的集合。主机只能通过端点与设备进行通信,以使用设备的功能。在USB 系统中每一个端点都有惟一的地址,这是由设备地址和端点号给出的。每个端点都有一定的属性,其中包括传输方式、总线访问频率、带宽、端点号和数据包的最大容量等。一个USB 端点只能在一个方向承载数据,或者从主机到设备(称为输出端点),或者从设备到主机(称为输入端点),因此端点可看作一个单向的管道。端点0 通常为控制端点,用于设备初始化参数等。只要设备连接到USB 上并且上电端点0 就可以被访问。端点1、2 等一般用作数据端点,存放
主机与设备间往来的数据。
总体而言,USB 设备非常复杂,由许多不同的逻辑单元组成,如下图所示,这些单元之间的关系如下: