USB是Universal Serial Bus的简称。它是一种可以同时处理计算机与具有USB接口的多种外设之间通信的电缆总线。这些连接到计算机上的外设共同分享USB的带宽。USB的分时处理机制真正在硬件的意义上实现了计算机外设的即插即用。
如果留心一下当前市场上的电脑外设,大家会发现采用USB设备的产品正在逐渐增加。键盘、鼠标、MODEM、游戏杆、音箱、扫描仪等,以前插在串行、并行等外部扩展接口上的部件,甚至一些以前要连接到电脑内部扩展槽上的设备,都开始以USB接口的界面出现,USB设备的发展势头正如日中天。
本文将从技术的角度来探讨一下USB,有关它的实用部分请参阅本刊1999年第5、7和11期的相关文章。
一个基于计算机的USB系统可以在系统层次上被分为三个部分:即USB主机(USB Host)、USB器件(USB Device)和USB的连接。
所谓USB连接实际上是指一种USB器件和USB主机进行通信的方法。它包括:
●总线的拓扑(由一点分出多点的网络形式):即外设和主机连接的模式;
●各层之间的关系:即组成USB系统的各个部分在完成一个特定的USB任务时,各自之间的分工与合作;
●数据流动的模式:即USB总线的数据传输方式;
●USB的“分时复用”:因为USB提供的是一种共享连接方式,因而为了进行数据的同步传输,致使USB对数据的传输和处理必须采用分时处理的机制。
一、USB的总线拓扑
USB的总线拓扑如图1所示,在USB的树形拓扑中,USB集线器(HUB)处于节点(Node)的中心位置。而每一个功能部件都和USB主机形成唯一的点对点连接,USB的HUB为USB的功能部件连接到主机提供了扩展的接口。利用这种树形拓扑,USB总线支持最多127个USB外设同时连接到主计算机系统。
图1 USB的总线拓扑示意图
一个USB系统仅可以有一个主机,而为USB器件连接主机系统提供主机接口的部件被称为USB主机控制器。USB主机控制器是一个由硬件、软件和固件(Firmware)组成的复合体。一块具有USB接口的主板通常集成了一个称为ROOT HUB的部件,它为主机提供一到多个可以连接其它USB外设的USB扩展接口,我们通常在主板上见到的USB接口都是由ROOT HUB提供的。
USB器件可以分为两种:即USB HUB和USB功能器件(Function Device)。
作为USB总线的扩展部件,USB HUB(图2)必须满足以下特征:
●为自己和其它外设的连接提供可扩展的下行和上行(Downstream and Upstream)端口;
●支持USB总线的电源管理机制;
●支持总线传输失败的检测和恢复;
●可以自动