系统中只能有一个主机,并且与设备进行的通信是从主机的角度进行的。主机是“上行”组件,设备则是“下行”组件,如3 表示。数据从主机转移到外设的操作是 OUT 传输。数据从外设转移到主机的操作是 IN 传输。主机(尤其是主控制器)控制着所有通信并向设备发出指令。共有三种常见的 USB 主控制器:
通用主控制器接口(UHCI):Intel 生产,适用于 USB 1.0 USB 1.1。使用 UHCI 时需要得到 Intel 的许可。该控制器支持低速模式和全速模式。
开放主控制器接口(OHCI):CompaqMicrosoft National Semiconductor 生产,适用于 USB 1.0 1.1。该控制器支持低速模式和全速模式,并且它的效率比 UHCI 更高,因为可以执行更多硬件功能。
扩展型主控制器接口(EHCI):USB-IF 要求发布单一主控制器规范后,已经生产了该控制器,它适用于 USB2.0EHCI 仅支持高速传输,并且将低速和全速传输委托给 OHCI UHCI 控制器执行。
3.多个外设同一个主机相连
USB架构1.png
可以将一个或多个设备连接至一个主机。每个设备均有一个地址,并且会对寻址它的主机指令做出响应。设备预计具有某种形式的功能,并不简单作为一个被动组件。设备具有一个上行端口。端口是设备上的 USB 物理连接点。

集线器是一个专用设备,允许主机同总线上的多个外设进行通信。与 USB 外设(例如鼠标)具有实际功能不同,集线器设备是透明的,并且作为直通连接使用。集线器也作为主机和设备间的通道。集线器具有多个连接点,从而可以将多个设备连接到一个主机上。一个集线器可以将与下行设备进行的通信重复使用到一个上行端口和最多七个下行端口。但集线器并没有主机功能。

4. 集线器连接
usb集线器1.png
如上所述,通过使用集线器最多能够将 127 个设备连接至主控制器上。连接设备的数目限制由 USB 协议决定,它限制设备地址为 7 位。另外,由于集线器的时间限制和电缆传播的延迟,因此最多只能将五个集线器链接在一起。5 示的是 USB 层次系统的框图,它表示集线器和设备的链接限制。您可以看到,随着集线器的链接限制,层次系统也限制为七层。

5USB 层次连接
usb层次1.png

从另一个角度观察 USB 接口,即将其分为不同层次,如6 所示。总线接口层提供了物理连接、电气信号和数据包连接。该层由设备硬件处理,并通过设备的外部接口完成。设备层是 USB 系统软件的视图,用于执行 USB 操作,如发送和接收信息。该层的操作由设备的内部串行接口引擎完成。最后,功能层包括有关软件的事务。它是USB 设备的一部分,用于处理所接收到的信息,或者收集数据并将其传输给主机。6 表示的是该抽象接口。
6. 抽象接口

usb抽象1.png