Universal Serial Bus (USB) is an industry standard developed in the mid-1990s that defines the cables, connectors and communications protocols used in a bus for connection, communication and power supply between computers and electronic devices.
USB is not a true bus, meaning only the root hub sees the entire
electrical communications. Or, there is no method to monitor upstream
communications from a down stream device.
USB was designed to standardize the connection of computer peripherals, such as keyboards, pointing devices, digital cameras, printers, portable media players, disk drives and network adapters to personal computers, both to communicate and to supply electric power. It has become commonplace on other devices, such as smartphones, PDAs and video game consoles.
USB has effectively replaced a variety of earlier interfaces, such as serial and parallel ports, as well as separate power chargers for portable devices.
As of 2008, approximately 6 billion USB ports and interfaces were in
the global marketplace, and about 2 billion were being sold each year.
History
The basic USB
trident logo; each released version has a specific logo variant
[clarification needed]
A group of seven companies began development on USB in 1994: Compaq, DEC, IBM, Intel, Microsoft, NEC and Nortel.
The goal was to make it fundamentally easier to connect external
devices to PCs by replacing the multitude of connectors at the back of
PCs, addressing the usability issues of existing interfaces, and
simplifying software configuration of all devices connected to USB, as
well as permitting greater data rates for external devices. The first
silicon for USB was made by Intel in 1995.
The original USB 1.0 specification, which was introduced in January 1996, defined data transfer rates of 1.5 Mbit/s "Low Speed" and 12 Mbit/s "Full Speed".
The first widely used version of USB was 1.1, which was released in
September 1998. The 12 Mbit/s data rate was intended for higher-speed
devices such as disk drives, and the lower 1.5 Mbit/s rate for low data
rate devices such as joysticks.
A USB Standard Type A plug, the most common USB plug
The USB 2.0 specification was released in April 2000 and was ratified by the USB Implementers Forum (USB-IF) at the end of 2001. Hewlett-Packard, Intel, Lucent Technologies (now Alcatel-Lucent), NEC and Philips
jointly led the initiative to develop a higher data transfer rate, with
the resulting specification achieving 480 Mbit/s, a fortyfold increase
over the original USB 1.1 specification.
The USB 3.0 specification was published on 12 November 2008. Its main
goals were to increase the data transfer rate (up to 5 Gbit/s), to
decrease power consumption, to increase power output, and to be
backwards-compatible with USB 2.0. USB 3.0 includes a new, higher speed bus called SuperSpeed in parallel with the USB 2.0 bus. For this reason, the new version is also called SuperSpeed.
The first USB 3.0 equipped devices were presented in January 2010.
Version history
A PCI USB 2.0 card for a computer motherboard
Prereleases
The USB standard evolved through several versions before its official release in 1995:
- USB 0.7: Released in November 1994.
- USB 0.8: Released in December 1994.
- USB 0.9: Released in April 1995.
- USB 0.99: Released in August 1995.
- USB 1.0 Release Candidate: Released in November 1995.
USB 1.0
- USB 1.0: Released in January 1996.
Specified data rates of 1.5 Mbit/s (Low-Bandwidth) and 12 Mbit/s (Full-Bandwidth).
Does not allow for extension cables or pass-through monitors (due to
timing and power limitations). Few such devices actually made it to
market.
- USB 1.1: Released in August 1998.
Fixed problems identified in 1.0, mostly relating to hubs. Earliest revision to be widely adopted.
USB 2.0

- USB 2.0: Released in April 2000. Added higher maximum bandwidth of 480 Mbit/s (60 MB/s) (now called "Hi-Speed").
Further modifications to the USB specification have been done via
Engineering Change Notices (ECN). The most important of these ECNs are
included into the USB 2.0 specification package available from USB.org.
- Mini-A and Mini-B Connector ECN: Released in October 2000.
Specifications for Mini-A and B plug and receptacle. Also receptacle
that accepts both plugs for On-The-Go. These should not be confused with
Micro-B plug and receptacle.
- Errata as of December 2000: Released in December 2000.
- Pull-up/Pull-down Resistors ECN: Released in May 2002.
- Errata as of May 2002: Released in May 2002.
- Interface Associations ECN: Released in May 2003.
New standard descriptor was added that allows multiple interfaces to be associated with a single device function.
- Rounded Chamfer ECN: Released in October 2003.
A recommended, compatible change to Mini-B plugs that results in longer lasting connectors.
- Unicode ECN: Released in February 2005.
This ECN specifies that strings are encoded using UTF-16LE. USB 2.0 did specify that Unicode is to be used but it did not specify the encoding.
- Inter-Chip USB Supplement: Released in March 2006.
- On-The-Go Supplement 1.3: Released in December 2006.
USB On-The-Go
makes it possible for two USB devices to communicate with each other
without requiring a separate USB host. In practice, one of the USB
devices acts as a host for the other device.
- Battery Charging Specification 1.1: Released in March 2007 (Updated 15 Apr 2009).
Adds support for dedicated chargers (power supplies with USB
connectors), host chargers (USB hosts that can act as chargers) and the
No Dead Battery provision which allows devices to temporarily draw
100 mA current after they have been attached. If a USB device is
connected to dedicated charger, maximum current drawn by the device may
be as high as 1.8 A. (Note that this document is not distributed with
USB 2.0 specification package only USB 3.0 and USB On-The-Go.)
- Micro-USB Cables and Connectors Specification 1.01: Released in April 2007.
- Link Power Management Addendum ECN: Released in July 2007.
This adds a new power state between enabled and suspended states. Device
in this state is not required to reduce its power consumption. However,
switching between enabled and sleep states is much faster than
switching between enabled and suspended states, which allows devices to
sleep while idle.
- Battery Charging Specification 1.2. Released in December 2010.
Several changes and increasing limits including allowing 1.5A on
charging ports for unconfigured devices, allowing High Speed
communication while having a current up to 1.5A and allowing a maximum
current of 5A.
USB 3.0
Main article: USB 3.0
- USB 3.0 was released in November 2008. The standard specifies
a maximum transmission speed of up to 5 Gbit/s (625 MB/s), which is
more than 10 times as fast as USB 2.0 (480 Mbit/s, or 60 MB/s), although
this speed is typically only achieved using powerful professional grade
or developmental equipment. USB 3.0 reduces the time required for data
transmission, reduces power consumption, and is backward compatible with
USB 2.0. The USB 3.0 Promoter Group announced on 17 November 2008 that
the specification of version 3.0 had been completed and had made the
transition to the USB Implementers Forum (USB-IF), the managing body of
USB specifications.This move effectively opened the specification to hardware developers
for implementation in products. The new "SuperSpeed" bus provides a
fourth transfer mode at 5.0 Gbit/s, in addition to the modes supported
by earlier versions. The raw throughput is 4 Gbit/s (using 8b/10b encoding),
and the specification considers it reasonable to achieve around 3.2
Gbit/s (0.4 GB/s or 400 MB/s), which should increase with future
hardware advances. Communication is full-duplex during SuperSpeed; in the modes supported previously, by 1.x and 2.0), communication is half-duplex, with direction controlled by the host.
- Battery Charging Specification 1.2.
released in December 2010. Several changes and increasing limits
including allowing 1.5A on charging ports for unconfigured devices,
allowing High Speed communication while supplying a current up to 1.5A,
and allowing a maximum current of 5A.
System design
The design architecture of USB is asymmetrical in its topology, 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
with up to five tier levels. A USB host may implement multiple host
controllers and each host controller may provide one or more USB ports.
Up to 127 devices, including hub devices if present, may be connected to
a single host controller.
USB devices are linked in series through hubs. One hub is known as the root hub which is built into the host controller.
A physical USB device may consist of several logical sub-devices that are referred to as
device functions. A single device may provide several functions, for example, a webcam (video device function) with a built-in microphone (audio device function). This kind of device is called
composite device. An alternative for this is
compound device
in which each logical device is assigned a distinctive address by the
host and all logical devices are connected to a built-in hub to which
the physical USB wire is connected.
USB endpoints actually reside on the connected device: the channels to the host are referred to as pipes
USB device communication is based on
pipes (logical channels). A pipe is a connection from the host controller to a logical entity, found on a device, and named an
endpoint.
Because pipes correspond 1-to-1 to endpoints, the terms are sometimes
used interchangeably. A USB device can have up to 32 endpoints: 16 into
the host controller and 16 out of the host controller. The USB standard
reserves one endpoint of each type, leaving a theoretical maximum of 30
for normal use. USB devices seldom have this many endpoints.
There are two types of pipes: stream and message pipes depending on the type of data transfer.
- isochronous transfers: at some guaranteed data rate (often,
but not necessarily, as fast as possible) but with possible data loss
(e.g., realtime audio or video).
- interrupt transfers: devices that need guaranteed quick responses (bounded latency) (e.g., pointing devices and keyboards).
- bulk transfers: large sporadic transfers using all remaining
available bandwidth, but with no guarantees on bandwidth or latency
(e.g., file transfers).
- control transfers: typically used for short, simple commands
to the device, and a status response, used, for example, by the bus
control pipe number 0.
A stream pipe is a uni-directional pipe connected to a uni-directional endpoint that transfers data using an
isochronous,
interrupt, or
bulk transfer. A message pipe is a bi-directional pipe connected to a bi-directional endpoint that is exclusively used for
control
data flow. An endpoint is built into the USB device by the manufacturer
and therefore exists permanently. An endpoint of a pipe is addressable
with a tuple
(device_address, endpoint_number)
as specified in a TOKEN packet that the host sends when it wants to
start a data transfer session. If the direction of the data transfer is
from the host to the endpoint, an OUT packet (a specialization of a
TOKEN packet) having the desired device address and endpoint number is
sent by the host. If the direction of the data transfer is from the
device to the host, the host sends an IN packet instead. If the
destination endpoint is a uni-directional endpoint whose manufacturer's
designated direction does not match the TOKEN packet (e.g., the
manufacturer's designated direction is IN while the TOKEN packet is an
OUT packet), the TOKEN packet will be ignored. Otherwise, it will be
accepted and the data transaction can start. A bi-directional endpoint,
on the other hand, accepts both IN and OUT packets.
Two USB standard A receptacles on the front of a computer
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. A single device function composed of
independently controlled interfaces is called a
composite device. A composite device only has a single device address because the host only assigns a device address to a function.
When a USB device is first connected to a USB host, the USB device
enumeration process is started. The enumeration starts by sending a
reset signal to the USB device. The data rate of the USB device is
determined during the reset signaling. After reset, the USB device's
information is read by the host and the device is assigned a unique
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 a configured state. If the USB host is restarted, the enumeration
process is repeated for all connected devices.
The host controller directs traffic flow to devices, so no USB device
can transfer any data on the bus without an explicit request from the
host controller. In USB 2.0, the host controller polls the bus for traffic, usually in a round-robin
fashion. The throughput of each USB port is determined by the slower
speed of either the USB port or the USB device connected to the port.
High-speed USB 2.0 hubs contain devices called transaction
translators that convert between high-speed USB 2.0 buses and full and
low speed buses. When a high-speed USB 2.0 hub is plugged into a
high-speed USB host or hub, it will operate in high-speed mode. The USB
hub will then either use one transaction translator per hub to create a
full/low-speed bus that is routed to all full and low speed devices on
the hub, or will use one transaction translator per port to create an
isolated full/low-speed bus per port on the hub.
Because there are two separate controllers in each USB 3.0 host, USB
3.0 devices will transmit and receive at USB 3.0 data rates regardless
of USB 2.0 or earlier devices connected to that host. Operating data
rates for them will be set in the legacy manner.
Device classes
The functionality of USB devices is defined by class codes,
communicated to the USB host to effect the loading of suitable software
driver modules for each connected device. This provides for adaptability
and device independence of the host to support new devices from
different manufacturers.
Device classes include:
Class |
Usage |
Description |
Examples, or exception |
00h |
Device |
Unspecified |
Device class is unspecified, interface descriptors are used to determine needed drivers |
01h |
Interface |
Audio |
Speaker, microphone, sound card, MIDI |
02h |
Both |
Communications and CDC Control |
Modem, Ethernet adapter, Wi-Fi adapter |
03h |
Interface |
Human interface device (HID) |
Keyboard, mouse, joystick |
05h |
Interface |
Physical Interface Device (PID) |
Force feedback joystick |
06h |
Interface |
Image |
Webcam, scanner |
07h |
Interface |
Printer |
Laser printer, inkjet printer, CNC machine |
08h |
Interface |
Mass storage |
USB flash drive, memory card reader, digital audio player, digital camera, external drive |
09h |
Device |
USB hub |
Full bandwidth hub |
0Ah |
Interface |
CDC-Data |
Used together with class 02h: communications and CDC control |
0Bh |
Interface |
Smart Card |
USB smart card reader |
0Dh |
Interface |
Content security |
Fingerprint reader |
0Eh |
Interface |
Video |
Webcam |
0Fh |
Interface |
Personal Healthcare |
Pulse monitor (watch) |
DCh |
Both |
Diagnostic Device |
USB compliance testing device |
E0h |
Interface |
Wireless Controller |
Bluetooth adapter, Microsoft RNDIS |
EFh |
Both |
Miscellaneous |
ActiveSync device |
FEh |
Interface |
Application-specific |
IrDA Bridge, Test & Measurement Class (USBTMC),USB DFU (Direct Firmware update) |
FFh |
Both |
Vendor-specific |
Indicates that a device needs vendor specific drivers |
USB mass storage
A flash drive, a typical USB mass-storage device
USB implements connections to storage devices using a set of standards called the USB mass storage device class
(MSC or UMS). This was at first intended for traditional magnetic and
optical drives, but has been extended to support a wide variety of
devices, particularly flash drives,
because many systems can be controlled with the familiar metaphor of
file manipulation within directories. The process of making a novel
device look like a familiar device is also known as extension. The
ability to boot a write-locked SD card
with a USB adapter is particularly advantageous for maintaining the
integrity and non-corruptible, pristine state of the booting medium.
Though most post-2005 computers are capable of booting from USB mass
storage devices, USB is not intended to be a primary bus for a
computer's internal storage: buses such as Parallel ATA (PATA or IDE), Serial ATA (SATA), or SCSI
fulfill that role in PC class computers. However, USB has one important
advantage in that it is possible to install and remove devices without
rebooting the computer (hot-swapping),
making it useful for mobile peripherals, including drives of various
kinds. Originally conceived and still used today for optical storage
devices (CD-RW drives, DVD drives and so on), several manufacturers offer external portable USB hard disk drives,
or empty enclosures for disk drives, which offer performance comparable
to internal drives, limited by the current number and type of attached
USB devices and by the upper limit of the USB interface (in practice
about 30 MB/s for USB 2.0 and potentially 400 MB/s or more for USB 3.0). These external drives have typically included a
"translating device" that bridges between a drive's interface to a USB
interface port. Functionally, the drive appears to the user much like an
internal drive. Other competing standards for external drive
connectivity include eSATA, ExpressCard (now at version 2.0), FireWire (IEEE 1394), and most recently Thunderbolt.
Another use for USB mass storage devices is the portable execution of
software applications (such as web browsers and VoIP clients) with no
need to install them on the host computer.
Human interface devices (HIDs)
Main article: USB human interface device class
Joysticks, keypads, tablets and other human-interface devices are also progressively migrating from MIDI, and PC game port connectors to USB.
[citation needed] USB mice and keyboards can usually be used with older computers that have PS/2 connectors with the aid of a small USB-to-PS/2 adapter. Such adaptors contain no logic circuitry:
the hardware in the USB keyboard or mouse is designed to detect whether
it is connected to a USB or PS/2 port, and communicate using the
appropriate protocol. Converters also exist to allow PS/2 keyboards and
mice (usually one of each) to be connected to a USB port. These devices
present two HID endpoints to the system and use a microcontroller to perform bidirectional translation of data between the two standards.
[citation needed]
Physical appearance
Pinouts of Standard, Mini, and Micro USB plugs. The white areas in these
drawings represent hollow spaces. As the plugs are shown here, the USB
logo (with optional letter A or B) is on the top of the overmold in all
cases.
Micro-B USB 3.0 compatible (cable/male end)
USB 2.0 connector on the side of the specification standard micro USB
3.0 connector are aligned pin-minute increase in the standard.
No.1: power (VBUS)
No.2: USB 2.0 differential pair (D−)
No.3: USB 2.0 differential pair (D+)
No.4: USB OTG ID for identifying lines
No.5: GND
No.6: USB 3.0 signal transmission line (−)
No.7: USB 3.0 signal transmission line (+)
No.8: GND
No.9: USB 3.0 signal receiving line (−)
No.10: USB 3.0 signal receiving line (+)
USB 1.x/2.0 standard pinout
Pin |
Name |
Cable color |
Description |
1 |
VBUS |
Red |
+5 V |
2 |
D− |
White |
Data − |
3 |
D+ |
Green |
Data + |
4 |
GND |
Black |
Ground |
USB 1.x/2.0 Mini/Micro pinout
Pin |
Name |
Cable color |
Description |
1 |
VBUS |
Red |
+5 V |
2 |
D− |
White |
Data − |
3 |
D+ |
Green |
Data + |
4 |
ID |
None |
Permits distinction of host connection from slave connection
* host: connected to Signal ground
* slave: not connected |
5 |
GND |
Black |
Signal ground |
Connector properties
Standard type A plug and receptacle
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 menagerie of connectors which have been used in the
computer industry. The connector mounted on the host or device is called
the
receptacle, and the connector attached to the cable is called the
plug.
In the case of an extension cable, the connector on one end is a
receptacle. The official USB specification documents periodically define
the term
male to represent the plug, and
female to represent the receptacle.
Usability and "upside down" connectors

By design, it is difficult to insert a USB plug into its receptacle
incorrectly. Connectors cannot be plugged in upside down. The USB
specification states that the required USB icon is to be embossed on the
"topside" of the USB plug, which "provides easy user recognition and
facilitates alignment during the mating process". The specification also
shows that the "recommended" "Manufacturer's logo" ("engraved" on the
diagram but not specified in the text) is on the opposite side of the
USB icon. The specification further states "the USB Icon is also located
adjacent to each receptacle. Receptacles should be oriented to allow
the icon on the plug to be visible during the mating process". However,
the specification does not consider the height of the device compared to
the eye level height of the user, so the side of the cable that is
"visible" when mated to a computer on a desk can depend on whether the
user is standing or kneeling. Despite the specification there are many products on the market which have the USB icon on the wrong side of the plug.
Only moderate insertion/removal force is needed. USB cables and small
USB devices are held in place by the gripping force from the receptacle
(without need of the screws, clips, or thumb-turns other connectors
have required). The force needed to make or break a connection is
modest, allowing connections to be made in awkward circumstances (i.e.,
behind a floor-mounted chassis, or from below) or by those with motor
disabilities.
[citation needed]
The standard connectors were deliberately intended to enforce the directed topology
of a USB network: type A connectors on host devices that supply power
and type B connectors on target devices that receive power. This
prevents users from accidentally connecting two USB power supplies to
each other, which could lead to dangerously high currents, circuit
failures, or even fire. USB does not support cyclic networks and the
standard connectors from incompatible USB devices are themselves
incompatible. Unlike other communications systems (e.g. network cabling)
gender changers make little sense with USB and are almost never used.
[citation needed]
Durability
The standard connectors were designed to be robust. Many previous
connector designs were fragile, specifying embedded component pins or
other delicate parts which proved vulnerable to bending or breakage,
even with the application of modest force. The electrical contacts in a
USB connector are protected by an adjacent plastic tongue, and the
entire connecting assembly is usually protected by an enclosing metal
sheath.
The connector construction always ensures that the external sheath on
the plug makes contact with its counterpart in the receptacle before
any of the four connectors within make electrical contact. The external
metallic sheath is typically connected to system ground, thus
dissipating damaging static charges. This enclosure design also provides
a degree of protection from electromagnetic interference to the USB
signal while it travels through the mated connector pair (the only
location when the otherwise twisted data pair travels in parallel). In
addition, because of the required sizes of the power and common
connections, they are made after the system ground but before the data
connections. This type of staged make-break timing allows for
electrically safe hot-swapping.
The newer Micro-USB
receptacles are designed for up to 10,000 cycles of insertion and
removal between the receptacle and plug, compared to 1,500 for the
standard USB and 5,000 for the Mini-USB receptacle. This is accomplished
by adding a locking device and by moving the leaf-spring connector from
the jack to the plug, so that the most-stressed part is on the cable
side of the connection. This change was made so that the connector on
the less expensive cable would bear the most wear instead of the more
expensive micro-USB device.
Compatibility
The USB standard specifies relatively loose tolerances for compliant
USB connectors to minimize physical incompatibilities in connectors from
different vendors. To address a weakness present in some other
connector standards, the USB specification also defines limits to the
size of a connecting device in the area around its plug. This was done
to prevent a device from blocking adjacent ports due to the size of the
cable strain relief mechanism (usually molding integral with the cable
outer insulation) at the connector. Compliant devices must either fit
within the size restrictions or support a compliant extension cable
which does.
In general, cables have only plugs (very few have a receptacle on one
end, although extension cables with a standard A plug and jack are
sold), and hosts and devices have only receptacles. Hosts almost
universally have type-A receptacles, and devices one or another type-B
variety. Type-A plugs mate only with type-A receptacles, and type-B with
type-B; they are deliberately physically incompatible. However, an
extension to USB standard specification 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 receptacle on the unit. Even after
the cable is hooked up and the units are communicating, the two units
may "swap" ends under program control. This capability is meant for
units such as PDAs
in which 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.
Compatibility of USB 3.0 connectors
- TypeA plugs and receptacles from both USB 3.0 and USB 2.0 are designed to interoperate.
- TypeB receptacles in USB 3.0 are somewhat larger than would be
required for a TypeB plug in USB 2.0 and earlier. This is intended to
allow connecting an older TypeB plug into a newer USB 3.0 TypeB
receptacle. Accordingly, a USB 3.0 TypeB receptacle on a peripheral
device can be connected using the corresponding plug end of a USB 2.0
TypeB cable.
- TypeB plugs in USB 3.0 are somewhat larger; therefore, a USB 3.0
TypeB plug cannot enter a USB 2.0 or earlier TypeB receptacle.
Accordingly, normal USB 3.0 TypeB plugs cannot be inserted into normal
USB 2.0 TypeB receptacles found on peripheral devices (and connect them
to a computer).
- A receptacle for eSATAp
(eSATA/USB Combo) is designed to accept USB TypeA plugs from USB2.0 and
USB3.0, but transfer speeds are restricted to USB2.0 limits.
Connector types
Types of USB connectors left to right (ruler in centimeters): Micro-B
plug, a non-USB proprietary plug, Mini-B plug (5-pin, upside down),
Standard-A receptacle (upside down), Standard-A plug, Standard-B plug
There are several types of USB connectors, including some that have
been added while the specification progressed. The original USB
specification detailed Standard-A and Standard-B plugs and receptacles;
the B connector was necessary so that cabling could be plug ended at
both ends and still prevent users from connecting one computer
receptacle to another. The first engineering change notice to the USB
2.0 specification added Mini-B plugs and receptacles.
The data connectors in the Standard-A plug are actually recessed in
the plug as compared to the outside power connectors. This permits the
power to connect first which prevents data errors by allowing the device
to power up first and then transfer the data. Some devices will operate
in different modes depending on whether the data connection is made.
This difference in connection can be exploited by inserting the
connector only partially. For example, some battery-powered MP3 players
switch into file transfer mode and cannot play MP3 files while a USB
plug is fully inserted, but can be operated in MP3 playback mode using
USB power by inserting the plug only part way so that the power slots
make contact while the data slots do not. This enables those devices to
be operated in MP3 playback mode while getting power from the cable.
[original research?]
To reliably enable a charge-only feature, modern USB accessory
peripherals now include charging cables that provide power connections
to the host port but no data connections, and both home and vehicle
charging docks are available that supply power from a converter device
and do not include a host device and data pins, allowing any capable USB
device to be charged or operated from a standard USB cable.
USB standard connectors
Pin configuration of the USB connectors Standard A/B, viewed looking into face/end of plug
The USB 2.0 Standard-A type of USB plug is a flattened rectangle
which inserts into a "downstream-port" receptacle on the USB host, or a
hub, and carries both power and data. This plug is frequently seen on
cables that are permanently attached to a device, such as one connecting
a keyboard or mouse to the computer via usb connection.
USB connections eventually wear out as the connection loosens through
repeated plugging and unplugging. The lifetime of a USB-A male
connector is approximately 1,500 connect/disconnect cycles.
A Standard-B plug—which has a square shape with bevelled exterior
corners—typically plugs into an "upstream receptacle" on a device that
uses a removable cable, e.g. a printer. A Type B plug delivers power in
addition to carrying data. On some devices, the Type B receptacle has no
data connections, being used solely for accepting power from the
upstream device. This two-connector-type scheme (A/B) prevents a user
from accidentally creating an electrical loop.
Mini and Micro connectors
USB Mini A (left) and USB Mini B (right) plugs
Various connectors have been used for smaller devices such as PDAs,
mobile phones or digital cameras. These include the now-deprecated
(but standardized) Mini-A and Mini-AB connectors (Mini-B are still supported but not OTG compliant), Micro-A, and Micro-B connectors.
The Mini-A and Mini-B plugs are approximately 3 by 7 mm. The micro-USB plugs have a similar width
and approximately half the thickness, enabling their integration into
thinner portable devices. The micro-A connector is 6.85 by 1.8 mm
with a maximum overmold size of 11.7 by 8.5 mm. The micro-B connector
is 6.85 by 1.8 mm with a maximum overmold size of 10.6 by 8.5 mm.
The Micro-USB connector was announced by the USB-IF on 4 January 2007. The Mini-A connector and the Mini-AB receptacle connector were deprecated on 23 May 2007. While many currently available devices and cables still use Mini plugs,
the newer Micro connectors are being widely adopted and as of December
2010, they are the most widely used. The thinner micro connectors are
intended to replace the Mini plugs in new devices including smartphones and personal digital assistants.
The Micro plug design is rated for at least 10,000 connect-disconnect
cycles which is significantly more than the Mini plug design.
The
Universal Serial Bus Micro-USB Cables and Connectors Specification details the mechanical characteristics of Micro-A plugs, Micro-AB receptacles, and Micro-B plugs and receptacles,
[32] along with a Standard-A receptacle to Micro-A plug adapter.
The cellular phone carrier group,
Open Mobile Terminal Platform (OMTP) in 2007 have endorsed Micro-USB as the standard connector for data and power on mobile devices.
[33]
These include various types of battery chargers, allowing Micro-USB to
be the single external cable link needed by some devices.
As of 30 January 2009 Micro-USB has been accepted and is being used
by almost all cell phone manufacturers as the standard charging port
(including Hewlett-Packard, HTC, LG, Motorola, Nokia,
Research In Motion, Samsung, Sony Ericsson) in most of the world.
[citation needed]
On 29 June 2009, following a request from the
European Commission and in close co-operation with the Commission services, major producers of mobile phones have agreed in a
Memorandum of Understanding
("MoU") to harmonise chargers for data-enabled mobile phones sold in
the European Union. Industry commits to provide charger compatibility on
the basis of the Micro-USB connector. Consumers will be able to
purchase mobile phones without a charger, thus logically reducing their
cost.
[34] Following a mandate from the European Commission, the European Standardisation Bodies
CEN-CENELEC and
ETSI
have now made available the harmonised standards needed for the
manufacture of data-enabled mobile phones compatible with the new
common External Power Supply (EPS) based on micro-USB.
[35]
In addition, on 22 October 2009 the
International Telecommunication Union (ITU) has also announced that it had embraced micro-USB as the
Universal Charger Solution
its "energy-efficient one-charger-fits-all new mobile phone solution",
and added: "Based on the Micro-USB interface, UCS chargers will also
include a 4-star or higher efficiency rating—up to three times more
energy-efficient than an unrated charger".
[36]
A
USB On-The-Go
device is required to have one, and only one USB connector: a Mini-AB
or Micro-AB receptacle. This receptacle is capable of accepting both
Mini-A and Mini-B plugs, and alternatively, Micro-A and Micro-B plugs,
attached to any of the legal cables and adapters as defined in
Micro-USB1.01.
The OTG device with the A-plug inserted is called the A-device and is
responsible for powering the USB interface when required and by default
assumes the role of host. The OTG device with the B-plug inserted is
called the B-device and by default assumes the role of peripheral. An
OTG device with no plug inserted defaults to acting as a B-device. If an
application on the B-device requires the role of host, then the HNP
protocol is used to temporarily transfer the host role to the B-device.
OTG devices attached either to a peripheral-only B-device or a
standard/embedded host will have their role fixed by the cable since in
these scenarios it is only possible to attach the cable one way around.
[citation needed]
Host interface receptacles
The following receptacles accept the following plugs:
Receptacle |
Plug |
 |
 |
 |
 |
 |
 |
Yes |
No |
No |
No |
No |
 |
No |
Yes |
No |
No |
No |
 |
No |
No |
Yes |
No |
No |
 |
No |
No |
No |
Yes |
Yes |
 |
No |
No |
No |
No |
Yes |
Cable plugs (USB 1.x/2.0)
Cables exist with pairs of plugs:
Plug |
Plug |
 |
 |
 |
 |
 |
 |
Yes |
NS |
Yes |
Yes |
NS |
 |
No |
NS |
No |
No |
|
 |
No |
NS |
No |
|
 |
Yes |
No |
|
 |
No |
|
NS: non-standard, existing for specific proprietary purposes, and not interoperable with USB-IF compliant equipment.
In addition to the above cable assemblies comprising two plugs, an
"adapter" cable with a Micro-A plug and a Standard-A receptacle is
compliant with USB specifications.
[23]
Other combinations of connectors are not compliant. However, some older
devices and cables with Mini-A connectors have been certified by
USB-IF. The Mini-A connector has been deprecated: there will be no new
certification of assemblies using Mini-A connector.
[28]
Proprietary connectors and formats
HTC ExtMicro USB port and connector
- Microsoft's original Xbox game console uses standard USB 1.1 signalling in its controllers and memory cards, but uses proprietary connectors and ports. The Xbox 360 (pre Xbox 360 S) has two Memory Unit ports which use USB signalling, but proprietary connectors and 3.3v power.[37]
- IBM UltraPort uses standard USB signalling, but via a proprietary connection format.
- American Power Conversion uses USB signalling and HID device class on its uninterruptible power supplies using 10P10C connectors.
- HTC manufactured Windows Mobile and Android-based
devices which have a proprietary connector called HTC ExtUSB (Extended
USB). ExtUSB combines mini-USB (with which it is backwards-compatible)
with audio input as well as audio and video output in an 11-pin
connector.
- HTC introduced devices (e.g. Flyer tablet, Droid Incredible, Amaze and Rezound Android phones) in 2010 featuring a 12-pin ExtMicro USB variant, backwards-compatible with Micro-USB.[38]
- Nokia included a USB connection as part of the Pop-Port connector on some older mobile phone models.
- Sony Ericsson used a proprietary connector called FastPort from 2005 to 2009.
- iriver
added a fifth power pin within USB-A plugs for higher power and faster
charging, used for the iriver U10 series. A mini-USB version contains a
matching extra power pin for the cradle.
- Apple has shipped non-standard USB extension cables with some of
their computers, for use with the included Apple USB keyboards. The
extension cable's socket is keyed with a small protrusion to prevent the
insertion of a standard USB plug, while the Apple USB keyboard's plug
has a matching indentation. The indentation on the keyboard's plug does
not interfere with insertion into a standard USB socket. Apple's
proprietary 30-pin dock connector
on its iPod, iPhone, and iPad serves purposes in addition to USB (such
as analog audio, IEEE-1394, eSATA and HDMI). The second, third, and
fourth generation iPod Shuffle uses a TRRS connector to carry USB, audio, or power signals.
- HP Tablet computers use non-standard connectors to transmit the USB
signals between the keyboard/mouse unit and the Computer Tablet Unit.
- A number of digital cameras use an 8-pin variant of Micro USB.
- The United States Army's Land Warrior system uses standard USB signaling with 15.6 V power using a ruggedized connector from Glenair, Inc.
Cabling
A USB twisted pair, where the "Data +" and "Data −" conductors are twisted together in a double
helix. The wires are enclosed in a further layer of shielding.
The data cables for USB 1.x and USB 2.x use a
twisted pair to reduce
noise and
crosstalk.
USB 3.0 cables contain twice as many wires as USB 2.x to support
SuperSpeed data transmission, and are thus larger in diameter.
[39]
The USB 1.1 Standard specifies that a standard cable can have a
maximum length of 3 meters with devices operating at Low Speed (1.5
Mbit/s), and a maximum length of 5 meters with devices operating at Full
Speed (12 Mbit/s).
[citation needed]
USB 2.0 provides for a maximum cable length of 5 meters for devices
running at Hi Speed (480 Mbit/s). The primary reason for this limit is
the maximum allowed round-trip delay of about 1.5 μs. If USB host
commands are unanswered by the USB device within the allowed time, the
host considers the command lost. When adding USB device response time,
delays from the maximum number of hubs added to the delays from
connecting cables, the maximum acceptable delay per cable amounts to
26 ns.
[40]
The USB 2.0 specification requires cable delay to be less than 5.2 ns
per meter (192,000 km/s, which is close to the maximum achievable
transmission speed for standard copper wire).
The USB 3.0 standard does not directly specify a maximum cable
length, requiring only that all cables meet an electrical specification:
for copper cabling with
AWG 26 wires the maximum practical length is 3 meters (9.8 ft).
[41]
Power
The USB 1.x and 2.0 specifications provide 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. For USB 3.0, the
voltage supplied by low-powered hub ports is 4.45–5.25 V.
[42]
A unit load is defined as 100 mA in USB 2.0, and 150 mA in USB 3.0. A
device may draw a maximum of 5 unit loads (500 mA) from a port in
USB 2.0; 6 (900 mA) in USB 3.0. There are two types of devices:
low-power and high-power. A low-power device draws at most 1 unit load,
with minimum operating voltage of 4.4 V in USB 2.0, and 4 V in USB 3.0. A
high-power device draws the maximum number of unit loads permitted by
the standard. Every device functions initially as low-power but the
device may request high-power and will get it if the power is available
on the providing bus.
[43]
Some devices, such as high-speed external disk drives, require more than 500 mA of current
[44]
and therefore may have power issues if powered from just one USB 2.0
port: erratic function, failure to function, or overloading/damaging the
port. Such devices may come with an external power source or a Y-shaped
cable that has two USB connectors (one for power+data, the other for
power only) to be plugged into a computer. With such a cable, a device
can draw power from two USB ports simultaneously.
[45]
A bus-powered hub initializes itself at 1 unit load and transitions
to maximum unit loads after it completes hub configuration. Any device
connected to the hub will draw 1 unit load regardless of the current
draw of devices connected to other ports of the hub (i.e. one device
connected on a four-port hub will draw only 1 unit load despite the fact
that more unit loads are being supplied to the hub).
[43]
A self-powered hub will supply maximum supported unit loads to any device connected to it. In addition, the
VBUS will present 1 unit load upstream for communication if parts of the Hub are powered down.
[43]
Charging ports and accessory charging adapters
The USB Battery Charging Specification of 2007 defines new types of USB ports, e.g.,
charging ports.
[46] As compared to
standard downstream ports,
where a portable device can only draw more than 100 mA current after
digital negotiation with the host or hub, charging ports can supply
currents above 0.5 A without digital negotiation. A charging port
supplies up to 500 mA at 5 V, up to the rated current at 3.6 V or more,
and drop its output voltage if the portable device attempts to draw more
than the rated current. The charger port may shut down if the load is
too high.
Charging ports exist in two flavors:
charging downstream ports (CDP), supporting data transfers as well, and
dedicated charging ports (DCP),
without data support. A portable device can recognize the type of USB
port from the way the D+ and D- pins are connected. For example, on a
dedicated charging port, the D+ and D- pins are
shorted.
With charging downstream ports, current passing through the thin ground
wire may interfere with high-speed data signals. Therefore, current
draw may not exceed 900 mA during high-speed data transfer. A dedicated
charge port may have a rated current between 0.5 and 1.5 A. There is no
upper limit for the rated current of a charging downstream port, as long
as the connector can handle the current (standard USB 2.0 A-connectors
are rated at 1.5 A).
Before the battery charging specification was defined, there was no
standardized way for the portable device to inquire how much current was
available. For example, Apple's
iPod and
iPhone
chargers indicate the available current by voltages on the D- and D+
lines. When D+ = D- = 2V, the device may pull up to 500 mA. When D+ =
2.0 V and D- = 2.8 V, the device may pull up to 1000 mA of current.
[47]
Dedicated charging ports can be found on USB power adapters that convert utility power or another power source —
e.g.,
a car's electrical system — to run attached devices and battery packs.
On a host (such as a laptop computer) with both standard and charging
USB ports, the charging ports should be labeled as such.
[46]
To support simultaneous charge and sync, even if the communication
port doesn't support charging a demanding device, so called accessory
charging adapters are introduced, where a charging port and a
communication port can be combined into a single port.
The Battery Charging Specification 1.2 of 2010
[12]
makes clear, that there are safety limits to the rated current at 5 A
coming from USB 2.0. On the other hand several changes are made and
limits are increasing including allowing 1.5 A on charging ports for
unconfigured devices, allowing high speed communication while having a
current up to 1.5 A and allowing a maximum current of 5 A.
Sleep-and-charge ports
A yellow USB port denoting sleep-and-charge
Sleep-and-charge USB ports can be used to charge electronic devices
even when the computer is switched off. Normally when a computer is
powered off the USB ports are powered down. This prevents phones and
other devices from being able to charge unless the computer is powered
on. Sleep-and-charge USB ports remain powered even when the computer is
off. On laptops, charging devices from the USB port when it is not being
powered from AC will drain the laptop battery faster. Desktop machines
need to remain plugged into AC power for Sleep-and-charge to work.
[48]
Mobile device charger standards
The Micro-USB interface is commonly found on chargers for
mobile phones
As of 14 June 2007, all new
mobile phones applying for a license in
China are required to be able to use a USB port as a power port for battery charging.
[49][50] This was the first standard to use the convention of shorting D+ and D-.
[51]
In September 2007, the
Open Mobile Terminal Platform group (a forum of mobile network operators and 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.
[52][53]
On 17 February 2009, the
GSM Association (GSMA) announced
[54]
that they had agreed on a standard charger for mobile phones. The
standard connector to be adopted by manufacturers including Nokia,
Motorola and Samsung is to be the micro-USB connector (several media
reports erroneously reported this as the mini-USB). The new chargers
will be much more efficient than existing chargers.
[54]
Having a standard charger for all phones means that manufacturers will
no longer have to supply a charger with every new phone. The basis of
the GSMA's
Universal Charging Solution (UCS) is the technical recommendation from
OMTP and the USB-IF battery charging standard.
[55][56][57]
On 22 April 2009, this was further endorsed by the
CTIA – The Wireless Association.
[58]
On 22 October 2009, the
International Telecommunication Union
(ITU) announced that it had embraced the Universal Charging Solution as
its "energy-efficient one-charger-fits-all new mobile phone solution",
and added: "Based on the Micro-USB interface, UCS chargers will also
include a 4-star or higher efficiency rating—up to three times more
energy-efficient than an unrated charger".
[59]
In June 2009, many of the world's largest mobile phone manufacturers signed an
EC-sponsored Memorandum of Understanding (MoU), agreeing to make most data-enabled mobile phones marketed in the
European Union compatible with a
common External Power Supply
(EPS). The EU's common EPS specification (EN 62684:2010) references the
USB Battery Charging standard and is similar to the GSMA/OMTP and
Chinese charging solutions.
[60][61] In January 2011, the
International Electrotechnical Commission (IEC) released its version of the (EU's) common EPS standard as IEC 62684:2011
[62]
Non-standard devices
Some USB devices require more power than is permitted by the
specifications for a single port. This is common for external hard and
optical disc drives, and generally for devices with
motors or
lamps. Such devices can use an
external power supply,
which is allowed by the standard, or use 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 USB ports
and external hubs can, in practice, supply more power to USB devices
than required by the specification but a standard-compliant device may
not depend on this.
In addition to limiting the total average power used by the device, the USB specification limits the
inrush current (i.e., that used to charge decoupling and
filter capacitors)
when the device is first connected. Otherwise, connecting a device
could cause problems with the host's internal power. USB devices are
also required to automatically enter ultra low-power suspend mode when
the USB host is suspended. Nevertheless, many USB host interfaces do not
cut off the power supply to USB devices when they are suspended.
[citation needed]
Some non-standard USB devices use the 5 V power supply without
participating in a proper USB network which negotiates power draws with
the host interface. These are usually referred to as
USB decorations. The typical example is a USB-powered keyboard light; fans, mug coolers and heaters, battery chargers, miniature
vacuum cleaners, and even miniature
lava lamps
are available. In most cases, these items contain no digital circuitry,
and thus are not Standard compliant USB devices at all. This can
theoretically cause problems with some computers, such as drawing too
much current and damaging circuitry; prior to the Battery Charging
Specification, the USB specification required that devices connect in a
low-power mode (100 mA maximum) and communicate their current
requirements to the host, which would then permit the device to switch
into high-power mode.
Some devices, when plugged into charging ports, draw even more power
(10 watts or 2.1 Amps) than the Battery Charging Specification allows.
The
iPad and MiFi 2200 are two such devices.
[63] Barnes & Noble NOOK devices also require a special charger that runs at 1.9 Amps.
[64]
Powered USB
Powered USB
uses standard USB signaling with the addition of extra power lines. It
uses four additional pins to supply up to 6 A at either 5 V, 12 V, or
24 V (depending on keying) to peripheral devices. The wires and contacts
on the USB portion have been upgraded to support higher current on the
5 V 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 modification of the USB interface is proprietary and 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.
[citation needed]
Signaling
USB allows the following
signaling rates. The terms
speed and
bandwidth are used interchangeably. "high-" is alternatively written as "hi-".
- A low-speed rate of 1.5 Mbit/s is defined by USB 1.0. It is
very similar to full-bandwidth operation except each bit takes 8 times
as long to transmit. It is intended primarily to save cost in
low-bandwidth human interface devices (HID) such as keyboards, mice, and joysticks.
- The full-speed rate of 12 Mbit/s is the basic USB data rate defined by USB 1.0. All USB hubs can operate at this speed.
- A high-speed (USB 2.0) rate of 480 Mbit/s was introduced in
2001. All hi-speed devices are capable of falling back to full-bandwidth
operation if necessary; i.e., they are backward compatible with USB
1.1. Connectors are identical for USB 2.0 and USB 1.x.
- A SuperSpeed (USB 3.0) rate of 5.0 Gbit/s. The written USB
3.0 specification was released by Intel and partners in August 2008. The
first USB 3 controller chips were sampled by NEC May 2009[65] and products using the 3.0 specification arrived beginning in January 2010.[66] USB 3.0 connectors are generally backwards compatible, but include new wiring and full duplex operation.
USB signals are transmitted on a
twisted-pair data cable with 90
Ω ±15%
characteristic impedance,
[67] labeled D+ and D−. Prior to USB 3.0, these collectively use
half-duplex differential signaling to reduce the effects of electromagnetic
noise on longer lines. Transmitted signal levels are 0.0 to 0.3
volts for low and 2.8 to 3.6
volts
for high in full-bandwidth and low-bandwidth modes, and −10 to 10 mV
for low and 360 to 440 mV for high in hi-bandwidth mode. 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, reducing interference due to signal
reflections.
USB 3.0 introduces two additional pairs of shielded twisted wire and
new, mostly interoperable contacts in USB 3.0 cables, for them. They
permit the higher data rate, and full duplex operation.
A USB connection is always between a host or hub at the "A" connector
end, and a device or hub's "upstream" port at the other end.
Originally, this was a "B' connector, preventing erroneous loop
connections, but additional upstream connectors were specified, and some
cable vendors designed and sold cables which permitted erroneous
connections (and potential damage to the circuitry). USB
interconnections are not as fool-proof or as simple as originally
intended.
The host includes 15 kΩ pull-down resistors on each data line. When
no device is connected, this pulls both data lines low into the
so-called "single-ended zero" state (SE0 in the USB documentation), and
indicates a reset or disconnected connection.
A USB device pulls one of the data lines high with a 1.5 kΩ resistor.
This overpowers one of the pull-down resistors in the host and leaves
the data lines in an idle state called "J". For USB 1.x, the choice of
data line indicates of what signal rates the device is capable;
full-bandwidth devices pull D+ high, while low-bandwidth devices pull D−
high.
Example of a Negative Acknowledge packet
transmitted by USB 1.1 Full-speed device when there is no more data to
read. It consists of the following fields: clock synchronization byte,
type of packet and end of packet. Data packets would have more
information between the type of packet and end of packet.
USB data is transmitted by toggling the data lines between the J state and the opposite K state. USB encodes data using the
NRZI
convention; a 0 bit is transmitted by toggling the data lines from J to
K or vice-versa, while a 1 bit is transmitted by leaving the data lines
as-is. To ensure a minimum density of signal transitions remains in the
bitstream, USB uses
bit stuffing;
an extra 0 bit is inserted into the data stream after any appearance of
six consecutive 1 bits. Seven consecutive received 1 bits is always an
error. USB 3.0 has introduced additional data transmission encodings.
A USB packet begins with an 8-bit synchronization sequence
'00000001'. That is, after the initial idle state J, the data lines
toggle KJKJKJKK. The final 1 bit (repeated K state) marks the end of the
sync pattern and the beginning of the USB frame. For high bandwidth
USB, the packet begins with a 32-bit synchronization sequence.
A USB packet's end, called EOP (end-of-packet), is indicated by the
transmitter driving 2 bit times of SE0 (D+ and D− both below max) and 1
bit time of J state. After this, the transmitter ceases to drive the
D+/D− lines and the aforementioned pull up resistors hold it in the J
(idle) state. Sometimes skew due to hubs can add as much as one bit time
before the SE0 of the end of packet. This extra bit can also result in a
"bit stuff violation" if the six bits before it in the CRC are '1's.
This bit should be ignored by receiver.
A USB bus is reset using a prolonged (10 to 20 milliseconds) SE0 signal.
USB 2.0 devices use a special protocol during reset, called
"chirping", to negotiate the high bandwidth mode with the host/hub. A
device that is HS capable first connects as an FS device (D+ pulled
high), but upon receiving a USB RESET (both D+ and D− driven LOW by host
for 10 to 20 ms) it pulls the D− line high, known as chirp K. This
indicates to the host that the device is high bandwidth. If the host/hub
is also HS capable, it chirps (returns alternating J and K states on D−
and D+ lines) letting the device know that the hub will operate at high
bandwidth. The device has to receive at least 3 sets of KJ chirps
before it changes to high bandwidth terminations and begins high
bandwidth signaling. Because USB 3.0 uses wiring separate and additional
to that used by USB 2.0 and USB 1.x, such bandwidth negotiation is not
required.
Clock tolerance is 480.00 Mbit/s ±500
ppm, 12.000 Mbit/s ±2500 ppm, 1.50 Mbit/s ±15000 ppm.
Though high bandwidth devices are commonly referred to as "USB 2.0"
and advertised as "up to 480 Mbit/s", not all USB 2.0 devices are high
bandwidth. The
USB-IF
certifies devices and provides licenses to use special marketing logos
for either "basic bandwidth" (low and full) or high bandwidth after
passing a compliance test and paying a licensing fee. All devices are
tested according to the latest specification, so recently compliant low
bandwidth devices are also 2.0 devices.
USB 3 uses tinned copper stranded AWG-28 cables with
90±7 Ω impedance for its high-speed differential pairs and
linear feedback shift register and
8b/10b encoding sent with a voltage of 1 V nominal with a 100 mV receiver threshold; the receiver uses equalization.
[68] SSC clock and
300 ppm precision is used. Packet headers are protected with CRC-16, while data payload is protected with CRC-32.
[69] Power up to 3.6 W may be used. One unit load in superspeed mode is equal to 150 mA.
[69]
Transmission rates
The theoretical maximum data rate in USB 2.0 is 480 Mbit/s (60 MB/s)
per controller and is shared amongst all attached devices. Some chipset
manufacturers overcome this bottleneck by providing multiple USB 2.0
controllers within the
southbridge.
Typical hi-speed USB hard drives can be written to at rates around
25–30 MB/s, and read from at rates of 30–42 MB/s, according to routine
testing done by
CNet.
[70] This is 70% of the total bandwidth available.
According to a USB-IF chairman, "at least 10 to 15 percent of the
stated peak 60 MB/s (480 Mbit/s) of Hi-Speed USB goes to overhead—the
communication protocol between the card and the peripheral. Overhead is a
component of all connectivity standards".
[71] Tables illustrating the transfer limits are shown in Chapter 5 of the USB spec.
For
isochronous
devices like audio streams, the bandwidth is constant, and reserved
exclusively for a given device. The bus bandwidth therefore only has an
effect on the number of channels that can be sent at a time, not the
"speed" or
latency of the transmission.
Communication
During USB communication data is transmitted as
packets.
Initially, all packets are sent from the host, via the root hub and
possibly more hubs, to devices. Some of those packets direct a device to
send some packets in reply.
After the sync field, all packets are made of 8-bit bytes, transmitted
least-significant bit first.
The first byte is a packet identifier (PID) byte. The PID is actually 4
bits; the byte consists of the 4-bit PID followed by its bitwise
complement. This redundancy helps detect errors. (Note also that a PID
byte contains at most four consecutive 1 bits, and thus will never need
bit-stuffing, even when combined with the final 1 bit in the sync byte.
However, trailing 1 bits in the PID may require bit-stuffing within the
first few bits of the payload.)
USB PID bytes
Type |
PID value
(msb-first) |
Transmitted byte
(lsb-first) |
Name |
Description |
Reserved |
0000 |
0000 1111 |
|
Token |
1000 |
0001 1110 |
SPLIT |
High-bandwidth (USB 2.0) split transaction |
0100 |
0010 1101 |
PING |
Check if endpoint can accept data (USB 2.0) |
Special |
1100 |
0011 1100 |
PRE |
Low-bandwidth USB preamble |
Handshake |
ERR |
Split transaction error (USB 2.0) |
0010 |
0100 1011 |
ACK |
Data packet accepted |
1010 |
0101 1010 |
NAK |
Data packet not accepted; please retransmit |
0110 |
0110 1001 |
NYET |
Data not ready yet (USB 2.0) |
1110 |
0111 1000 |
STALL |
Transfer impossible; do error recovery |
Token |
0001 |
1000 0111 |
OUT |
Address for host-to-device transfer |
1001 |
1001 0110 |
IN |
Address for device-to-host transfer |
0101 |
1010 0101 |
SOF |
Start of frame marker (sent each ms) |
1101 |
1011 0100 |
SETUP |
Address for host-to-device control transfer |
Data |
0011 |
1100 0011 |
DATA0 |
Even-numbered data packet |
1011 |
1101 0010 |
DATA1 |
Odd-numbered data packet |
0111 |
1110 0001 |
DATA2 |
Data packet for high-bandwidth isochronous transfer (USB 2.0) |
1111 |
1111 0000 |
MDATA |
Data packet for high-bandwidth isochronous transfer (USB 2.0) |
Packets come in three basic types, each with a different format and CRC (
cyclic redundancy check):