Universal Serial Bus (USB) is a connectivity specification to connect peripherals to a computer in order to eliminate the hassle of opening the computer case to install cards needed for certain devices. USB supports plug-and-play connectivity and data transfer is much faster than with the old serial bus (RS-232). Nowadays, USB is also used to connect other devices, such as a photo camera to a printer.

The original USB version 1.1 has a maximum data rate of 12 Mbit/s (full speed); the data speed can be reduced to 1.5 Mbit/s (low speed) for devices which don't need a fast connection. The current version of USB, revison 2.0, has a much higher data rate of 480 Mbit/s. USB 2.0 is completely backward comptabile with USB 1.1. In august 2008 the USB 3.0 standard was published. USB 3.0 or SuperSpeed has a maximum data rate of 5.0 Gbit/s (625 MB/s) and is downward compatible with USB 2.0.

USB uses a cable with 4 wires. Two wires are used for the communication between the PC and the other two are used to provide power to attached devices. The provided power is limited to 2.5 W (500 mA at 5V).This feature is especially helpful for low-power devices, such as a USB mouse. Devices that need more power will use an external power source or can run off a powered USB hub.

USB has the possibilty to use a hub. Most USB hubs can be used to connect 4 devices to a single USB port on the computer. However there are some constraints:

USB has 4 different transmission modes:

  1. Control data: used to confiugre the pheripherals;
  2. Bulk data: used to transfer huge amounts of data, e.g. an external hard disk;
  3. Interrupt data: for devices with a small amount of data on a arbitrary point in time;
  4. Isochrone data: for real-time applications that need a constant data flow, e.g audio or video streams.
It is possible to reserve bandwidth for isochrone and interput data, with a maxium of 90% of the available bandwidth. It is not possible to reserve bandwidth for bulk data. If there is no other data, up to 95% of the available bandwidth can be used for bulk data.

USB provides for error control on all modes. If errors are detected, a data packet will be transfered once again, except for isochrone data.

See also
External links