Dennis Faas's picture

Universal Serial Bus (USB) provides a serial bus standard for connecting devices, usually to a computer, but it also is in use on other devices such as set-top boxes, and game consoles.

USB: Overview

A USB system has an asymmetric design, consisting of a host controller and multiple devices connected in a tree-like fashion using special hub devices. There is a limit of 5 levels of branching hubs per controller. Up to 127 devices may be connected to a single host controller, but the count must include the hub devices as well. A modern computer likely has several host controllers so the total useful number of connected devices is beyond what could reasonably be connected to a single controller. There is no need for a terminator on any USB bus, as there is for SCSI and some others.

The design of USB aimed to remove the need for adding separate expansion cards into the computer's ISA or PCI bus, and improve plug-and-play capabilities by allowing devices to be hot swapped or added to the system without rebooting the computer. When the new device first plugs in, the host enumerates it and loads the device driver necessary to run it.

USB: Device Classes

Devices that attach to the bus can be full-custom devices requiring a full-custom device driver to be used, or may belong to a device class. These classes define an expected behavior in terms of device and interface descriptors so that the same device driver may be used for any device that claims to be a member of a certain class. An operating system is supposed to implement all device classes so as to provide generic drivers for any USB device.

The most used device classes are:

  • USB human interface device class, keyboards, mice, etc
  • USB mass storage device class used for key drives, portable hard drives, digital cameras, etc
  • USB communications device class ("CDC") used for modems (and win modems), and network cards
  • USB printer device class, and printer-like devices
  • USB audio device class, and sound card-like devices
  • USB video device class, webcam-like devices, and motion image capture devices

Device classes are decided upon by the Device Working Group of the USB Implementers Forum.

USB: Version history

  • USB 1.0 FDR: Came out in November 1995, the same year that Apple adopted the IEEE 1394 standard known as FireWire.
  • USB 1.0: Came out in January 1996.
  • USB 1.1: Came out in September 1998.
  • USB 2.0: Came out in April 2000. The major feature of this standard was the addition of high-speed mode.
  • USB 3.0 was released in November 2008. The standard defines a new SuperSpeed mode with a signaling speed of 5 Gbit/s.

This article is adapted from:

Rate this article: 
No votes yet