USB 枚举和设备描述符之学习笔记

来源:互联网 发布:汽车选购知乎 编辑:程序博客网 时间:2024/06/05 15:10

无论何时,当USB设备连接到USB总线时, USB子系统都会进行枚举 (Enumeration) 操作。

USB设备被分配到一个唯一的设备编号值 ( 1 ~ 127 ) , 然后设备描述符被读出。

 

USB设备描述符是一个包含有设备信息和属性的数据结构。

USB规范定义描述符的层次结构如下:

\includegraphics [width=\linewidth]{descr}

标准描述符:

  • 设备描述符描述了一个USB设备的通用信息。它包含了全局适用于该设备的信息和该设备的全部配置(Configuration)。每个USB设备只有唯一的设备描述符。
  • 配置描述符给出一个特定设备配置的信息。 每个USB设备含有一个或多个配置描述符。
  • 每个配置含有一个或多个接口(Interface)。
  • 每个接口含有一个或多个端点( Endpoint)。
  • 接口描述符定义了一个给定配置内的特定接口。
  • 端点描述符包含了带宽需求信息。主设备需要该信息来决定每个端点的带宽需求。一个端点表示USB设备的一个逻辑数据源或Sink。
  • 端点0用于标准控制传输, 且没有端点描述符。 USB 规范也使用术语管道 (Pipe) 表示端点。
  • 字符串描述符是可选的,其提供Unicode格式可读的额外信息。可以用于表示供应商名和设备名,以及序列号。

例如,一个带有microphone的可录像照相机可能具有如下可选设定。通过标准控制传输 set_interface 可以选择不同的设定,以次调整由总线分配的带宽。

  1. Camera activated
  2. Microphone activated
  3. Camera and microphone activated

 

Device Class

把设备或接口以组的形式分类,然后定义同一个组的特性,这样可以使管理多个实现的主机控制软件基于给定的组进行开发。

 

Device ClassExample DeviceDisplayMonitorCommunicationModemAudioSpeakersMass storageHard driveHuman interfaceData glove

 

Human Interface Devices (HID)

HID 类主要由通过人控制计算机系统操作的设备组成。 典型地, HID 类保含如下设备:

  • 键盘和触摸设备
  • 前端控制面板
  • 控制按钮,例如电话机,远程控制,游戏模拟等
  原:http://blog.csdn.net/cfy_phonex/article/details/22155311
0 0
原创粉丝点击