通用主控制器接口(UHCI):由 Intel 生产,适用于 USB 1.0 和 USB 1.1。使用 UHCI 时需要得到 Intel 的许可。该控制器支持低速模式和全速模式。
开放主控制器接口(OHCI):由 Compaq、Microsoft 和 National Semiconductor 生产,适用于 USB 1.0 和 1.1。该控制器支持低速模式和全速模式,并且它的效率比 UHCI 更高,因为可以执行更多硬件功能。
扩展型主控制器接口(EHCI):在 USB-IF 要求发布单一主控制器规范后,已经生产了该控制器,它适用于 USB2.0。EHCI 仅支持高速传输,并且将低速和全速传输委托给 OHCI 或 UHCI 控制器执行。
图 3.多个外设同一个主机相连
可以将一个或多个设备连接至一个主机。每个设备均有一个地址,并且会对寻址它的主机指令做出响应。设备预计具有某种形式的功能,并不简单作为一个被动组件。设备具有一个上行端口。端口是设备上的 USB 物理连接点。
集线器是一个专用设备,允许主机同总线上的多个外设进行通信。与 USB 外设(例如鼠标)具有实际功能不同,集线器设备是透明的,并且作为直通连接使用。集线器也作为主机和设备间的通道。集线器具有多个连接点,从而可以将多个设备连接到一个主机上。一个集线器可以将与下行设备进行的通信重复使用到一个上行端口和最多七个下行端口。但集线器并没有主机功能。
图 4. 集线器连接
如上所述,通过使用集线器最多能够将 127 个设备连接至主控制器上。连接设备的数目限制由 USB 协议决定,它限制设备地址为 7 位。另外,由于集线器的时间限制和电缆传播的延迟,因此最多只能将五个集线器链接在一起。图 5 显示的是 USB 层次系统的框图,它表示集线器和设备的链接限制。您可以看到,随着集线器的链接限制,层次系统也限制为七层。
图 5.USB 层次连接
从另一个角度观察 USB 接口,即将其分为不同层次,如图 6 所示。总线接口层提供了物理连接、电气信号和数据包连接。该层由设备硬件处理,并通过设备的外部接口完成。设备层是 USB 系统软件的视图,用于执行 USB 操作,如发送和接收信息。该层的操作由设备的内部串行接口引擎完成。最后,功能层包括有关软件的事务。它是USB 设备的一部分,用于处理所接收到的信息,或者收集数据并将其传输给主机。图 6 表示的是该抽象接口。
图 6. 抽象接口