OHCI
Encyclopedia
A host controller interface (HCI) is a register-level interface
Interface (computer science)
In the field of computer science, an interface is a tool and concept that refers to a point of interaction between components, and is applicable at the level of both hardware and software...

 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
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 of a personal computer
Personal computer
A personal computer is any general-purpose computer whose size, capabilities, and original sales price make it useful for individuals, and which is intended to be operated directly by an end-user with no intervening computer operator...

, but may also be implemented by application-specific devices such as a microcontroller
Microcontroller
A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. Program memory in the form of NOR flash or OTP ROM is also often included on chip, as well as a typically small amount of RAM...

.

On the expansion card
Expansion card
The expansion card in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard or backplane to add functionality to a computer system via the expansion bus.One edge of the expansion card holds the contacts that fit exactly into the slot...

 or motherboard controller, this involves much custom logic, with digital logic engines in FPGA
Field-programmable gate array
A field-programmable gate array is an integrated circuit designed to be configured by the customer or designer after manufacturing—hence "field-programmable"...

s plus analog circuitry managing the high-speed differential signals. On the software side, it requires a device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....

 (called a Host Controller Driver, or HCD).

Open Host Controller Interface

Open Host Controller Interface, or OHCI, is an open standard
Open standard
An open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....

.

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 system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s. 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.

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
Universal Serial Bus
USB is an industry standard developed in the mid-1990s that defines the cables, connectors and protocols used in a bus for connection, communication and power supply between computers and electronic devices....

 1.0 (full and low speeds).

Far from being "universal", it is actually proprietary
Proprietary hardware
Proprietary hardware is computer hardware which is owned by the proprietor.Historically, most early computer hardware was designed as proprietary until the 1980s, when IBM PC changed this paradigm...

 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 cost
Cost
In production, research, retail, and accounting, a cost is the value of money that has been used up to produce something, and hence is not available for use anymore. In business, the cost may be one of acquisition, in which case the amount of money expended to acquire it is counted as cost. In this...

s. Intel hosted the EHCI conformance testing
Conformance testing
Conformance testing or type testing is testing to determine whether a product or system meets some specified standard that has been developed for efficiency or interoperability....

, 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 SuperSpeed, USB 2.0 Low-, Full-, and High-speed, USB 1.1 Low- and Full-speed).

See also

  • Universal Serial Bus
    Universal Serial Bus
    USB is an industry standard developed in the mid-1990s that defines the cables, connectors and protocols used in a bus for connection, communication and power supply between computers and electronic devices....

     (USB)
  • Advanced Host Controller Interface
    Advanced Host Controller Interface
    The Advanced Host Controller Interface is a technical standard defined by Intel that specifies the operation of Serial ATA host bus adapters in a non-implementation-specific manner....

     (AHCI)
  • EHCI (xHCI 0.9 SuperSpeed USB Architecture - USB 3.0)
  • WHCI 1.0 (Wireless USB 1.0)
  • RAID Controller
    RAID
    RAID is a storage technology that combines multiple disk drive components into a logical unit...

  • Host adapter
    Host adapter
    In computer hardware, a host controller, host adapter, or host bus adapter connects a host system to other network and storage devices...

  • LPCIO
    Low Pin Count
    The Low Pin Count bus, or LPC bus, is used on IBM-compatible personal computers to connect low-bandwidth devices to the CPU, such as the boot ROM and the "legacy" I/O devices . The "legacy" I/O devices usually include serial and parallel ports, PS/2 keyboard, PS/2 mouse, floppy disk controller...


External links

  • [ftp://ftp.compaq.com/pub/supportinformation/papers/hcir1_0a.pdf An OHCI for USB standard document from Compaq, Microsoft and National Semiconductor] (PDF
    Portable Document Format
    Portable Document Format is an open standard for document exchange. This file format, created by Adobe Systems in 1993, is used for representing documents in a manner independent of application software, hardware, and operating systems....

    )
  • Linux kernel source: OHCI and EHCI documentation
  • Intel EHCI Specification
  • Intel xHCI Specification
  • xHCI draft specification is finally available
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK