Host controller interface (USB, Firewire)

Host controller interface (USB, Firewire)

A host controller interface (HCI) is a register-level interface that enables a host controller for USB or FireWire hardware to communicate with a host controller driver in software. The driver software is typically provided with an operating system of a personal computer, but may also be implemented by application-specific devices such as a microcontroller.

On the expansion card or motherboard controller, this involves much custom logic, with digital logic engines in FPGAs plus analog circuitry managing the high-speed differential signals. On the software side, it requires a device driver (called a Host Controller Driver, or HCD).

Contents

FireWire

Open Host Controller Interface

Open Host Controller Interface, or OHCI, is an open standard.

When applied to a FireWire card, OHCI means that the card supports a standard interface to the PC and can be used by the OHCI FireWire drivers that come with all modern operating systems. Because the card has a standard OHCI interface, the OS does not need to know in advance exactly who makes the card or how it works; it can safely assume that the card understands the set of well-defined commands that are defined in the standard protocol.

USB

Open Host Controller Interface

The OHCI standard for USB is similar, but supports USB 1.1 (full and low speeds) only; so as a result its register interface looks completely different. Compared with UHCI, it moves more intelligence into the controller, and thus is accordingly much more efficient; this was part of the motivation for defining it. If a computer provides non-x86 USB 1.1, or x86 USB 1.1 without an Intel or VIA chipset, it probably uses OHCI (e.g. OHCI is common on add-in PCI Cards based on an NEC chipset).

Universal Host Controller Interface

Universal Host Controller Interface (UHCI) was created by Intel for USB 1.0 (full and low speeds).

Far from being "universal", it is actually proprietary and is incompatible with OHCI. Intel and VIA controllers generally use UHCI, while other vendors use OHCI.

Enhanced Host Controller Interface

Enhanced Host Controller Interface (EHCI) is a high-speed controller standard that is publicly specified. The USB-IF insisted on this for USB 2.0 instead of having a different standard for PCI-based USB interfaces, which would have increased complexity and therefore costs. Intel hosted the EHCI conformance testing, which helped to prevent divergence from the standard.

EHCI only provides high-speed USB functions. It relies on a "companion controller", either OHCI or UHCI, to handle full- and low-speed devices. Motherboards and PCI Cards that provide high-speed ports thus have two controllers, one handling high-speed devices and the other handling low- and full-speed devices.

It is not uncommon to find UHCI, OHCI and EHCI all co-existing in a standard PC, with a UHCI driver providing low- and full-speed functions on the (Intel chipset) motherboard, an OHCI driver providing low- and full-speed functions for the USB ports on an add-in (NEC chipset) PCI expansion card, and an EHCI driver providing high-speed functions for the USB ports on that expansion card.

Extensible Host Controller Interface

Extensible Host Controller Interface, XHCI is the newest host controller standard that improves speed, power efficiency and virtualization over its predecessors. The goal was also to define a USB host controller to replace UHCI/OHCI/EHCI. It supports all USB device speeds (USB 3.0 super speed, USB 2.0 low, full, and high speed, USB 1.1 low and full speed.)

See also

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Host controller interface — may refer to: Host controller interface (USB, Firewire) a register level interface that enables a host controller for USB or FireWire hardware to communicate with a host controller driver in software, also known as Open Host Controller Interface… …   Wikipedia

  • Enhanced Host Controller Interface — Der Universal Serial Bus (USB) [ˌjuːnɪˈvɜːsl ˈsɪɹiəl bʌs] ist ein serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Mit USB ausgestattete Geräte oder Speichermedien können im laufenden Betrieb miteinander verbunden (Hot… …   Deutsch Wikipedia

  • Universal Host Controller Interface — Der Universal Serial Bus (USB) [ˌjuːnɪˈvɜːsl ˈsɪɹiəl bʌs] ist ein serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Mit USB ausgestattete Geräte oder Speichermedien können im laufenden Betrieb miteinander verbunden (Hot… …   Deutsch Wikipedia

  • Open Host Controller Interface — (OHCI) ist ein offener Standard, der einem Computer erlaubt, mit FireWire und USB Geräten zu kommunizieren. In Bezug auf FireWire Karten und Controllerchips bedeutet OHCI, dass die Karte/der Chip eine PCI basierte Standardschnittstelle… …   Deutsch Wikipedia

  • Firewire — Logo Links 4 Pin und rechts 6 Pin FireWire Stecker …   Deutsch Wikipedia

  • FireWire — Logo Links 4 Pin und rechts 6 Pin FireWire Stecker …   Deutsch Wikipedia

  • USB — This article is about the computer bus to connect peripherals. For other uses of USB, see USB (disambiguation). Universal Serial Bus Original logo Type Computer Hardware Bus …   Wikipedia

  • USB — Der Universal Serial Bus (USB) [ˌjuːnɪˈvɜːsl ˈsɪɹiəl bʌs] ist ein serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Mit USB ausgestattete Geräte oder Speichermedien können im laufenden Betrieb miteinander verbunden (Hot… …   Deutsch Wikipedia

  • USB-Hub — Der Universal Serial Bus (USB) [ˌjuːnɪˈvɜːsl ˈsɪɹiəl bʌs] ist ein serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Mit USB ausgestattete Geräte oder Speichermedien können im laufenden Betrieb miteinander verbunden (Hot… …   Deutsch Wikipedia

  • USB-OTG — Der Universal Serial Bus (USB) [ˌjuːnɪˈvɜːsl ˈsɪɹiəl bʌs] ist ein serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Mit USB ausgestattete Geräte oder Speichermedien können im laufenden Betrieb miteinander verbunden (Hot… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”