USB控制器

OHCIUHCI都是USB1.1的接口标准,而EHCI是对应USB2.0的接口标准,最新的xHCIUSB3.x的接口标准。

  1. OHCIOpen Host Controller Interface)是CompaqMicrosoftNational Semiconductor主导的支持USB1.1的接口标准,但它不仅仅是针对USB,还支持其他的一些接口,比如它还支持Apple的火线(FirewireIEEE 1394)接口。与UHCI相比,OHCI的硬件复杂,硬件做的事情更多,所以实现对应的软件驱动的任务,就相对较简单。主要用于非x86USB,如扩展卡、嵌入式开发板的USB主控

  2. UHCIUniversal Host Controller Interface),是Intel主导的对USB1.01.1的接口标准,OHCI不兼容UHCI的软件驱动的任务重,需要做得比较复杂,但可以使用较便宜、较简单的硬件的USB控制器。IntelVIA使用UHCI,而其余的硬件提供商使用OHCI

  3. EHCIEnhanced HostController Interface),是Intel主导的USB2.0的接口标准。EHCI仅提供USB2.0的高速功能,而依靠UHCIOHCI来提供对全速(full-speed)或低速(low-speed)设备的支持。

  4. xHCIeXtensible Host Controller Interface),是最新最火的USB3.0的接口标准,它在速度、节能、虚拟化等方面都比前面3种有了较大的提高。xHCI支持所有种类速度的USB设备USB 3.0 SuperSpeed, USB 2.0 Low, Full, and High-speed, USB 1.1 Lowand Full-speed)。xHCI的目的是为了替换前面3种(UHCI/OHCI/EHCI)。


USB主机控制器类型

共同点

区别

对应的USB的协议和支持的速率

创立者

功能划分

常用于

OHCI

都实现了对应的USB的规范所要求的功能

USB 1.1

Low SpeedFull Speed

CompaqMicrosoftNational Semiconductor

硬件功能>软件功能=>硬件做的事情更多,所以实现对应的软件驱动的任务,就相对较简单

扩展卡,嵌入式开发板的USB主控

UHCI

Intel

软件功能>硬件功能=>软件的任务重,可以使用较便宜的硬件的USB控制器

PC端的主板上的USB主控

EHCI

USB 2.0

High Speed

Intel

定义了USB 2.0主控所要实现何种功能,以及如何实现

各种USB 2.0主控

xHCI

USB 3.0

SuperSpeed

Intel

定义了USB 3.x主控所要实现何种功能,以及如何实现

各种USB 3.x主控