In Depth
See Also

Universal Serial Bus

Universal Serial Bus is a serial bus standard to interface Electrical connector

An electrical connector is a device for joining electrical circuit [i]s together. ... 

 devices. It was designed for computer Computer

A computer is a machine [i] for manipulating data [i] according to a list of instructions [i] ... 

s such as PCs IBM PC compatible

IBM PC compatible is a class of computer [i]s which make up the vast majority of small computers on the ... 

 and the Apple Apple Computer

Apple Computer, Inc. is an American [i] computer [i] technology [i] corporation [i] with ... 

 Macintosh Macintosh

The Macintosh, or Mac, is a line of personal computer [i]s designed, developed, manufactured, and ... 

, but its popularity has prompted it to also become commonplace on video game console Video game console

A video game console is an interactive entertainment [i] computer [i]. ... 

s, PDA Personal digital assistant

Personal Digital Assistants are handheld device [i]s that were originally designed as personal organisers, but ... 

s, cellphones Mobile phone

A mobile or cell phone [i] is a long-range, portable electronic device [i] for per ... 

; and even devices such as televisions Television

Television is a telecommunication [i] system for ... 

 and home stereo equipment , and portable memory devices USB flash drive

USB flash drives are NAND [i]-type flash memory [i] data storage device [i]s ... 

. The radio spectrum-based USB implementation is known as Wireless USB.

Discussions

  Discussion Features

   Ask a question about 'Universal Serial Bus'

   Start a new discussion about 'Universal Serial Bus'

   Answer questions about 'Universal Serial Bus'

   'Universal Serial Bus' discussion forum


Encyclopedia








Universal Serial Bus is a serial bus standard to interface Electrical connector

An electrical connector is a device for joining electrical circuit [i]s together. ... 

 devices. It was designed for computer Computer

A computer is a machine [i] for manipulating data [i] according to a list of instructions [i] ... 

s such as PCs IBM PC compatible

IBM PC compatible is a class of computer [i]s which make up the vast majority of small computers on the ... 

 and the Apple Apple Computer

Apple Computer, Inc. is an American [i] computer [i] technology [i] corporation [i] with ... 

 Macintosh Macintosh

The Macintosh, or Mac, is a line of personal computer [i]s designed, developed, manufactured, and ... 

, but its popularity has prompted it to also become commonplace on video game console Video game console

A video game console is an interactive entertainment [i] computer [i]. ... 

s, PDA Personal digital assistant

Personal Digital Assistants are handheld device [i]s that were originally designed as personal organisers, but ... 

s, cellphones Mobile phone

A mobile or cell phone [i] is a long-range, portable electronic device [i] for per... 

; and even devices such as televisions Television

Television is a telecommunication [i] system for
... 

 and home stereo equipment , and portable memory devices USB flash drive

USB flash drives are NAND [i]-type flash memory [i] data storage device [i]s ... 

.

The radio spectrum-based USB implementation is known as Wireless USB.

Overview


The universal Serial bus was devised as a key component in the trajectory towards a legacy-free PC, i.e. the idea was to let go of all older serial Serial port

In computing [i], a serial port is a serial communication [i] physical interface through which informa ... 

 and parallel port Parallel port

In computing [i], a parallel port is a type of physical interface used in conjunction with a cable [i] t ... 

s on personal computer Personal computer

A personal computer is usually a microcomputer [i] whose price, size, and capabilities make it suitable ... 

s since these were not properly standardized, and required a multitude of device driver Device driver

A device driver, or a software driver is a specific type of computer software [i], typically devel ... 

s to be developed and maintained.

A USB system has an asymmetric Symmetry

Symmetry is a characteristic feature of geometrical [i] shapes, system [i]s, equation [i]s, and ... 

 design, consisting of a host controller and multiple daisy-chained Daisy chain

The elementary meaning of daisy chain is a garland [i] created from the daisy [i] flower [i], generally ... 

 devices. Additional USB hub USB hub

A USB hub is a device that allows many USB [i] devices to be connected to a single ... 

s may be included in the chain, allowing branching into a tree structure, subject to a limit of 5 levels of branching per controller. No more than 127 devices, including the bus devices, may be connected to a single host controller. Modern computers often have several host controllers, allowing a very large number of USB devices to be connected. USB cables do not need to be terminated.

Because of the capability of daisy-chaining USB devices, early USB announcements predicted that each USB device would include a USB port to allow for long chains of devices. In this model, computers would not need many USB ports, and computers shipped at this time typically had only two. However, for economical and technical reasons, daisy chaining never became widespread. To reduce the necessity of USB hub USB hub

A USB hub is a device that allows many USB [i] devices to be connected to a single ... 

s, computers now come with a large number of USB ports, typically six. Most modern desktop computers Personal computer

A personal computer is usually a microcomputer [i] whose price, size, and capabilities make it suitable ... 

 have up to half of their total complement of USB ports on the front panel, to facilitate temporary connection of portable devices.

USB was designed to allow peripherals to be connected without the need to plug expansion card Expansion card

An expansion card in computing [i] is a printed circuit board [i] that can be inserted into an expansion ... 

s into the computer's ISA Industry Standard Architecture

Industry Standard Architecture is a computer bus [i] standard for IBM compatible [i] computers. ... 

, EISA, or PCI Peripheral Component Interconnect

... 

 bus, and to improve plug-and-play Plug-and-play

Plug and Play is a computer feature that allows the addition of a new device, normally a peripheral [i], ... 

 capabilities by allowing devices to be hot-swapped Hot swapping

Hot swapping or hot plugging is the ability to remove and replace components of a machine, usually... 

 . When a device is first connected, the host enumerates and recognises it, and loads the device driver Device driver

A device driver, or a software driver is a specific type of computer software [i], typically devel ... 

 it needs.

USB can connect peripherals such as mouse devices Mouse (computing)

In the context of computing [i], a mouse consists of a hand-held pointing device [i], designed to sit u ... 

, keyboard Computer keyboard

A computer keyboard is a peripheral [i] modeled after the typewriter keyboard [i]. ... 

s, gamepad Gamepad

A gamepad, also called joypad or control pad, is a type of game controller [i] held with bot ... 

s and joystick Joystick

A joystick is a personal computer peripheral [i] or general control device consisting of a handheld stic ... 

s, scanner Image scanner

|-
||}
In computing [i], a scanner is a device that analyzes an image or an object and converts it to a ... 

s, digital camera Digital camera

A digital camera is an electronic [i] device used to capture and store photograph [i]s elect ... 

s, printer Computer printer

A computer printer, or more commonly just a printer, is a device that produces a hard copy [i] of ... 

s, external storage, networking Computer networking

Computer networking is the scientific [i] and engineering [i] discipline concerned with communic ... 

 components, etc. For many devices such as scanners and digital cameras, USB has become the standard connection method. USB is also used extensively to connect non-networked printers, replacing the parallel port Parallel port

In computing [i], a parallel port is a type of physical interface used in conjunction with a cable [i] t ... 

s which were widely used; USB simplifies connecting several printers to one computer. As of 2004 there were about 1 billion USB devices in the world. As of 2005, the only large classes of peripherals that cannot use USB, because they need a higher data rate than USB can provide, are displays and monitors Computer display

[i]s in the [[larynx]... 

, and high-quality digital video components.

Standardization

The design of USB is standardized by the USB Implementers Forum , an industry standards body incorporating leading companies from the computer and electronics industries. Notable members have included Apple Computer Apple Computer

Apple Computer, Inc. is an American [i] computer [i] technology [i] corporation [i] with ... 

, Hewlett-Packard Hewlett-Packard

The Hewlett-Packard Company , commonly known as HP, is one of the world's largest information technology [i] ... 

, NEC NEC

NEC Corporation is a multi-national information technologies [i] company headquartered in Minato [i] ... 

, Microsoft Microsoft

company_name = Microsoft Corporation
... 

, Intel Intel Corporation

Intel Corporation , founded in 1968 [i] as Integrated Electronics Corporation and based in Santa Clara, California [i] ... 

, and Agere Agere Systems

Agere Systems Inc. is an integrated circuit [i] components company based in Allentown, Pennsylvania [i], ... 

.

As of 2006 2006

2006 is a common year starting on Sunday [i] of the Gregorian calendar [i].
... 

 the USB specification is at version 2.0 . Hewlett-Packard, Intel, Lucent, Microsoft, NEC, and Philips jointly led the initiative to develop a higher data transfer rate than the 1.1 specification. The USB 2.0 specification was released in April 2000 and was standardized by the USB-IF at the end of 2001. Previous notable releases of the specification were 0.9, 1.0, and 1.1. Equipment conforming with any version of the standard will also work with devices designed to any previous specification .

Smaller USB plugs and receptacles, called Mini-A and Mini-B, are also available, as specified by the On-The-Go Supplement to the USB 2.0 Specification. As of 2006-08-02, the specification is at revision 1.2.

Technical details



USB connects several devices to a host controller through a chain of hubs. In USB terminology devices are referred to as functions, because in theory what we know as a device may actually host several functions, such as a router Router

A router is a computer networking device [i] that forwards data packets across a network toward their de ... 

 that is a Secure Digital Card Secure Digital card

Secure Digital is a flash memory [i] memory card [i] format used in portable devices, including digital ... 

 reader at the same time. The hubs are special purpose devices that are not officially considered functions. There always exists one hub known as the root hub, which is attached directly to the host controller.

These devices/functions have associated pipes which are connections from the host controller to a logical entity on the device named an endpoint. The pipes are synonymous to byte streams such as in the pipelines of Unix Unix

Unix or UNIX is a computer [i] operating system [i] originally developed in the 1960s and 1970s by ... 

, however the term endpoint is also used to mean the entire pipe, even in the standard USB documentation.

These endpoints are numbered 0-15 in each direction, so a device/function can have up to 32 active pipes, 16 inward and 16 outward.

Each endpoint can transfer data in one direction only, either into or out of the device/function, so each pipe is uni-directional. Endpoint 0 is however reserved for the bus management in both directions and thus takes up two of the 32 endpoints — all USB devices are required to implement endpoint 0, so there is always an inward and an outward pipe numbered 0 on any given device.

In these pipes, data is transferred in packets of varying length. Each pipe has a maximum packet length, typically bytes, so a USB packet will often contain something on the order of 8, 16, 32, 64, 128, 256, 512 or 1024 bytes.

The pipes are also divided into four different categories by way of their transfer type:

  • control transfers - typically used for short, simple commands to the device, and a status response, used e.g. by the bus control pipe number 0
  • isochronous transfers - at some guaranteed speed but with possible data loss, e.g. realtime audio or video
  • interrupt transfers - devices that need guaranteed quick responses , e.g. pointing devices and keyboards
  • bulk transfers - large sporadic transfers using all remaining available bandwidth , e.g. file transfers


When a device or hub is attached to the host controller through any hub on the bus, it is given a unique 7 bit address on the bus by the host controller.



The host controller then polls the bus for traffic, usually in a round-robin fashion, so no device can transfer any data on the bus without explicit request from the host controller. The interrupt transfers on corresponding endpoints do not actually interrupt any traffic on the bus: they are just scheduled to be queried more often and in between any other large transfers, thus "interrupt traffic" on a USB bus is really only high-priority traffic.



To access an endpoint, a hierarchical configuration must be obtained. The device connected to the bus has one device descriptor which in turn has one or more configuration descriptors. These configurations often correspond to states, e.g. active vs. low power mode. Each configuration descriptor in turn has one or more interface descriptors, which describe certain aspects of the device, so that it may be used for different purposes: for example, a camera may have both audio and video interfaces. These interface descriptors in turn have one default interface setting and possibly more alternate interface settings which in turn have endpoint descriptors, as outlined above. An endpoint may however be reused among several interfaces and alternate interface settings.

Host controllers


The hardware Computer hardware

Computer hardware is the physical part of a computer [i], including the digital circuit [i]ry,... 

 that contains the host controller and the root hub has an interface toward the programmer which is called Host Controller Device and is defined by the hardware implementer. In practice, these are hardware registers  in the computer.

At version 1.0 and 1.1 there were two competing HCD implementations. Compaq Compaq

Compaq Computer Corporation is an American [i] personal computer [i] company founded in 1982 [i]... 

's Open Host Controller Interface  was adopted as the standard by the USB-IF. However, Intel subsequently created a specification they called the Universal Host Controller Interface and insisted other implementers pay to license and implement UHCI. VIA Technologies VIA Technologies

VIA Technologies is a Taiwan [i]ese manufacturer of integrated circuit [i]s, mainly motherboard [i] chipset [i] ... 

 licensed the UHCI standard from Intel; all other chipset implementers use OHCI. The main difference between OHCI and UHCI is the fact that UHCI is more software-driven than OHCI is, making UHCI slightly more processor-intensive but cheaper to implement . The dueling implementations forced operating system vendors and hardware vendors to develop and test on both implementations which increased cost. During the design phase of USB 2.0 the USB-IF insisted on only one implementation. The USB 2.0 HCD implementation is called the Extended Host Controller Interface . Only EHCI can support high-speed transfers. Each EHCI controller contains four virtual HCD implementations to support Full Speed and Low Speed devices. The virtual HCD on Intel and Via EHCI controllers are UHCI. All other vendors use virtual OHCI controllers.

On Microsoft Windows Microsoft Windows

Microsoft Windows is a family of operating system [i]s by Microsoft [i].... 

 platforms, one can tell whether a USB port is version 2.0 by opening the Device Manager and checking for the word "Enhanced" in its description; only USB 2.0 drivers will contain the word "Enhanced." On Linux Linux

Linux is a Unix-like [i] computer operating system [i]. ... 

 systems, the lspci -v command will list all PCI devices, and a controllers will be named OHCI, UHCI or EHCI respectively, which is also the case in the Mac OS X system profiler. On BSD Berkeley Software Distribution

Berkeley Software Distribution is the Unix [i] derivative distributed by the University of California, Berkeley [i] ... 

 systems, dmesg will show the detailed information hierarchy.

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 Operating system

An operating system is a software program [i] that manages the hardware [i] and software [i] ... 

 is supposed to implement all device classes so as to provide generic drivers for any USB device.

Device classes are decided upon by the Device Working Group of the USB Implementers Forum. If the class is to be set for the entire device, the number is assigned to the bDeviceClass field of the device descriptor, and if it is to be set for a single interface on a device, it is assigned to the bInterfaceClass field of the interface descriptor. Both of these are a single byte each, so a maximum of 253 different device classes are possible . If bDeviceClass is set to 0x00, the operating system will look at bInterfaceClass of each interface to determine the device class.
Each class also optionally supports a SubClass and Protocol subdefinition. These can be used as the main device classes are continuously revised.



The most used device classes are:

0x00 : Reserved value - used in the device descriptor to signify that the interface descriptor holds the device class identifier for each interface.
0x01 : USB audio device class, sound card Sound card

A sound card is a computer [i] expansion card [i] that can input and output sound [i] under control of c ... 

-like devices.
0x03 : USB human interface device class , keyboards, mice, etc.
0x06 : Still image capture device class, identical to the Picture Transfer Protocol as used across USB
0x07 : USB printer device class, printer Computer printer

A computer printer, or more commonly just a printer, is a device that produces a hard copy [i] of ... 

-like devices.
0x08 : USB mass storage device class USB mass storage device class

The USB mass storage device class is a set of computing communications protocols [i] defined by ... 

 used for flash drive USB flash drive

USB flash drives are NAND [i]-type flash memory [i] data storage device [i]s ... 

s, portable hard drives, memory card Memory card

*UFC
  • FISH Universal Transportable Memory Card Standard

... 

 readers, digital cameras, digital audio player Digital audio player

A digital audio player is a device that stores, organizes and plays digital music file [i] ... 

s etc. This device class presents the device as a block device .
0x09 : USB hub USB hub

A USB hub is a device that allows many USB [i] devices to be connected to a single ... 

s.
0x0A : USB communications device class used for modem Modem

A modem is a device [i] that modulates [i] an analog carrier [i] ... 

s, network card Network card

A network card, network adapter or NIC is a piece of computer hardware [i] designed to allow ... 

s, ISDN connections, Fax Fax

Fax is a telecommunications [i] technology used to transfer copies of documents, especially using affor ... 

.
0x0E : USB video device class, webcam Webcam

A web camera is a real-time [i] camera [i] whose images can be accessed using the World Wide Web [i], instant messaging [i] ... 

-like devices, motion image capture devices.
0xE0 : Wireless controllers, for example Bluetooth Bluetooth

Bluetooth is an industrial specification for wireless personal area network [i]s , also known as IEEE 802.15.1 [i] ... 

 dongles.
0xFF : Custom device class - used to establish that a device or interface does not support any standard device class and requires custom drivers.

USB signaling


USB signaling

Pin numbers :



Pin assignments
Pin Function
  1 VBUS
  2 D−
  3 D+
  4 GND
  Shell Shield Shielded cable

A shielded cable is an electrical cable [i] of one or more insulated [i] conductors [i] ... 


USB signals are transmitted on a twisted pair Twisted pair

... 

 of data cables, labelled D+ and D−. These collectively use half-duplex differential signaling to combat the effects of electromagnetic noise on longer lines. D+ and D− operate together; they are not separate simplex Simplex

In geometry [i], a simplex or n-simplex is an n-dimensional analogue of a triangle. ... 

 connections. Transmitted signal levels are 0.0–0.3 volts Volt

The volt is the SI [i] derived unit [i] of electric potential difference [i] or electromotive force [i] ... 

 for low and 2.8–3.6 volts Volt

The volt is the SI [i] derived unit [i] of electric potential difference [i] or electromotive force [i] ... 

 for high.
Transfer speed
USB supports three data rates.

  • A Low Speed rate of 1.5 Mbit/s  that is mostly used for Human Interface Devices such as keyboards, mice, and joysticks.
  • A Full Speed rate of 12 Mbit/s . Full Speed was the fastest rate before the USB 2.0 specification and many devices fall back to Full Speed. Full Speed devices divide the USB bandwidth between them in a first-come first-served basis and it is not uncommon to run out of bandwidth with several isochronous devices. All USB Hubs support Full Speed.
  • A Hi-Speed rate of 480 Mbit/s .


Though Hi-Speed devices are commonly referred to as "USB 2.0", not all USB 2.0 devices are Hi-Speed. A USB device should specify the speed it will use by correct labeling on the box it came in or sometimes on the device itself. The USB-IF certifies devices and provides licenses to use special marketing logos for either "Basic-Speed" or High-Speed after passing a compliancy test and paying a licensing fee. All devices are tested according to the latest spec, so recently-compliant Low Speed devices are also 2.0.

Hi-Speed devices should fall back to the slower data rate of Full Speed when plugged into a Full Speed hub. Hi-Speed hubs have a special function called the Transaction Translator that segregates Full Speed and Low Speed bus traffic from Hi-Speed traffic. The Transaction Translator in a Hi-Speed hub will function as a completely separate Full Speed bus to Full Speed and Low Speed devices attached to it. This segregation is for bandwidth only; bus rules about power and hub depth still apply.

A hub will have one or more Transaction Translators and there is no standard way to determine the number of transaction translators a hub may have. All low and full speed devices connected to one transaction translator will share the low/full speed bandwidth. This means that hubs can have dramatically different performance depending upon the number of transaction translators and the devices plugged into their ports. e.g. a hi-speed 7 port hub with only 1 transaction translator with 7 low/full speed devices plugged in, will act no differently than a USB 1.1 hub and all devices compete for the same low/full speed bandwidth. If the hub were to have a transaction translator for each of the seven ports, then each device would have all the full/low speed bandwidth available to it and would only compete for the hi-speed bandwidth, which is much greater.
Data encoding
The USB standard uses the NRZI Non-return-to-zero, inverted

Non return to zero, inverted is a method of mapping [i] a binary [i] signal [i] ... 

 system to encode data, and uses bit stuffing for logic 1 transmission more than five bits long .
NRZI encoding method does not change the signal for transmission of a logic 1, but the signal level is inverted for each change to a logic 0.
Mini-USB signaling



Mini USB connector pinout
Pin Function
1 VBUS
2 D−
3 D+
4 ID
5 Ground

Most of the pins of a Mini-USB connector are the same as those in a standard USB connector, except pin 4. Pin 4 is called "ID" and, in the Mini-A connector, is connected to ground, but in the Mini-B is not connected. This causes a device supporting USB On-The-Go  to initially act as host when connected to a USB Mini-A connector . The Mini-A connector also has an additional piece of plastic inside to prevent insertion into a slave-only device.

USB connectors


There are several types of USB connectors, and some have been added as the specification has progressed.

From the original USB specification:
  • Series “A” plug
  • Series “A” receptacle
  • Series “B” plug
  • Series “B” receptacle


Added in USB 2.0 specification:
  • Mini-B plug
  • Mini-B receptacle


Added in the On-The-Go Supplement to the USB 2.0 Specification:
  • Mini-A plug
  • Mini-A receptacle
  • Mini-AB receptacle


Adapters, also from the On-The-Go Supplement to the USB 2.0 Specification :
  • Mini-A receptacle to Standard-A plug
  • Standard-A receptacle to Mini-A plug


Cables have only plugs, and hosts and devices have only receptacles. Hosts have type-A receptacles and devices, if they have receptacles, have type-B. Type-A plugs only mate with type-A receptacles, and type-B with type-B. The On-the-Go supplement allows a product to be either host or device, with a Mini-AB receptacle that accepts either a Mini-A plug or a Mini-B plug. Mini-A, Mini-B, and Mini-AB connectors are identified easily by color. The plastic inside Mini-A plugs and receptacles is always white, that in Mini-B connectors black, and that in Mini-AB receptacles grey.

There is a limited set of cables allowed by the USB specification. Cables fall into two categories — “detachable” and “captive”. For purposes of the specification, “captive” includes any cable with a custom connector on the device end. Any captive cable has only a type-A plug, either Standard-A or Mini-A. Any detachable USB cable has one type-A connector and one type-B connector .

Detachable USB cable types:
  • Standard-A plug to Standard-B plug
  • Standard-A plug to Mini-B plug
  • Mini-A plug to Standard-B plug
  • Mini-A plug to Mini-B plug


Any cable with a receptacle or with two “A” or two “B” connectors is, by definition, not USB. However, many cable manufacturers make and sell USB-compatible extension cables with a Standard-A plug on one end and Standard-A receptacle on one end. Cables with two type A or even two type B plugs are availible from more specialist suppliers.

Note that only “full-speed” and “high-speed” devices use detachable cables. Compliant "Low-speed" devices only use captive cables because the low-speed specification does not allow for the electrical characteristics of standard detachable USB cables.

The Mini-A, Mini-B, and Mini-AB connectors are used for smaller devices such as PDAs, mobile phones or digital cameras. The Series “A” plug is approximately 4 by 12 mm, the Series “B” approximately 7 by 8 mm, and the Mini-A and Mini-B plugs approximately 3 by 7 mm.

The connectors which the USB committee specified were designed to support a number of USB's underlying goals, and to reflect lessons learned from the varied menagerie of connectors then in service. In particular:
  • The connectors are designed to be robust. Many previous connector designs were fragile, with pins or other delicate components prone to bending or breaking, even with the application of only very modest force. The electrical contacts in a USB connector are protected by an adjacent plastic tongue, and the entire connecting assembly is further protected by an enclosing metal sheath. As a result USB connectors can safely be handled, inserted, and removed, even by a small child. The encasing sheath and the tough moulded plug body mean that a connector can be dropped, stepped upon, even crushed or struck, all without damage; a considerable degree of force is needed to significantly damage a USB connector.
  • It is difficult to incorrectly attach a USB connector. Connectors cannot be plugged-in upside down, and it is clear from the appearance and kinesthetic sensation of making a connection when the plug and socket are correctly mated. However, it is not obvious at a glance to the inexperienced user which way round a connector goes, so it is often necessary to try both ways.
  • The connectors are particularly cheap to manufacture.
  • The connectors enforce the directed topology of a USB network. USB does not support cyclical networks, so the connectors from incompatible USB devices are themselves incompatible. Unlike other communications systems gender-changers are never used, making it difficult to create a cyclic USB network.
  • A moderate insertion/removal force is specified. USB cables and small USB devices are held in place by the gripping force from the receptacle . The force needed to make or break a connection is modest, allowing connections to be made in awkward circumstances or by those with motor disabilities.
  • The connector construction always ensures that the external sheath on the plug contacts with its counterpart in the receptacle before the four connectors within are connected. This sheath is typically connected to the system ground, allowing otherwise damaging static charges to be safely discharged by this route . This means of enclosure also means that there is a degree of protection from electromagnetic interference afforded to the USB signal while it travels through the mated connector pair . In addition, the power and common connections are made after the system ground but before the data connections. This type of staged make-break timing allows for safe hot-swapping and has long been common practice in the design of connectors in the aerospace industry.
  • The USB standard specifies relatively low tolerances for compliant USB connectors, intending to minimize incompatibilities in connectors produced by different vendors . Unlike most other connector standards, the USB spec also defines limits to the size of a connecting device in the area around its plug. This was done to avoid circumstances where a device complied with the connector specification but its large size blocked adjacent ports. Compliant devices must either fit within the size restrictions or support a compliant extension cable which does.


However, the mechanical layer has changed in some examples. For example, the IBM UltraPort is a proprietary USB connector located on the top of IBM's laptop Laptop

A laptop computer or simply laptop is a small mobile personal computer [i], usually weighing from ... 

 LCD Liquid crystal display

A liquid crystal [i] display is a thin, flat display device [i] made up of any number of color or monochrome [i] ... 

s. It uses a different mechanical connector while preserving the USB signaling and protocol. Other manufacturers of small items also developed their own small form factor connector, and a wide variety of these have appeared. For specification purposes, these devices were treated as having a captive cable.

An extension to USB called USB On-The-Go allows a single port to act as either a host or a device - chosen by which end of the cable plugs into the socket on the unit. Even after the cable is hooked up and the units are talking, the two units may "swap" ends under program control. This facility targets units such as PDA Personal digital assistant

Personal Digital Assistants are handheld device [i]s that were originally designed as personal organisers, but ... 

s where the USB link might connect to a PC's host port as a device in one instance, yet connect as a host itself to a keyboard and mouse device in another instance. USB On-The-Go has therefore defined two small form factor connectors, the Mini-A and Mini-B, and a universal socket , which should stop the proliferation of proprietary designs.

Wireless USB is a standard being developed to extend the USB standard while maintaining backwards compatibility with USB 1.1 and USB 2.0 on the protocol level.

The maximum length of a USB cable is 5 meters; greater lengths require hubs .

Power supply


Standard

The USB specification provides a 5 V supply on a single wire from which connected USB devices may draw power. The specification allows no more than 5.25 V and no less than 4.375 V.

Initially a device is only allowed to draw 100 mA. It may request more current from the upstream device in units of 100 mA up to a maximum of 500 mA. In practice, most ports will deliver the full 500 mA or more before shutting down power, even if the device hasn't requested it or even identified itself, but any device that behaves in this way is, by definition, not a USB device. If a device requires more power than is available, then it cannot operate until the user changes the network to supply the power required.

If a bus-powered hub is used, the devices downstream may only use a total of four units — 400 mA — of current. This limits compliant bus-powered hubs to 4 ports, among other things. Equipment requiring more than 500 mA, hubs with more than 4 ports and hubs with downstream devices using more than four 100 mA units total must provide their own power. The host operating system typically keeps track of the power requirements of the USB network and may warn the computer's operator when a given segment requires more power than is available.
Non-standard
A number of devices use this power supply without participating in a proper USB network. The typical example is a USB-powered reading light; fans, battery chargers and even miniature vacuum cleaners are also available. In most cases, these items contain no electronic circuitry, and thus are not proper USB devices at all. This can cause problems with some computers—the USB specification requires that devices connect in a low-power mode and state how much current they need, before switching, with the host's permission, into high-power mode.

Some USB devices draw more power than is permitted by the specification for a single port. This is a common requirement of external hard and optical disc drives and other devices with motors or lamps. Such devices can be used with an external power supply of adequate rating; some external hubs may, in practice, supply sufficient power. For portable devices where external power is not available, but not more than 1 A is required at 5 V, devices may have connectors to allow the use of two USB cables, doubling available power but reducing the number of USB ports available to other devices. Amongst others, a number of peripherals for IBM IBM

company_name = International Business Machines Corporation |
... 

 laptops are designed to use dual USB connections.

USB-powered devices attempting to draw large currents without requesting the power will not work with certain USB controllers, and will either disrupt other devices on the bus or fail to work themselves . Those problems with the abuse of the USB power supply have inspired a number of April Fool hoaxes, like the introduction of a USB-powered George Foreman George Foreman Grill

The George Foreman Lean Mean Fat-Reducing Grilling Machine is a popular indoor grill [i] promoted... 

 iGrill and a desktop USB Fondue Fondue

Fondue refers to several French [i] Swiss [i] communal dishes shared at the table in ... 

 Set .

There are also unique and unusual USB-powered devices, such as , , , to and . There are even pages that have a listing of their .

USB compared to other standards


Storage


USB implements connections to storage devices using a set of standards called the USB mass-storage device class USB mass storage device class

The USB mass storage device class is a set of computing communications protocols [i] defined by ... 

. This was initially intended for traditional magnetic and optical drives, but has been extended to support a wide variety of devices. USB is not intended to be a primary bus for a computer's internal storage: buses such as ATA AT Attachment

AT Attachment is a standard interface [i] for connecting storage [i] ... 

 , Serial ATA , and SCSI SCSI

SCSI stands for "Small Computer System Interface", and is a standard [i] interface ... 

 fulfill that role.

However, USB has one important advantage in making it possible to install and remove devices without opening the computer case, making it useful for external drives. Today, a number of manufacturers offer external, portable USB hard drives, or empty enclosures for drives, that offer performance comparable to internal drives. These external drives usually contain a translating device that interfaces a drive of conventional technology to a USB port. Functionally, the drive appears to the user just like another internal drive.

Human-interface devices


As of 2006, most PCs and motherboards have at least two USB ports, but still retain PS/2 PS/2 connector

[i] and a [[computer mouse|mouse]... 

 keyboard and mouse connectors. AT IBM Personal Computer/AT

The IBM Personal Computer/AT, more commonly known as the IBM AT and also sometimes called the P... 

 keyboard connectors are less frequently found. Motherboards for non-portable PCs usually have a number of USB 2.0 high-speed ports, some available at the back of the computer case, others requiring USB sockets on the front or rear of the computer to be connected via a cable to a header on the motherboard. Joysticks, keypads, tablets and other human-interface devices are also progressively migrating from MIDI Musical Instrument Digital Interface

Musical Instrument Digital Interface, or MIDI, is an industry-standard electronic communications protocol [i] ... 

, PC game port Game port

The game port is the traditional connection for video game [i] input devices on an x86 [i]-based PC [i] ... 

, and PS/2 connectors to USB. Mice and keyboards are frequently fitted with USB connectors, but are generally supplied with a small USB-to-PS/2 adaptor so that they can be used with either USB or PS/2 ports.

Apple computers have exclusively used USB for all wired mice and keyboards since January 1999. Apple wireless mice and keyboards have always used the Bluetooth Bluetooth

Bluetooth is an industrial specification for wireless personal area network [i]s , also known as IEEE 802.15.1 [i] ... 

 standard.

FireWire

USB was originally seen as a complement to FireWire FireWire

FireWire is the name given to the external wired interface specified by the IEEE [i] ... 

 , which was designed as a high-speed serial bus which could efficiently interconnect peripherals such as hard disks, audio interfaces, and video equipment. USB originally operated at a far lower data rate and used much simpler hardware, and was suitable for small peripherals such as keyboards and mice.

However, FireWire ports were more costly to implement than USB ports, in part due to their per-port license fee , and the more complex circuitry the controller required. As a result, they were rarely provided as standard equipment on computers other than Apple Macintosh computers , and peripheral manufacturers offered many more USB devices. The introduction of USB 2.0 Hi-Speed, with its widely advertised 480 Mbit/s signaling rate, convinced many consumers that FireWire was outdated . An example of how the popularity of USB displaced FireWire in a commercial device is the Apple iPod IPod

The iPod is a brand of portable media player [i]s designed and marketed by Apple Computer [i]. ... 

. It was originally released with a FireWire connector, which was eventually modified to allow for either USB or FireWire connections due to the lack of built-in FireWire ports on the non-Apple computers of the day. The iPod now relies solely on USB for data and only allows a FireWire connection to charge the battery.

Today, USB Hi-Speed is rapidly replacing FireWire in consumer products. FireWire retains its popularity in many professional settings, where it is used for audio and video transfer, and data storage.
Technical differences
The most significant technical differences between FireWire and USB include the following:

  • USB networks use a tiered-star topology, while FireWire networks use a repeater-based topology.


  • USB uses a "speak-when-spoken-to" protocol; peripherals cannot communicate with the host unless the host specifically requests communication. A FireWire device can communicate with any other node at any time, subject to network conditions.


  • A USB network relies on a single host at the top of the tree to control the network. In a FireWire network, any capable node can control the network.


These and other differences reflect the differing design goals of the two buses: USB was designed for simplicity and low cost, while FireWire was designed for high performance, particularly in time-sensitive applications such as audio and video.

USB 2.0 Hi-Speed vs FireWire

The signalling rate of USB 2.0 Hi-Speed mode is 480 megabits per second, while the signalling rate of FireWire FireWire

FireWire is the name given to the external wired interface specified by the IEEE [i] ... 

 400 is 393.216 Mbit/s . USB requires more host processing power than FireWire due to the need for the host to provide the arbitration and scheduling of transactions. USB transfer rates are theoretically higher than FireWire due to the need for FireWire devices to arbitrate for bus access. A single FireWire device may achieve a transfer rate for FireWire 400 as high as 41 MB/s. While for USB 2.0 the rate can theoretically be 55 MB/s . In a multi device environment FireWire rapidly loses ground to USB: FireWire's mixed speed networks and long connection chains dramatically affect its performance.

The peer to peer nature of FireWire requires devices to arbitrate, which means a FireWire bus must wait until a given signal has propagated to all devices on the bus. The more devices on the bus the lower the peak performance. Conversely, for USB the maximum timing model is fixed and is limited only by the host-device branch . Furthermore, the host-centric nature of USB allows the host to allocate more bandwidth to high priority devices instead of forcing them to compete for bandwidth as in Firewire.

Despite all this and despite USB's theoretically higher speed, in real life benchmarks the actual speed of FireWire hard drives nearly always beats USB 2 hard drives by a significant margin . In addition to this some operating systems take a conservative approach to scheduling transactions and limit the number of transfers per frame, reducing the maximum transfers from, say, the theoretical 13 per frame to 10 or 9.

However, on Bare Feats, the Mac only USB 2.0 vs. FireWire speed comparison, the poster notes the measured PC speed of USB 2.0 instead of Mac "The Windows PC implementation of USB 2.0 puts the Mac to shame. Today we tested the same USB 2.0 drive/enclosure on a Windows PC with built-in USB 2.0 on the motherboard, similar to Apple's approach. We measured 33MB/s READ and 27MB/s WRITE."

In 2003, FireWire was updated with the IEEE 1394b specification. This provides a new mode called S800, which operates at 786.432 Mbit/s. S800 requires a new physical layer, but S800 nodes can be connected to existing FireWire 1394a ports, just as USB Hi-Speed nodes will operate with older full-speed hosts. However, unlike USB Hi-Speed systems, which can change the speeds on each branch, a 1394a device on a 1394b system requires all devices to fall to 1394a speeds. IEEE 1394b also provides rates up to approximately 3.2 Gbit/s; however, the higher rates use special physical layers which are incompatible with 1394a devices.

Version history


USB

  • USB 1.0 FDR: Released in November 1995.


  • USB 1.0: Released in January 1996.


  • USB 1.1: Released in September 1998.


  • USB 2.0: Released in April 2000. The major feature of this standard was the addition of high-speed mode. This is the current revision.


  • USB 2.0: Revised in December 2002. Added three speed distinctions to this standard, allowing all devices to be USB 2.0 compliant even if they were previously considered only 1.1 or 1.0 compliant. This makes the backwards compatibility explicit, but it becomes more difficult to determine a device's throughput without seeing the symbol. As an example, a computer's port could be incapable of USB 2.0's hi-speed fast transfer rates, but still claim USB 2.0 compliance .

USB On-The-Go Supplement

  • USB On-The-Go Supplement 1.0: Released in December 2001.


  • USB On-The-Go Supplement 1.0a: Released in June 2003.


  • USB On-The-Go Supplement 1.2: Released in April 2006. This is the current revision.

Wireless USB

Released on . Wireless USB uses as the radio technology.

Extensions to USB

The PictBridge PictBridge

PictBridge is an industry standard [i] from the Camera & Imaging Products Association [i] for direct printing [i] ... 

 standard allows for interconnecting consumer imaging devices. It typically uses USB as the underlying communication layer.

Microsoft's Xbox Xbox

The Xbox is a sixth generation era [i] video game console [i] produced by Microsoft [i]... 

 game console Video game console

A video game console is an interactive entertainment [i] computer [i]. ... 

 uses standard USB 1.1 signalling in its controllers, but features a proprietary connector rather than the standard USB connector. Similarly IBM UltraPort uses standard USB signalling, but uses a proprietary connection format. Powered USB uses standard USB signalling with the addition of extra power lines for point-of-sale terminals.

The USB Implementers Forum is working on a wireless networking standard based on the USB protocol. Wireless USB is intended as a cable-replacement technology, and will use Ultra wideband wireless technology for data rates of up to 480 Mbit/s. Wireless USB is well suited to wireless connection of PC centric devices, just as Bluetooth Bluetooth

Bluetooth is an industrial specification for wireless personal area network [i]s , also known as IEEE 802.15.1 [i] ... 

 is now widely used for mobile phone centric personal networks . See http://www.usb.org/developers/wusb/ for more details.

A company called Fiberbyte has developed an open industry software specification called USB-inSync, which allows real-time control of multiple USB devices. The standard USB interface is asynchronous, which leads to poor control of temporal parameters. See http://www.fiberbyte.com/usbinsync.htm for more details.

Communication with USB devices

Communication between software and USB devices usually depends upon the Operating System and the language you choose . One exception is the , which provides a common library interface for use under multiple operating systems.

Communication from the Linux OS

  • General - http://www.linux-usb.org/
  • Java - The project provides a Free Software Java API for USB, supporting applications using Java host-side software to drive USB devices. This API is limited to Linux.

Communication from the Mac OS

  • General - Apple Apple Computer

    Apple Computer, Inc. is an American [i] computer [i] technology [i] corporation [i] with ... 

     has
  • Java - No info is available on this combination.

Communication from the Solaris Operating Environment

  • General - Sun Sun Microsystems

    company_name = Sun Microsystems |

... 

 has
  • Java - No info is available on this combination.

Communication from the Windows OS

  • General - has commercial C++ drivers for USB communication on Windows from C & C++. Their COM interface allows for Delphi, C# and VB development. Java development is possible via JNI.
  • General - is a Windows port of the multi-platform and also allows writing USB drivers in user space.
  • Java - started work on this combination in 2003. The usb.windows package has a partial Windows implementation of a usb.core.Host object, bootstrapping support, and other classes leveraging Windows USB support. It appears that no work has been done on this package since 2003, so it may be abandoned.
  • MS-DOS Applications - provides instructions for connecting an MS-Dos application to a printer that uses a USB Port on Windows 2000. The techniques also apply to computers running the Windows XP operating system.

Communication from the Amiga OS

  • General - are commercial drivers for USB

Other communication options

If your Operating System and language combination is not supported, another option is a USB to RS-232 bridge. Chip provides virtual COM drivers with its chips, to make the USB device look to the host software like a COM port. Alternatively, Microchip offers COM port for their range of USB PIC microcontroller PIC microcontroller

PIC is a family of RISC [i] microcontroller [i]s made by Microchip Technology [i]... 

s.

Dedicated applications

USB has now been seen on Stereo system Stereophonic sound

Stereophonic sound, commonly called stereo, is the reproduction of sound, using more than one inde... 

s and other devices with embedded system Embedded system

An embedded system is a special-purpose system in which the computer [i] is completely encapsulated by t ... 

s to promote the backing up of files without the need for an expensive computer .

See also

  • U3 U3

    U3 LLC [i]. is a joint venture that is backed by Sandisk [i] and M-Systems. ... 

  • USB Flash Drive USB flash drive

    USB flash drives are NAND [i]-type flash memory [i] data storage device [i]s ... 

  • USB Hub USB hub

    A USB hub is a device that allows many USB [i] devices to be connected to a single ... 

  • USB Implementers Forum
  • USB streaming


For other buses, see:
  • ACCESS.bus
  • FireWire FireWire

    FireWire is the name given to the external wired interface specified by the IEEE [i] ... 

  • PCMCIA PC card

    In computing [i], PC card is the form factor [i] of a peripheral interface designed for laptop [i] comp... 

  • Peripheral Component Interconnect Peripheral Component Interconnect

    ... 

  • Serial cable Serial cable

    A serial cable is a cable [i] that can be used to transfer information between two devices. ... 

  • Wi-Fi Wi-Fi

    Wi-Fi, also, WiFi, Wi-fi or wifi, is a brand originally licensed by the Wi-Fi Alliance [i] ... 



External links


Official

  • , including


Technical Information

  • for developers of USB devices and hosts
  • Allows to share and access your USB devices over network or Internet.
  • - a primer for developers
  • - Programming Toolkit for USB Developers
  • - Short, simple description of USB with good pictures of cable breakdown.

DOS



Linux

  • , containing much technical information and documentation
  • , which contains much more comprehensive information than the Linux USB Project
  • .

Other

  • Speed comparison using Apple drivers for USB 2.0






Categories: