![]() |
|||||||||||||
|
Universal Serial Bus |
| USB Universal Serial Bus |
|
Original USB Logo |
|
| Year created: | January 1996 |
|
|
|
| Width: | 1 bit |
| Number of devices: | 127 per host controller |
| Capacity | 12 or 480 Mbit/s (1.5 to 60 MByte/s) |
| Style: | Serial |
| Hotplugging? | Yes |
| External? | Yes |
In information technology, Universal Serial Bus (USB) is a serial bus standard to interface devices. USB was designed to allow many peripherals to be connected using a single standardized interface socket and to improve the plug-and-play capabilities by allowing devices to be connected and disconnected without rebooting the computer (hot swapping). Other convenient features include providing power to low-consumption devices without the need for an external power supply and allowing many devices to be used without requiring manufacturer specific, individual device drivers to be installed.
USB is intended to help retire all legacy varieties of serial and parallel ports. USB can connect computer peripherals such as computer mouse, keyboards, PDAs, gamepads and joysticks, scanners, digital cameras, printers, personal media players, and flash drives. For many of those devices USB has become the standard connection method. USB was originally designed for personal computers, but it has become commonplace on other devices such as PDAs and video game consoles. As of 2008, there are about 2 billion USB devices in the world.[1]
The design of USB is standardized by the USB Implementers Forum (USB-IF), an industry standards body incorporating leading companies from the computer and electronics industries. Notable members have included Agere (now merged with LSI Corporation), Apple Inc., Hewlett-Packard, Intel, NEC, and Microsoft.
Contents |
The USB 1.0 specification model was introduced in November 1995. USB was promoted by Intel (UHCI and open software stack), Microsoft (Windows software stack), Philips (Hub, USB-Audio), and US Robotics. Originally USB was intended to replace the multitude of connectors at the back of PCs, as well as to simplify software configuration of communication devices.
The original Apple "Bondi blue" iMac G3, introduced 6 May 1998, was the first computer to offer USB ports as standard [2], including the connector for its new keyboard and mouse.[3] USB 1.1 came out in September 1998 to help rectify the adoption problems that occurred with earlier iterations of USB.[4]
As of 2008, the USB specification is at version 2.0 (with revisions). Hewlett-Packard, Intel, Lucent (now Alcatel-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. Equipment conforming with any version of the standard will also work with devices designed to any previous specification (known as backward compatibility).
Smaller USB plugs and receptacles for use in handheld and mobile devices, called Mini-B, were added to USB specification in the first engineering change notice. A new variant of smaller USB plugs and receptacles, Micro-USB, was announced by the USB Implementers Forum on January 4, 2007.[5]
A USB system has an asymmetric design, consisting of a host, a multitude of downstream USB ports, and multiple peripheral devices connected in a tiered-star topology. Additional USB hubs may be included in the tiers, allowing branching into a tree structure, subject to a limit of 5 levels of tiers. USB host may have multiple host controllers and each host controller may provide one or more USB ports. Up to 127 devices, including the hub devices, may be connected to a single host controller.
USB devices are linked in series through hubs. There always exists one hub known as the root hub, which is built-in to the host controller. So-called "sharing hubs", which allow multiple computers to access the same peripheral device(s), also exist and work by either switching access between PCs automatically or manually. They are popular in small-office environments. In network terms, they converge rather than diverge branches.
A single physical USB device may consist of several logical sub-devices that are referred to as device functions, because each individual device may provide several functions, such as a webcam (video device function) with a built-in microphone (audio device function).
USB device communication is based on pipes (logical channels). Pipes are connections from the host controller to a logical entity on the device named an endpoint. The term endpoint is also occasionally used to refer to the pipe. A USB device can have up to 32 active pipes, 16 into the host controller and 16 out of the controller. Each endpoint can transfer data in one direction only, either into or out of the device, so each pipe is uni-directional. Endpoints are grouped into interfaces and each interface is associated with a single device function. An exception to this is endpoint zero, which is used for device configuration and which is not associated with any interface.
When a new USB device is connected to a USB host, the USB device enumeration process is started. The enumeration process first sends a reset signal to the USB device. The speed of the USB device is determined during the reset signaling. After reset, USB device setup information is read from the device by the host and the device is assigned a unique host-controller-specific 7-bit address. If the device is supported by the host, the device drivers needed for communicating with the device are loaded and the device is set to configured state. If the USB host is restarted, the enumeration process is repeated for all connected devices.
The host controller polls the bus for traffic, usually in a round-robin fashion, so no USB device can transfer any data on the bus without an explicit request from the host controller.
The computer hardware that contains the host controller and the root hub has an interface geared toward the programmer which is called Host Controller Device (HCD) and is defined by the hardware implementer.
In the version 1.x age, there were two competing HCD implementations, Open Host Controller Interface (OHCI) and Universal Host Controller Interface (UHCI). OHCI was developed by Compaq, Microsoft and National Semiconductor; UHCI was by Intel.
VIA Technologies licensed the UHCI standard from Intel; all other chipset implementers use OHCI. UHCI is more software-driven, making UHCI slightly more processor-intensive than OHCI but cheaper to implement. The dueling implementations forced operating system vendors and hardware vendors to develop and test on both implementations, which increased cost.
HCD standards are out of the USB specification's scope, and the USB specification does not specify any HCD interfaces. In other words, USB defines the format of data transfer through the port, but not the system by which the USB hardware communicates with the computer it sits in.
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 Enhanced Host Controller Interface (EHCI). Only EHCI can support hi-speed (480 Mbit/s) transfers. Most of PCI-based EHCI controllers contain other HCD implementations called 'companion host controller' to support Full Speed (12 Mbit/s) and 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. Device classes are decided upon by the Device Working Group of the USB Implementers Forum.
Device classes include:[6]
| Class | Usage | Description | Examples |
|---|---|---|---|
| 00h | Device | Unspecifiedclass 0 | (Device class is unspecified. Interface descriptors are used for determining the required drivers.) |
| 01h | Interface | Audio | speaker, microphone, sound card |
| 02h | Both | Communications and CDC Control | ethernet adapter, modem, serial port adapter |
| 03h | Interface | Human Interface Device (HID) | keyboard, mouse, joystick |
| 05h | Interface | Physical Interface Device (PID) | force feedback joystick |
| 06h | Interface | Image | Digital Camera (Most cameras function as Mass Storage for direct access to storage media). |
| 07h | Interface | Printer | laser printer, Inkjet printer |
| 08h | Interface | Mass Storage | USB flash drive, memory card reader, digital audio player, external drives |
| 09h | Device | USB hub | full speed hub, hi-speed hub |
| 0Ah | Interface | CDC-Data | (This class is used together with class 02h - Communications and CDC Control.) |
| 0Bh | Interface | Smart Card | USB smart card reader |
| 0Dh | Interface | Content Security | - |
| 0Eh | Interface | Video | Webcam |
| 0Fh | Interface | Personal Healthcare | - |
| DCh | Both | Diagnostic Device | USB compliance testing device |
| E0h | Interface | Wireless Controller | Wi-Fi adapter, Bluetooth adapter |
| EFh | Both | Miscellaneous | ActiveSync device |
| FEh | Interface | Application Specific | IrDA Bridge |
| FFh | Both | Vendor Specific | (This class code indicates that the device needs vendor specific drivers.) |
Note class 0: Use class information in the Interface Descriptors. This base class is defined to be used in Device Descriptors to indicate that class information should be determined from the Interface Descriptors in the device.
USB implements connections to storage devices using a set of standards called the USB mass storage device class (referred to as MSC or UMS). This was initially intended for traditional magnetic and optical drives, but has been extended to support a wide variety of devices, particularly flash drives. This generality is because many systems can be controlled with the familiar idiom of file manipulation within directories (The process of making a novel device look like a familiar device is also known as extension).
Though most newer computers are capable of booting off USB Mass Storage devices, USB is not intended to be a primary bus for a computer's internal storage: buses such as ATA (IDE), Serial ATA (SATA), and SCSI fulfill that role. However, USB has one important advantage in that it is possible to install and remove devices without opening the computer case, making it useful for external drives. Originally conceived and still used today for optical storage devices (CD-RW drives, DVD drives, etc.), 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 (IDE, ATA, SATA, ATAPI, or even SCSI) to a USB port. Functionally, the drive appears to the user just like another internal drive. Other competing standards that allow for external connectivity are eSATA and FireWire.
Mice and keyboards are frequently fitted with USB connectors, but because most PC motherboards still retain PS/2 connectors for the keyboard and mouse as of 2007, they are often supplied with a small USB-to-PS/2 adaptor, allowing usage with either USB or PS/2 interface. There is no logic inside these adaptors: they make use of the fact that such HID interfaces are equipped with controllers that are capable of serving both the USB and the PS/2 protocol, and automatically detect which type of port they are plugged into. Joysticks, keypads, tablets and other human-interface devices are also progressively migrating from MIDI, PC game port, and PS/2 connectors to USB.
Apple Macintosh computers have been using USB exclusively for all external wired mice and keyboards since January 1999 (Powerbooks used ADB keyboards until 2005citation needed). The original iMac raised public awareness of USB considerably in August 1998, as it discarded legacy ports to use only USB. PCs had USB ports prior to the iMac's introduction, but they were included with a full complement of traditional ports which limited USB's adoption. The iMac's influence can be seen in the number of USB peripherals with matching translucent, colored plastic enclosures that were available in the late '90s and early '00s.
USB supports three data rates:
Experimental data rate:
USB signals are transmitted on a twisted pair data cable with 90Ω ±15% impedance,[7] labeled D+ and D−. These collectively use half-duplex differential signaling to combat the effects of electromagnetic noise on longer lines. D+ and D− usually operate together; they are not separate simplex connections. Transmitted signal levels are 0.0–0.3 volts for low and 2.8–3.6 volts for high in Full Speed and Low Speed modes, (and ±400mV in High Speed (HS) mode) this phrase is ambiguous. In FS mode the cable wires are not terminated, but the HS mode has termination of 45Ω to ground, or 90Ω differential to match the data cable impedance.
USB uses a special protocol called "chirping" to negotiate the High-Speed mode. In simplified terms, a device that is HS capable always connects as an FS device first, but after receiving a USB RESET (both D+ and D- are driven LOW by host) it tries to pull the D- line high. If the host (or hub) is also HS capable, it returns alternating signals on D- and D+ lines letting the device know that the tier will operate at High Speed.
Clock tolerance is 480.00 Mbit/s ±500ppm, 12.000 Mbit/s ±2500ppm, 1.50 Mbit/s ±15000ppm.
The USB standard uses the NRZI system to encode data, and uses "bit stuffing" by always injecting one artificial "zero" bit if the stream of data contains six consecutive "ones" before converting the bit stream to NRZI.
Though Hi-Speed devices are commonly referred to as "USB 2.0" and advertised as "up to 480 Mbit/s", not all USB 2.0 devices are Hi-Speed. The USB-IF certifies devices and provides licenses to use special marketing logos for either "Basic-Speed" (low and full) or Hi-Speed after passing a compliance 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 devices.
The actual throughput currently (2006) attained with real devices is about two thirds of the maximum theoretical bulk data transfer rate of 53.248 MB/s. Typical hi-speed USB devices operate at lower speeds, often about 3 MB/s overall, sometimes up to 10-20 MB/s.[8]
Due to the complexities of the USB protocol, USB protocol analyzers are invaluable tools to people developing USB devices. USB analyzers are able to capture the data on USB and display information from low-level bus states to high-level data packets and class-level information.
The connectors specified by the USB committee 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.
There are several types of USB connectors, and some have been added as the specification has progressed. The original USB specification detailed Standard-A and Standard-B plugs and receptacles. The first engineering change notice to the USB 2.0 specification added Mini-B plugs and receptacles. The data slots in the A - Plug are actually farther in the plug than the outside power wires to prevent data errors by powering the device first, then transferring data.
The Standard-A type of USB connectors takes on the appearance of flattened rectangles that plugs into downstream-port sockets on the USB host or a hub. This kind of connector is most frequently seen on cables that are permanently attached to a device, such as one on a cable that connects a keyboard or mouse to the computer. Standard-B connectors looks square with beveled corners, and plugs into upstream sockets on devices and hubs. The Standard-B connector is mainly used only for the device end of a removable cable, such as between a hub and a printer. This two-connector scheme prevents a user from accidentally creating a loop. [9]
The Enhanced mini-USB, Mini-B, Micro-A, Micro-B, and Micro-AB connectors are used for smaller devices such as PDAs, mobile phones or digital cameras. The Standard-A plug is approximately 4 by 12 mm, the Standard-B approximately 7 by 8 mm, and the Micro-A and Micro-B plugs approximately 2 by 7 mm.
Micro-USB is a further connector, that was announced by the USB-IF on January 4, 2007.[10] It is intended to replace the Mini-USB plugs used in many new smartphones and Personal digital assistants. This Micro-USB plug is rated for 10,000 connect-disconnect cycles. It is about half the height of the mini-USB connector, but features a similar width. In the Universal Serial Bus Micro-USB Cables and Connectors Specification, details have been laid down for Micro-A plugs, Micro-AB receptacles, and Micro-B plugs and receptacles, along with a Standard-A receptacle to Micro-A plug adapter. The carrier led group OMTP have recently endorsed micro-USB as the standard connector for data and power on mobile devices.[11]
Microsoft's original Xbox game console uses standard USB 1.1 signaling in its controllers and memory cards, but features proprietary connectors and ports. Similarly, IBM UltraPort uses standard USB signaling, but via a proprietary connection format. American Power Conversion uses USB signaling and HID device class on its uninterruptible power supplies using 10P10C connectors. HTC, a company which makes Windows Mobile-based Communicators, has a proprietary connector called HTC ExtUSB, which combines mini-USB with audio input and output. Nokia includes a USB connection as part of the Pop-Port connector on their mobile phones. The second-generation iPod Shuffle uses a TRS connector to carry USB, audio, or power signals. Many digital cameras have a tiny 8 pin connector that combines USB with video and audio out.
| Pin | Name | Cable color | Description |
|---|---|---|---|
| 1 | VCC | Red | +5V |
| 2 | D− | White | Data − |
| 3 | D+ | Green | Data + |
| 4 | GND | Black | Ground |
The maximum length of a standard USB cable is 5.0 meters (16.4 ft). The primary reason for this limit is the maximum allowed round-trip delay of about 1500 ns. If a USB device does not answer to host commands within the allowed time, the host considers the command to be lost. When USB device response time, delays from using the maximum number of hubs and delays from cables connecting the hubs, host and device are summed, the maximum delay caused by a single cable turns out to be 26 ns.[12] The USB 2.0 specification states that the cable delay must be less than 5.2 ns per meter, which means that maximum length USB cable is 5 meters long. However, this is also very close to the maximum possible length when using a standard copper cable.
| Pin | Name | Color | Description |
|---|---|---|---|
| 1 | VCC | Red | +5 V |
| 2 | D- | White | Data - |
| 3 | D+ | Green | Data + |
| 4 | ID | none | permits distinction of
Micro-A- and Micro-B-Plug Type A: connected to Ground Type B: not connected |
| 5 | GND | Black | Signal Ground |
The data cables are a twisted pair to reduce noise and crosstalk.
Although a single cable is limited to 5 meters, the USB specification permits up to five USB hubs in a long chain of cables and hubs. Consequently the maximum possible signalling distance is 30 meters, using six 5-meter cables and five hubs. In actual use, the last hub is a more convenient endpoint since some USB devices include built-in cables intended to directly connect to a hub, setting the maximum useful signalling distance at 25 meters.
Because USB is able to provide power for additional devices connected to the bus, a special type of USB extender cable was created which consists of a miniature one-port USB hub molded into one end of a 5 meter cable. These mini-hubs are fully self-contained within the cable, requiring no separate bulky hub device, and are as simple to use as plugging cables together, with each hub drawing power through all the previous single-port hubs in the chain. The bus power is limited however, so the most practical application is to use four single-port hub extender cables, one plain 5 meter cable, and then a powered multiport hub at the very end to support multiple additional USB devices.
The USB specification provides a 5 V supply on a single wire from which connected USB devices may draw power. The specification provides for no more than 5.25 V and no less than 4.75 V (5 V±5%) between the positive and negative bus power lines.[13] Initially, a device is only allowed to draw 100 mA. It may request more current from the upstream device in units of 2 mA up to a maximum of 500 mA.
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. 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.
On-The-Go and Battery Charging Specification both add new powering modes to the USB specification. The latter specification allows USB devices to draw up to 1.5 A from hubs and hosts that follow the Battery Charging Specification.
As of June 14, 2007, all new mobile phones applying for a license in China are required to use the USB port as a power port.[14][15]
In September, 2007 the Open Mobile Terminal Platform—a forum dominated by mobile network operators but including manufacturers such as Nokia, Samsung, Motorola, Sony Ericsson and LG—announced that its members had agreed on micro-USB as the future common connector for mobile devices.[16][17]
A number of USB devices require more power than is permitted by the specifications 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, which is allowed by the standard, or by means of a dual input USB cable, one input of which is used for power and data transfer, the other solely for power, which makes the device a non-standard USB device. Some external hubs may, in practice, supply more power to USB devices than required by the specification but a standard compliant device must not depend on this.
Some non-standard USB devices use the 5 V power supply without participating in a proper USB network. These are usually referred to as USB decorations. The typical example is a USB-powered reading light; fans, mug heaters, battery chargers (particularly for mobile telephones) and even miniature vacuum cleaners are available. In most cases, these items contain no digitally based 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 (100 mA maximum) and state how much current they need, before switching, with the host's permission, into high-power mode.
In addition to limiting the total average power used by the device, the USB specification limits the inrush current (to charge decoupling and bulk capacitors) when the device is first connected; otherwise, connecting a device could cause glitches in the host's internal power. Also, USB devices are required to automatically enter ultra low-power suspend mode when the USB host is suspended; many USB hosts do not cut off the power supply to USB devices when they are suspended since resuming from the suspended state would become a lot more complicated if they did.
There are also devices at the host end that do not support negotiation, such as battery packs that can power USB powered devices; some provide power, while others pass through the data lines to a host PC. USB Power adapters convert utility power and/or power from a car's electrical system to run attached devices. Some of these devices can supply up to 1 A of current. Without negotiation, the powered USB device is unable to inquire if it is allowed to draw 100 mA, 500 mA, or 1 A.
The Apple SuperDrive uses a non-standard extension to USB to negotiate with the MacBook Air to draw 1.5 A from the USB port.[18] Due to the proprietary protocol, the SuperDrive only functions when connected directly to the Air, and cannot be operated with an external supply or through a USB hub, even if the hub can source the current specified on the package.[19]
PoweredUSB uses standard USB signaling with the addition of extra power lines. It uses 4 additional pins to supply up to 6A at either 5V, 12V, or 24V (depending on keying) to peripheral devices. The wires and contacts on the USB portion have been upgraded to support higher current on the 5V line, as well. This is commonly used in retail systems and provides enough power to operate stationary barcode scanners, printers, pin pads, signature capture devices, etc. This standard was developed by IBM, NCR, and FCI/Berg. It is essentially two connectors stacked such that the bottom connector accepts a standard USB plug and the top connector takes a power connector.
USB was originally seen as a complement to FireWire (IEEE 1394), 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.
The most significant technical differences between FireWire and USB include the following:
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. Although similar in theoretical maximum transfer rate, in real-world use, especially for high-bandwidth use such as external hard-drives, FireWire 400 generally, but not always, has a significantly higher throughput than USB 2.0 Hi-Speed.[20][21][22][23] The newer FireWire 800 standard is twice as fast as FireWire 400 and outperforms USB 2.0 Hi-Speed both theoretically and practically.[24] The chipset and drivers used to implement USB and Firewire have a crucial impact on how much of bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals.[25] Audio peripherals in particular are affected by the USB driver implementation.citation needed
One reason USB supplanted FireWire, and became far more widespread, is cost. FireWire is more expensive to implement, resulting in more expensive hardware.
On September 18, 2007, Pat Gelsinger demonstrated USB 3.0 at the Intel Developer Forum. USB 3.0 is targeted at ten times the current bandwidth, reaching roughly 4.8 Gbit/s (600MB/s) by utilizing two additional high-speed differential pairs for "Superspeed" mode, and with the possibility for optical interconnect.[26][27] The USB 3.0 specification is planned to be released early in the second half of 2008,[28] and commercial products are expected to arrive in 2009 or 2010.[29] USB 3.0 is designed to be backwards-compatible with USB 2.0 and USB 1.1 and employs more efficient protocols to conserve power.[26]
The PictBridge standard allows for interconnecting consumer imaging devices. It typically uses USB as the underlying communication layer.
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 is now widely used for mobile phone centric personal networks (at much lower data rates).