【摘 要】
在 USB2.0 规范的基础上,分析了 USB 描述符结构,提出了多功能 USB 设备的结构模型,总结出设计多功
能 USB 设备结构的两种基本方法。
关键词
通用串行总线,复合设备,组合设备,多功能
1 引 言
作为计算机的外部设备接口,USB 接口已得到广泛应用。多功能 USB 设备是一种复杂的 USB 设备,它
虽然只有一个 USB 接口,但是却具有实现多种类型设备的功能。具有多功能 USB 的设备被逐渐地应用起
来,常见的设备有带鼠标的 USB 键盘、带话筒的 USB 摄像头等。因此,研究多功能 USB 设备的结构设计
十分必要。
2002 年 4 月 27 日,康柏、惠普、英特尔、朗讯、微软、NEC 和菲利浦等数家公司联合修订了
《UniversalSerial Bus Specification Revision 2.0》(这里简称 USB2.0 规范),本文的研究就是在这个规范
的基础上进行的。
2 USB 设备的设计原则
在 USB 系统中,USB 主机(host)扮演主控(master)角色。除了设备的远程唤醒(remote wakeup)
功能外,USB 设备不会是事件的发起者,设备做到的只是响应主机的请求。图 1 所示是 USB 通信的请求
响应模型。
USB 采用这种以主机为中心的模型的原因是节省花费。通信中应尽量将主机端智能化一些,使设备端
简单一些,这样,才能降低计算机外围设备的花费。因此,在设计 USB 设备,特别是设计多功能 USB 设
备时,应使 USB 设备端处理通信时尽量简单。
3 USB 规范中的几种重要描述符
在列举过程(enumeration process)中,主机使用控制传输方式从设备请求描述符。描述符包含
了设备的基本信息。主要的描述符有:设备描述符(devicedescriptor)、配置描述符(configuration
descriptor)、接口描述符(interface descriptor)以及端点描述符(endpoint descriptor)。
一个 USB 设备对应一个设备描述符。一个 USB 设备可以有一个或多个配置,但在一个时刻内,只有
一个配置是有效的(one ata time)。每个配置有一个或多个接口,只要配置有效,其所有的接口都是有效
的(concurrently active)。每个接口可有多个端点,一个端点(除端点 0 外)不可以在一个配置下的多个
接口间共享,但可以在不同配置下的接口间共享。端点是一个 USB 设备的一个唯一的可寻址部分,用来
作为主机和设备之间通信流的信息源或接收器。接口是端点的集合,是设备实现某种功能的最小载体。
它们之间的结构见图 2。图 2 所示是 USB 描述符树。