Universal Serial Bus (USB)
Type Bus
Production history
Designer Compaq, DEC, IBM, Intel, Microsoft, NEC, and Nortel
Designed January 1996; 28 years ago (1996-01)
Produced Since May 1996[1]
Superseded Serial port, parallel port, game port, Apple Desktop Bus, PS/2 port, and MagSafe
General specifications
Length 2–5 m (6 ft 7 in – 16 ft 5 in) (by category)
Width
  • 12 mm (type-A)[2]
  • 8.45 mm (type-B)
  • 6.8 mm (mini/micro)
  • 8.25 mm (type-C)
Height
  • 4.5 mm (type-A)[2]
  • 7.26 mm (type-B)
  • 10.44 mm (type-B SuperSpeed)
  • 1.8–3 mm (mini/micro)
  • 2.4 mm (type-C)
Hot pluggable Yes
External Yes
Cable
  • 4 wires plus shield
  • 9 wires plus shield (SuperSpeed)
Pins
  • 4: 1 power, 2 data, 1 ground
  • 5 (On-The-Go)
  • 9 (SuperSpeed)
  • 11 (Powered-B SuperSpeed)
  • 24 (type-C)
Connector Unique
Electrical
Signal 5 V DC
Max. voltage
  • 5.00+0.25
    −0.60
     V
    [a]
  • 5.00+0.25
    −0.55
     V
    (USB 3.0)
  • 20.00 V (PD)
Max. current
  • 0.5 A (USB 2.0)
  • 0.9 A (USB 3.0)
  • 1.5 A (BC 1.2)
  • 3 A (type-C)
  • Up to 5 A (PD)
Data
Data signal Packet data, defined by specifications
Width 1 bit
Bitrate 1.5; 12; 480; 5,000; 10,000; 20,000 Mbit/s (depending on mode)
Max. devices 127
Protocol Serial
Pinout
The type-A plug (left) and type-B plug (right)
Pin 1   VBUS (+5 V)
Pin 2   Data−
Pin 3   Data+
Pin 4   Ground
USB-A 3.1 Gen 1 ports

USB, short for Universal Serial Bus, is an industry standard that was developed to define cables, connectors and protocols for connection, communication, and power supply between personal computers and their peripheral devices. [3]

USB was designed to standardize the connection of computer peripherals (including 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 largely replaced interfaces such as serial ports and parallel ports, and has become commonplace on a wide range of devices. USB connectors have replaced other types for battery chargers of portable devices.

Released in 1996, the USB standard is currently maintained by the USB Implementers Forum (USB IF).

Overview

Receptacle (Socket) Identification

This section is intended to allow fast identification of USB receptacles (sockets) on equiment. Further diagrams and discussion of plugs and receptacles can be found below in Connectors. To see images of other connectors, see Computer Ports and List of video connectors

Receptacles

(Sockets)

USB 1.0

1996

USB 2.0

2001

USB-2.0

Changes

USB 3.0

2011

USB 3.1/3.2

2014/2017

187.5 kB/s

1.5 MB/s

60 MB/s 625 MB/s
(SuperSpeed)
1.25 GB/s

2.5 GB/s
(SuperSpeed+)

Standard Type A

Type A

Type B

Type B

Mini Mini A

(Deprecated)
Mini B

Mini AB

(Deprecated)
Micro Micro A. Rare?

Similar to Micro B
without chamfered corners.

Micro B

Micro B

Micro AB

Micro AB

Similar to USB 3.0
Micro B without
chamfered corner.

Full Duplex Type C

File:USB-Type-C.svg

Objectives

The Universal Serial Bus was developed to simplify and improve the interface between personal computers and peripheral devices, when compared with previously existing standard or ad-hoc proprietary interfaces. [4]

From the computer user's perspective, the USB interface improved ease of use in several ways. The USB interface is self-configuring, so the user need not adjust settings on the device and interface for speed or data format, or configure interrupts, input/output addresses, or direct memory access channels. [5] USB connectors are standardized at the host, so any peripheral can use any available socket. USB takes full advantage of the additional processing power that can be economically put into peripheral devices so that they can manage themselves; USB devices often do not have user-adjustable interface settings. The USB interface is "hot pluggable", meaning devices can be exchanged without rebooting the host computer. Small devices can be powered directly from the USB interface, displacing extra power supply cables. Because use of the USB logos is only permitted after compliance testing, the user can have confidence that a USB device will work as expected without extensive interaction with settings and configuration; the USB interface defines protocols for recovery from common errors, improving reliability over previous interfaces. [4] Installation of a device relying on the USB standard requires minimal operator action. When a device is plugged into a port on a running personal computer system, it is either entirely automatically configured using existing device drivers, or the system prompts the user to locate a driver which is then installed and configured automatically.

For hardware manufacturers and software developers, the USB standard eliminates the requirement to develop proprietary interfaces to new peripherals. The wide range of transfer speeds available from a USB interface suits devices ranging from keyboards and mice up to streaming video interfaces. A USB interface can be designed to provide the best available latency for time-critical functions, or can be set up to do background transfers of bulk data with little impact on system resources. The USB interface is generalized with no signal lines dedicated to only one function of one device. [4]

Limitations

USB cables are limited in length, as the standard was meant to connect to peripherals on the same table-top, not between rooms or between buildings. However, a USB port can be connected to a gateway that accesses distant devices. USB has a strict "tree" topology and "master-slave" protocol for addressing peripheral devices; peripheral devices cannot interact with one another except via the host, and two hosts cannot communicate over their USB ports directly. Some extension to this limitation is possible through USB On-The-Go. A host cannot "broadcast" signals to all peripherals at once, each must be addressed individually. Some very high speed peripheral devices require sustained speeds not available in the USB standard. [4] While converters exist between certain "legacy" interfaces and USB, they may not provide full implementation of the legacy hardware; for example, a USB to parallel port converter may work well with a printer, but not with a scanner that requires bi-directional use of the data pins.

For a product developer, use of USB requires implementation of a complex protocol and implies an "intelligent" controller in the peripheral device. Developers of USB devices intended for public sale generally must obtain a USB ID which requires a fee paid to the Implementers' Forum. Developers of products that use the USB specification must sign an agreement with Implementer's Forum. Use of the USB logos on the product require annual fees and membership in the organization. [4]

History

Large circle is left end of horizontal line. The line forks into three branches ending in circle, triangle and square symbols.
The basic USB trident logo[6]
USB logo on the head of a standard A plug

A group of seven companies began the development of USB in 1994: Compaq, DEC, IBM, Intel, Microsoft, NEC, and Nortel.[7] 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. A team including Ajay Bhatt worked on the standard at Intel;[8][9] the first integrated circuits supporting USB were produced by Intel in 1995.[10]

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.[10] Microsoft Windows 95, OSR 2.1 provided OEM support for the devices. 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.[11] Apple Inc.'s iMac was the first mainstream product with USB and the iMac's success popularized USB itself.[12] Following Apple's design decision to remove all legacy ports from the iMac, many PC manufacturers began building legacy-free PCs, which led to the broader PC market using USB as a standard.[13][14][15]

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 Nokia), NEC, and Philips jointly led the initiative to develop a higher data transfer rate, with the resulting specification achieving 480 Mbit/s, 40 times as fast as 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), decrease power consumption, increase power output, and be backward compatible with USB 2.0.[16] USB 3.0 includes a new, higher speed bus called SuperSpeed in parallel with the USB 2.0 bus.[17] For this reason, the new version is also called SuperSpeed.[18] The first USB 3.0 equipped devices were presented in January 2010.[18][19]

As of 2008, approximately 6 billion USB ports and interfaces were in the global marketplace, and about 2 billion were being sold each year.[20]

The USB 3.1 specification was published in July 2013.

In December 2014, USB-IF submitted USB 3.1, USB Power Delivery 2.0 and USB Type-C specifications to the IEC (TC 100 – Audio, video and multimedia systems and equipment) for inclusion in the international standard IEC 62680 Universal Serial Bus interfaces for data and power, which is currently based on USB 2.0.[21]

The USB 3.2 specification was published in September 2017.

Version history

Release versions

Release name Release date Maximum transfer rate Note
USB 0.8 December 1994 Prerelease
USB 0.9 April 1995 Prerelease
USB 0.99 August 1995 Prerelease
USB 1.0-RC November 1995 Release Candidate
USB 1.0 January 1996 Full Speed (12 Mbit/s)
USB 1.1 August 1998 Full Speed (12 Mbit/s)[22]
USB 2.0 April 2000 High Speed (480 Mbit/s)
USB 3.0 November 2008 SuperSpeed (5 Gbit/s) Also referred to as USB 3.1 Gen 1[23] and USB 3.2 Gen 1x1
USB 3.1 July 2013 SuperSpeed+ (10 Gbit/s) Also referred to as USB 3.1 Gen 2 [23] and USB 3.2 Gen 2x1
USB 3.2 September 2017 SuperSpeed+ (20 Gbit/s) Includes new USB 3.2 Gen 1x2 and USB 3.2 Gen 2x2 multi-link modes [24] [failed verification]
Release name Release date Max. power Note
USB Battery Charging 1.0 2007-03-08 5 V, 1.5 A
USB Battery Charging 1.1 2009-04-15
USB Battery Charging 1.2 2010-12-07 5 V, 5 A
USB Power Delivery revision 1.0 (version 1.0) 2012-07-05 20 V, 5 A Using FSK protocol over bus power (VBUS)
USB Power Delivery revision 1.0 (version 1.3) 2014-03-11
USB Type-C 1.0 2014-08-11 5 V, 3 A New connector and cable specification
USB Power Delivery revision 2.0 (version 1.0) 2014-08-11 20 V, 5 A Using BMC protocol over communication channel (CC) on type-C cables.
USB Type-C 1.1 2015-04-03 5 V, 3 A
USB Power Delivery revision 2.0 (version 1.1) 2015-05-07 20 V, 5 A
USB Power Delivery revision 2.0 (version 1.2) 2016-03-25 20 V, 5 A
USB Power Delivery revision 3.0 (version 1.1) 2017-01-12 20 V, 5 A

USB 1.x

Released in January 1996, USB 1.0 specified data rates of 1.5 Mbit/s (Low Bandwidth or Low Speed) and 12 Mbit/s (Full Speed).[25] It did not allow for extension cables or pass-through monitors, due to timing and power limitations. Few USB devices made it to the market until USB 1.1 was released in August 1998. USB 1.1 was the earliest revision that was widely adopted and led to what Microsoft designated the "Legacy-free PC".[12][13][14][15]

Neither USB 1.0 nor 1.1 specified a design for any connector smaller than the standard type A or type B. Though many designs for a miniaturised type B connector appeared on many peripherals, conformance to the USB 1.x standard was fudged by treating peripherals that had miniature connectors as though they had a tethered connection (that is: no plug or socket at the peripheral end). There was no known miniature type A connector until USB 2.0 (rev 1.01) introduced one.

USB 2.0

The Hi-Speed USB logo
A USB 2.0 PCI expansion card

USB 2.0 was released in April 2000, adding a higher maximum signaling rate of 480 Mbit/s (High Speed or High Bandwidth), in addition to the USB 1.x Full Speed signaling rate of 12 Mbit/s. Due to bus access constraints, the effective throughput of the High Speed signaling rate is limited to 280 Mbit/s or 35 MB/s.[26]

Modifications to the USB specification have been made via Engineering Change Notices (ECN). The most important of these ECNs are included into the USB 2.0 specification package available from USB.org:[27]

Some of the most significant items included in the change notices include:

USB 3.x

The SuperSpeed USB logo

The USB 3.0 specification was released on 12 November 2008, with its management transferring from USB 3.0 Promoter Group to the USB Implementers Forum (USB-IF), and announced on 17 November 2008 at the SuperSpeed USB Developers Conference.[29]

USB 3.0 adds a SuperSpeed transfer mode, with associated backward compatible plugs, receptacles, and cables. SuperSpeed plugs and receptacles are identified with a distinct logo and blue inserts in standard format receptacles.

The SuperSpeed bus provides for a transfer mode at a nominal rate of 5.0 Gbit/s, in addition to the three existing transfer modes. Its efficiency is dependent on a number of factors including physical symbol encoding and link level overhead. At a 5 Gbit/s (625 Mbyte/s) signaling rate with 8b/10b encoding, the raw throughput is 500 Mbyte/s. When flow control, packet framing and protocol overhead are considered, it is realistic for 400 Mbyte/s (3.2 Gbit/s) or more to be delivered to an application.[30] Communication is full-duplex in SuperSpeed transfer mode; earlier modes are half-duplex, arbitrated by the host.[31]

Low-power and high-power devices remain operational with this standard, but devices using SuperSpeed can take advantage of increased available current of between 150 mA and 900 mA, respectively.[32]

USB 3.1, released in July 2013, preserves the existing SuperSpeed transfer rate under a new label USB 3.1 Gen 1,[33][34] and introduces a new SuperSpeed+ transfer mode, USB 3.1 Gen 2 with the maximum data signaling rate to 10 Gbit/s (1250 MB/s, twice the rate of USB 3.0), which reduces line encoding overhead to just 3% by changing the encoding scheme to 128b/132b[33][35][36]

USB 3.2, released in September 2017, preserves existing USB 3.1 SuperSpeed and SuperSpeed+ data modes but introduces two new SuperSpeed+ transfer modes over the USB-C connector with data rates of 10 and 20 Gbit/s (1250 and 2500 MB/s). The increase in bandwidth is a result of multi-lane operation over existing wires that were intended for flip-flop capabilities of the Type-C connector.[37]

System design

A USB system consists of a host with one or more downstream ports, and multiple peripherals, forming a tiered-star topology. Additional USB hubs may be included, allowing up to five tiers. A USB host may have multiple controllers, each with one or more ports. Up to 127 devices may be connected to a single host controller.[38][39] USB devices are linked in series through hubs. The hub built into the host controller is the root hub.

A USB device may consist of several logical sub-devices that are referred to as device functions. A composite device may provide several functions, for example, a webcam (video device function) with a built-in microphone (audio device function). An alternative to this is compound device, in which the host assigns each logical device a distinctive address and all logical devices connect to a built-in hub that connects to the physical USB cable.

Diagram: inside a device are several endpoints, each of which is connected by a logical pipes to a host controller. Data in each pipe flows in one direction, although there are a mixture going to and from the host controller.
USB endpoints 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 to endpoints, the terms are sometimes used interchangeably. A USB device could have up to 32 endpoints (16 IN, 16 OUT), though it is rare to have so many. An endpoint is defined and numbered by the device during initialization (the period after physical connection called "enumeration") and so is relatively permanent, whereas a pipe may be opened and closed.

There are two types of pipe: stream and message. A message pipe is bi-directional and is used for control transfers. Message pipes are 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,[40] interrupt, or bulk 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) such as pointing devices, mice, and keyboards
Bulk transfers
Large sporadic transfers using all remaining available bandwidth, but with no guarantees on bandwidth or latency (e.g., file transfers)

When a host starts a data transfer, it sends a TOKEN packet containing an endpoint specified with a tuple of (device_address, endpoint_number). If the transfer is from the host to the endpoint, the host sends an OUT packet (a specialization of a TOKEN packet) with the desired device address and endpoint number. If 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 is ignored. Otherwise, it is accepted and the data transaction can start. A bi-directional endpoint, on the other hand, accepts both IN and OUT packets.

Rectangular opening where the width is twice the height. The opening has a metal rim, and within the opening a flat rectangular bar runs parallel to the top side.
Two USB 3.0 standard A sockets (left) and two USB 2.0 sockets (right) on a computer's front panel

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 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. There may be one translator per hub or per port.

Because there are two separate controllers in each USB 3.0 host, USB 3.0 devices 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 earlier devices are set in the legacy manner.

Device classes

The functionality of a USB device is defined by a class code sent to a USB host. This allows the host to load software modules for the device and to support new devices from different manufacturers.

Device classes include:[41]

Class Usage Description Examples, or exception
00h Device Unspecified[42] 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, RS232 serial adapter. Used together with class 0Ah (below)
03h Interface Human interface device (HID) Keyboard, mouse, joystick
05h Interface Physical Interface Device (PID) Force feedback joystick
06h Interface Image (PTP/MTP) Webcam, scanner
07h Interface Printer Laser printer, inkjet printer, CNC machine
08h Interface Mass storage (MSC or UMS) 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 (above)
0Bh Interface Smart Card USB smart card reader
0Dh Interface Content security Fingerprint reader
0Eh Interface Video Webcam
0Fh Interface Personal healthcare device class (PHDC) Pulse monitor (watch)
10h Interface Audio/Video (AV) Webcam, TV
11h Device Billboard Describes USB Type-C alternate modes supported by device
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),[43] USB DFU (Device Firmware Upgrade)[44]
FFh Both Vendor-specific Indicates that a device needs vendor-specific drivers

USB mass storage / USB drive

A flash drive, a typical USB mass-storage device
Circuit board from a USB 3.0 external 2.5-inch SATA HDD enclosure

USB mass storage device class (MSC or UMS) standardizes connections to storage devices. At first intended for magnetic and optical drives, it has been extended to support flash drives. It has also been extended to support a wide variety of novel devices as 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 personal computers since mid-2004 can boot from USB mass storage devices, USB is not intended as a primary bus for a computer's internal storage. . However, USB has the advantage of allowing hot-swapping, making it useful for mobile peripherals, including drives of various kinds.

First conceived and still used today for optical storage devices (CD-RW drives, DVD drives, etc.), several manufacturers offer external portable USB hard disk drives, or empty enclosures for disk drives. These offer performance comparable to internal drives, limited by the current number and types of attached USB devices, and by the upper limit of the USB interface. Other competing standards for external drive connectivity include eSATA, ExpressCard, 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.[45][46]

Media Transfer Protocol

Media Transfer Protocol (MTP) was designed by Microsoft to give higher-level access to a device's filesystem than USB mass storage, at the level of files rather than disk blocks. It also has optional DRM features. MTP was designed for use with portable media players, but it has since been adopted as the primary storage access protocol of the Android operating system from the version 4.1 Jelly Bean as well as Windows Phone 8 (Windows Phone 7 devices had used the Zune protocol—an evolution of MTP). The primary reason for this is that MTP does not require exclusive access to the storage device the way UMS does, alleviating potential problems should an Android program request the storage while it is attached to a computer. The main drawback is that MTP is not as well supported outside of Windows operating systems.

Human interface devices

Joysticks, keypads, tablets and other human-interface devices (HIDs) are also progressively[when?] 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. For mice and keyboards with dual-protocol support, an adaptor that contains no logic circuitry may be used: 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 that connect PS/2 keyboards and mice (usually one of each) to a USB port.[47] These devices present two HID endpoints to the system and use a microcontroller to perform bidirectional data translation between the two standards.

Device Firmware Upgrade

Device Firmware Upgrade (DFU) is a vendor- and device-independent mechanism for upgrading the firmware of USB devices with improved versions provided by their manufacturers, offering (for example) a way to deploy firmware bug fixes. During the firmware upgrade operation, USB devices change their operating mode effectively becoming a PROM programmer. Any class of USB device can implement this capability by following the official DFU specifications.[44][48][49]

In addition to its intended legitimate purposes, DFU can also be exploited by uploading maliciously crafted firmware that causes USB devices to spoof various other device types; one such exploiting approach is known as BadUSB.[50]

Connectors

The connectors the USB committee specifies support a number of USB's underlying goals, and reflect lessons learned from the many connectors the computer industry has used. The female connector mounted on the host or device is called the receptacle, and the male connector attached to the cable is called the plug.[51] T[52]

USB extension cable

By design, it is difficult to insert a USB plug into its receptacle incorrectly. The USB specification requires that the cable plug and receptacle be marked so the user can recognize the proper orientation. [51] The type-C plug is reversible. USB cables and small USB devices are held in place by the gripping force from the receptacle, with no screws, clips, or thumb-turns as other connectors use.

The different A and B plugs prevent accidentally connecting two power sources. However, some of this directed topology is lost with the advent of multi-purpose USB connections (such as USB On-The-Go in smartphones, and USB-powered Wi-Fi routers), which require A-to-A, B-to-B, and sometimes Y/splitter cables.

USB connector types multiplied as the specification progressed. The original USB specification detailed standard-A and standard-B plugs and receptacles.The connectors were different so that users could not connect one computer receptacle to another. The data pins in the standard plugs are recessed compared to the power pins,so that the device can power up before establishing a data connection. Some devices operate in different modes depending on whether the data connection is made. Charging docks supply power and do not include a host device or data pins, allowing any capable USB device to charge or operate from a standard USB cable. Charging cables provide power connections, but not data. In a charge-only cable, the data wires are shorted at the device end, otherwise the device may reject the charger as unsuitable.

Cabling

This section is being moved to USB (Physical)#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 D± signals used by low, full, and high speed are carried over a twisted pair (typically, unshielded) to reduce noise and crosstalk. SuperSpeed uses separate transmit and receive differential pairs, which additionally require shielding (typically, shielded twisted pair but twinax is also mentioned by the specification). Thus, to support SuperSpeed data transmission, cables contain twice as many wires and are thus larger in diameter.[53]

The USB 1.1 standard specifies that a standard cable can have a maximum length of 5 metres (16 ft 5 in) with devices operating at full speed (12 Mbit/s), and a maximum length of 3 metres (9 ft 10 in) with devices operating at low speed (1.5 Mbit/s).[54][55][56]

USB 2.0 provides for a maximum cable length of 5 metres (16 ft 5 in) for devices running at high 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.[57] The USB 2.0 specification requires that cable delay be less than 5.2 ns per meter (1.6 ns/ft, 192000 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).[58]

Power

This section is being moved to USB (Physical)#POWER

USB power standards
Specification Current Voltage Power (max)
Low-power device 100 mA 5 V 0.50 W
Low-power SuperSpeed (USB 3.0) device 150 mA 5 V 0.75 W
High-power device 500 mA[b] 5 V 2.5 W
High-power SuperSpeed (USB 3.0) device 900 mA[c] 5 V 4.5 W
Battery Charging (BC) 1.2 1.5 A 5 V 7.5 W
Type-C 1.5 A 5 V 7.5 W
3 A 5 V 15 W
Power Delivery 2.0 Micro-USB 3 A 20 V 60 W
Power Delivery 2.0 Type-A/B/C[d] 5 A 20 V 100 W
  1. ^ The VBUS supply from a low-powered hub port may drop to 4.40 V.
  2. ^ Up to five unit loads; with non-SuperSpeed devices, one unit load is 100 mA.
  3. ^ Up to six unit loads; with SuperSpeed devices, one unit load is 150 mA.
  4. ^ Requires active PD 5 A cable.

USB supplies power at 5 V ± 5% to power USB downstream devices. To allows for voltage drops, the voltage at the hub port is specified in the range 5.00+0.25
−0.60
 V
by USB 2.0, and 5.00+0.25
−0.55
 V
[59] by USB 3.0. Devices' configuration and low-power functions must operate down to 4.40 V at the hub port by USB 2.0 and that devices' configuration, low-power, and high-power functions must operate down to 4.00 V at the device port by USB 3.0.

The limit to device power draw is stated in terms of a unit load, which is 100 mA or 150 mA for SuperSpeed devices. Low-power devices may draw at most 1 unit load, and all devices must act as low-power devices before they are configured. High-power devices draw at most 5 unit loads (500 mA) or 6 unit loads (900 mA) for SuperSpeed devices. A high-powered device must be configured, and may only draw as much power as specified in its configuration.[60][61][62][63] I.e., the maximum power may not be available.

A bus-powered hub is a high-power device providing low-power ports. It draws 1 unit load for the hub controller and 1 unit load for each of at most 4 ports. The hub may also have some non-removable functions in place of ports. A self-powered hub is a device that provides high-power ports. Optionally, the hub controller may draw power for its operation as a low-power device, but all high-power ports draw from the hub's self-power.

Where devices (for example, high-speed disk drives) require more power than a high-power device can draw,[64] they function erratically, if at all, from bus power of a single port. USB provides for these devices as being self-powered. However, such devices may come with a Y-shaped cable that has two USB plugs (one for power and data, the other for only power), so as to draw power as two devices.[65] Such a cable is non-standard, with the USB compliance specification stating that "use of a 'Y' cable (a cable with two A-plugs) is prohibited on any USB peripheral", meaning that "if a USB peripheral requires more power than allowed by the USB specification to which it is designed, then it must be self-powered."[66]

USB Battery Charging

USB Battery Charging defines a charging port,which may be a charging downstream port (CDP), with data, or a dedicated charging port (DCP) without data. Dedicated charging ports can be found on USB power adapters to run attached devices and battery packs. Charging ports on a host with both kinds will be labelled. [67]

The charging device identifies a charging port by non-data signaling on the D+ and D− terminals. A dedicated charging port places a resistance not exceeding 200 Ω across the D+ and D− terminals.[67][68]

Per the base specification, any device attached to an SDP must initially be a low-power device, with high-power mode contingent on later USB configuration by the host. Charging ports, however, can immediately supply between 0.5 and 1.5 A of current. The charging port must not apply current limiting below 0.5 A, and must not shut down below 1.5 A or before the voltage drops to 2 V.[67]

Since these currents are larger than in the original standard, the extra voltage drop in the cable reduces noise margins, causing problems with High Speed signaling. Battery Charging Specification 1.1 specifies that charging devices must dynamically limit bus power current draw during High Speed signaling;[69] 1.2 specifies that charging devices and ports must be designed to tolerate the higher ground voltage difference in High Speed signaling.

Revision 1.2 of the specification was released in 2010. Several changes are made and limits are increased including allowing 1.5 A on charging downstream 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. Also, support is removed for charging port detection via resistive mechanisms.[28]

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− = 2.0 V, the device may pull up to 500 mA. When D+ = 2.0 V and D− = 2.8 V, the device may pull up to 1 A of current.[70] When D+ = 2.8 V and D− = 2.0 V, the device may pull up to 2 A of current.[71]

Accessory charging adaptors (ACA)

Portable devices having an USB On-The-Go port may want to charge and access USB peripheral at the same time, but having only a single port (both due to On-The-Go and space requirement) prevents this. Accessory charging adapters (ACA) are devices that provide portable charging power to an On-The-Go connection between host and peripheral.

ACAs have three ports: the OTG port for the portable device, which is required to have a Micro-A plug on a captive cable; the accessory port, which is required to have a Micro-AB or type-A receptacle; and the charging port, which is required to have a Micro-B receptacle, or type-A plug or charger on a captive cable. The ID pin of the OTG port is not connected within plug as usual, but to the ACA itself, where signals outside the OTG floating and ground states are used for ACA detection and state signaling. The charging port does not pass data, but does use the D± signals for charging port detection. The accessory port acts as any other port. When appropriately signaled by the ACA, the portable device can charge from the bus power as if there were a charging port present; any OTG signals over bus power are instead passed to the portable device via the ID signal. Bus power is also provided to the accessory port from the charging port transparently.[67]

Power Delivery (PD)

USB PD rev. 1.0 source profiles[72]
Profile +5 V +12 V +20 V
0 Reserved
1 2.0 A, 10 W[a]
2 1.5 A, 18 W
3 3.0 A, 36 W
4 3.0 A, 60 W
5 5.0 A, 60 W 5.0 A, 100 W
  1. ^ Default start-up profile
USB PD rev. 2.0/3.0 source power rules[73][74]
Source output
power (W)
Current, at: (A)
+5 V +9 V +15 V +20 V
0.5–15 0.1–3.0
15–27 3.0
(15 W)
1.67–3.0
27–45 3.0
(27 W)
1.8–3.0
45–60 3.0
(45 W)
2.25–3.0
60–100 3.0–5.0

In July 2012, the USB Promoters Group announced the finalization of the USB Power Delivery (PD) Specification (USB PD rev. 1), an extension that specifies using certified PD aware USB cables with standard USB Type-A and Type-B connectors to deliver increased power (more than 7.5 W) to devices with larger power demand. Devices can request higher currents and supply voltages from compliant hosts – up to 2 A at 5 V (for a power consumption of up to 10 W), and optionally up to 3 A or 5 A at either 12 V (36 W or 60 W) or 20 V (60 W or 100 W).[75] In all cases, both host-to-device and device-to-host configurations are supported.[76]

The intent is to permit uniformly charging laptops, tablets, USB-powered disks and similarly higher-power consumer electronics, as a natural extension of existing European and Chinese mobile telephone charging standards. This may also affect the way electric power used for small devices is transmitted and used in both residential and public buildings.[77][78] The standard is designed to coexist with the previous USB Battery Charging specification.[79]

The Power Delivery Specification defines six fixed power profiles for the power sources. PD-aware devices implement a flexible power management scheme by interfacing with the power source through a bidirectional data channel and requesting a certain level of electrical power, variable up to 5 A and 20 V depending on supported profile. The power configuration protocol uses a 24 MHz BFSK-coded transmission channel on the VBUS line.

The USB Power Delivery Specification revision 2.0 (USB PD rev. 2) has been released as part of the USB 3.1 suite.[73][80] It covers the Type-C cable and connector with four power/ground pairs and a separate configuration channel, which now hosts a DC coupled low-frequency BMC-coded data channel that reduces the possibilities for RF interference.[81] Power Delivery protocols have been updated to facilitate Type-C features such as cable ID function, Alternate Mode negotiation, increased VBUS currents, and VCONN-powered accessories.

As of USB Power Delivery Specification revision 2.0, version 1.2, the six fixed power profiles for power sources have been deprecated.[82] USB PD Power Rules replace power profiles, defining four normative voltage levels at 5 V, 9 V, 15 V, and 20 V. Instead of six fixed profiles, power supplies may support any maximum source output power from 0.5 W to 100 W.

The USB Power Delivery Specification revision 3.0 defines a programmable power supply protocol that allows granular control over VBUS power in 20 mV steps to facilitate constant current or constant voltage charging. Revision 3.0 also adds extended configuration messages, fast role swap, and deprecates the BFSK protocol.[74][83][84]

As of April 2016, there are silicon controllers available from several sources such as TI and Cypress.[85][86] Power supplies bundled with Type-C based laptops from Apple, Google, HP, Dell, and Razer support USB PD.[87] In addition, accessories from third party vendors including Anker,[88] Belkin,[89][90] iVoler,[91] and Innergie[92] support USB PD rev. 2 at multiple voltages. Asus make a PD compliant adapter card, the USB 3.1 UPD Panel.[93]

On 8 January 2018 USB-IF announced "Certified USB Fast Charger" which will certify chargers that use the feature "Programmable Power Supply" (PPS) of the USB Power Delivery 3.0 specification.[94]

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, preventing phones and other devices from charging. 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 drains the laptop battery faster; most laptops have a facility to stop charging if their own battery charge level gets too low.[95] This feature has also been implemented on some laptop docking stations allowing device charging even when no laptop is present.[96]

Sleep-and-charge USB ports may be found colored differently than regular ports, mostly red or yellow,[citation needed] though that is not always the case.

On Dell and Toshiba laptops, the port is marked with the standard USB symbol with an added lightning bolt icon on the right side. Dell calls this feature PowerShare,[97] while Toshiba calls it USB Sleep-and-Charge.[98] On Acer Inc. and Packard Bell laptops, sleep-and-charge USB ports are marked with a non-standard symbol (the letters USB over a drawing of a battery); the feature is simply called Power-off USB.[99]

Mobile device charger standards

In China

As of 14 June 2007, all new mobile phones applying for a license in China are required to use a USB port as a power port for battery charging.[100][101] This was the first standard to use the convention of shorting D+ and D−.[102]

OMTP/GSMA Universal Charging Solution

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.[103][104]

The GSM Association (GSMA) followed suit on 17 February 2009,[105][105][106][107][108] and on 22 April 2009, this was further endorsed by the CTIA – The Wireless Association,[109] with the International Telecommunication Union (ITU) announcing on 22 October 2009 that it had also 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."[110]

EU smartphone power supply standard

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 (common EPS). The EU's common EPS specification (EN 62684:2010) references the USB Battery Charging Specification and is similar to the GSMA/OMTP and Chinese charging solutions.[111][112] In January 2011, the International Electrotechnical Commission (IEC) released its version of the (EU's) common EPS standard as IEC 62684:2011.[113]

Non-standard devices

This section does not cite any sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (October 2011) (Learn how and when to remove this message)

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 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., the current 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.[114]

Some non-standard USB devices use the 5 V power supply without participating in a proper USB network, which negotiates power draw with the host interface. These are usually called USB decorations.[citation needed] Examples include USB-powered keyboard lights, fans, mug coolers and heaters, battery chargers, miniature vacuum cleaners, and even miniature lava lamps. In most cases, these items contain no digital circuitry, and thus are not standard-compliant USB devices. This may cause problems with some computers, such as drawing too much current and damaging circuitry. Prior to the USB 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 then permits the device to switch into high-power mode.

Some devices, when plugged into charging ports, draw even more power (10 watts at 2.1 amperes) than the Battery Charging Specification allows — The iPad is one such device.[115] Barnes & Noble Nook Color devices also require a special charger that runs at 1.9 amperes.[116]

PoweredUSB

PoweredUSB is a proprietary extension that adds four additional pins supplying up to 6 A at 5 V, 12 V, or 24 V. It is commonly used in point of sale systems to power peripherals such as barcode readers, credit card terminals, and printers.

Signaling (USB PHY)

Signaling rate (transmission rate)

Mode Abbrev Gross data rate Introduced in
Low Speed LS 1.5 Mbit/s (187.5 KB/s) USB 1.0
Full Speed FS 12 Mbit/s (1.5 MB/s) USB 1.0
High Speed
Also, Hi-Speed
HS 480 Mbit/s (60 MB/s) USB 2.0
SuperSpeed SS 5 Gbit/s (625 MB/s) USB 3.0
SuperSpeed+ SS+ 10 Gbit/s (1.25 GB/s) USB 3.1
SuperSpeed+ SS+ 20 Gbit/s (2.5 GB/s) USB 3.2

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 personal computer chipset manufacturers overcome this bottleneck by providing multiple USB 2.0 controllers within the southbridge.

According to routine testing performed by CNet, write operations to typical Hi-Speed hard drives can sustain rates of 25–30 MB/s, while read operations are at 30–42 MB/s;[117] this is 70% of the total available bus bandwidth. For USB 3.0, typical write speed is 70–90 MB/s, while read speed is 90–110 MB/s.[117] Mask tests, also known as eye diagram tests, are used to determine the quality of a signal in the time domain. They are defined in the referenced document as part of the electrical test description for the high-speed (HS) mode at 480 Mbit/s.[118]

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".[119] 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.

Transaction latency

For low-speed (1.5 Mbit/s) and full-speed (12 Mbit/s) devices the shortest time for a transaction in one direction is 1 ms.[122] High-speed (480 Mbit/s) uses transactions within each micro frame (125 µs)[123] where using 1-byte interrupt packet results in a minimal response time of 940 ns. 4-byte interrupt packet results in 984 ns.[citation needed]

Electrical specification

USB signals are transmitted using differential signaling on a twisted-pair data cable with 90 Ω ± 15% characteristic impedance.[124]

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.

Signaling state

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.

Line transition state

The following terminology is used to assist in the technical discussion regarding USB PHY signaling.

Signal Line transition state Description USB 1.x Low Speed

(1.5 kΩ pullup on D−)

USB 1.x Full Speed

(1.5 kΩ pullup on D+)

D+ D− D+ D−
J Same as idle line state This is present during a transmission line transition. Alternatively, it is waiting for a new packet. low high high low
K Inverse of J state This is present during a transmission line transition. high low low high
SE0 Single-Ended Zero Both D+ and D− is low. This may indicate an end of packet signal or a detached USB device. low low low low
SE1 Single-Ended One This is an illegal state and should never occur. This is seen as an error. high high high high

Line state (covering USB 1.x and 2.x)

Line state/signal Description USB 1.x Low-Speed USB 1.x Full-Speed USB 2.x High-Speed
Detached No device detected. Both lines are pulled down by 15 kΩ pull-down resistors on the host side. SE0 >= 2 µs SE0 >= 2 µs SE0 >= 2 µs
Connect USB device pull ups on D+ or D- wakes the host from detached line state. This starts the USB enumeration process. This sets the idle state. D- is pulled up by 1.5 kΩ device side. D+ is pulled up by 1.5 kΩ device side. Special chirping sequence
Idle / J Host and device transmitter at Hi-Z.

Sensing line state in case of detached state.

Same as detached or connect state. Same as detached or connect state.
Sync Start of a packet line transition pattern. Line transitions: KJKJKJKK Line transitions: KJKJKJKK 15 KJ pairs followed by 2 K’s, for a total of 32 symbols.
EOP End of packet line transition pattern. Line Transitions: SE0 + SE0 + J Line Transitions: SE0 + SE0 + J
Reset Reset USB device to a known initial state. SE0 >= 2.5 ms SE0 >= 2.5 ms
Suspend Power down the device, such that it would only consume 0.5 mA from VBUS. Exits this state only after a resume or reset signal is received. To avoid this state a SOF packet (high-speed) or a keep alive (low-speed) signal is given. J >= 3 ms J >= 3 ms
Resume (host) Host wants to wake device up. K >= 20 ms then EOP pattern K >= 20 ms then EOP pattern
Resume (device) Device wants to wake up. (Must be in idle for at least 5 ms.) Device drives K >= 1 ms
Host then sends a resume signal.
Device drives K >= 1 ms
Host then sends a resume signal.
Keep alive (low-speed) Host wants to tell low speed device to stay awake. EOP pattern once every millisecond. Not applicable Not applicable

Transmission

USB data is transmitted by toggling the data lines between the J state and the opposite K state. USB encodes data using the NRZI line coding:

To ensure that there are enough signal transitions for clock recovery to occur in the bitstream, a bit stuffing technique is applied to the data stream: an extra 0 bit is insert into the data stream after any occurrence of six consecutive 1 bits. (Thus ensuring that there is a 0 bit to cause a transmission state transition.) Seven consecutively received 1 bits are always an error. For USB 3.0, additional data transmission encoding is used to handle the higher data rates required.

Transmission example on a USB 1.1 full-speed device

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 2.0 speed negotiation

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 USB 2.0 High Speed capable first connects as a Full Speed 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 operates at high bandwidth. The device has to receive at least three 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±0.24 Mbit/s, 12.00±0.03 Mbit/s, and 1.50±0.18 Mbit/s.

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.0

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.[125] SSC clock and 300 ppm precision is used. Packet headers are protected with CRC-16, while data payload is protected with CRC-32.[126] Power up to 3.6 W may be used. One unit load in Super Speed mode is equal to 150 mA.[126]

Protocol layer

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 never needs 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):

Handshake packets

Field Sync PID EOP
Bits 8
Signal KJ KJ KJ KK XXXX XXXX 00J

Handshake packets consist of only a single PID byte, and are generally sent in response to data packets. Error detection is provided by transmitting four bits, which represent the packet type twice, in a single PID byte using complemented form. The three basic types are ACK, indicating that data was successfully received; NAK, indicating that the data cannot be received and should be retried; and STALL, indicating that the device has an error condition and cannot transfer data until some corrective action (such as device initialization) occurs.[127][128]

USB 2.0 added two additional handshake packets: NYET and ERR. NYET indicates that a split transaction is not yet complete, while ERR handshake indicates that a split transaction failed. A second use for a NYET packet is to tell the host that the device has accepted a data packet, but cannot accept any more due to full buffers. This allows a host to switch to sending small PING tokens to inquire about the device's readiness, rather than sending an entire unwanted DATA packet just to elicit a NAK.[127][128]

The only handshake packet the USB host may generate is ACK. If it is not ready to receive data, it should not instruct a device to send.

Token packets

Token packets consist of a PID byte followed by two payload bytes: 11 bits of address and a five-bit CRC. Tokens are only sent by the host, never a device. Below are tokens present from USB 1.0:

USB 2.0 also added a PING Token and a larger three-byte SPLIT Token

OUT, IN, SETUP, and PING token packets

Field Sync PID ADDR ENDP CRC5 EOP
Bits 8 7 4 5
Signal KJ KJ KJ KK XXXX XXXX XXXX XXX XXXX XXXXX 00J

SOF: Start-of-frame

Field Sync PID Frame number CRC5 EOP
Bits 8 11 5
Signal KJ KJ KJ KK XXXX XXXX XXXX XXXX XXX XXXXX SE0 SE0 J

SSPLIT and CSPLIT: Start-split transaction and complete split transaction

S/C Mode Field
0 = SSPLIT Sync PID Hub address S/C Port number S E ET CRC5 EOP
1 = CSPLIT Sync PID Hub address S/C Port number S U ET CRC5 EOP
Bits 8 7 1 7 1 1 2 5
Signal KJ KJ KJ KK XXXX XXXX XXXX XXX X XXXX XXX X X XX XXXXX SE0 SE0 J

Data packets

Field Sync PID DATA CRC16 EOP
Bits 8 0-8192 16
Signal KJ KJ KJ KK XXXX XXXX (XXXX XXXX)*byteCount XXXX XXXX XXXX XXXX SE0 SE0 J

A data packet consists of the PID followed by 0–1,024 bytes of data payload (up to 1,024 bytes for high-speed devices, up to 64 bytes for full-speed devices, and at most eight bytes for low-speed devices),[130] and a 16-bit CRC.

There are two basic forms of data packet, DATA0 and DATA1. A data packet must always be preceded by an address token, and is usually followed by a handshake token from the receiver back to the transmitter. The two packet types provide the 1-bit sequence number required by stop-and-wait ARQ. If a USB host does not receive a response (such as an ACK) for data it has transmitted, it does not know if the data was received or not; the data might have been lost in transit or it might have been received but the handshake response was lost.

To solve this problem, the device keeps track of the type of DATAx packet it last accepted. If it receives another DATAx packet of the same type, it is acknowledged but ignored as a duplicate. Only a DATAx packet of the opposite type is actually received.

If the data is corrupted while transmitted or received, the CRC check fails. When this happens, the receiver does not generate an ACK, which makes the sender resend the packet.[131]

When a device is reset with a SETUP packet, it expects an 8-byte DATA0 packet next.

USB 2.0 added DATA2 and MDATA packet types as well. They are used only by high-bandwidth devices doing high-bandwidth isochronous transfers that must transfer more than 1024 bytes per 125 µs micro frame (8,192 kb/s).

PRE packet (tells hubs to temporarily switch to low speed mode)

A hub is able to support low bandwidth devices mixed with other speed device via a special PID value, PRE. This is required as a USB hub functions as a very simple repeater, broadcasting the host message to all connected devices regardless if the packet was for it or not. This means in a mixed speed environment, there is a potential danger that a low speed could misinterpret a high or full speed signal from the host.

To eliminate this danger, if a USB hub detects a mix of high speed or full speed and low speed devices, it, by default, disables communication to the low speed device unless it receives a request to switch to low speed mode. On reception of a PRE packet however, it temporarily re-enables the output port to all low speed devices, to allow the host to send a single low speed packet to low speed devices. After the low speed packet is sent, an end of packet (EOP) signal tells the hub to disable all outputs to low speed devices again.

Since all PID bytes include four 0 bits, they leave the bus in the full-bandwidth K state, which is the same as the low-bandwidth J state. It is followed by a brief pause, during which hubs enable their low-bandwidth outputs, already idling in the J state. Then a low-bandwidth packet follows, beginning with a sync sequence and PID byte, and ending with a brief period of SE0. Full-bandwidth devices other than hubs can simply ignore the PRE packet and its low-bandwidth contents, until the final SE0 indicates that a new packet follows.

Full speed PRE preamble Hub setup enable output
to low speed devices.
Low speed packet example Hub disable output
to low speed devices.
Field Sync PID (PRE) Sync PID ADDR ENDP CRC5 EOP
Bits 8 8 7 4 5
Signal KJ KJ KJ KK XXXX XXXX KJ KJ KJ KK XXXX XXXX XXXX XXX XXXX XXXXX 00J

Transaction

OUT transaction

OUT transaction (3 packets total)
Host Host Device
Packet PID OUT DATAx ACK
Packet type Token Data Handshake
Description Tell device on
ADDRx
to start listening for incoming data packet on endpoint
EPx.
Tell USB device the data that you want to send to it. Device tells the host that it has successfully received and loaded the data payload to buffer EPx.

IN transaction

IN transaction (3 packets total)
Host Device Host
Packet PID IN DATAx ACK
Packet type Token Data Handshake
Description Tell device on
ADDRx
to send any data that it has on its endpoint buffer
EPx.
Device checks its EPx endpoint buffer and sends the requested data to host. Host lets device know that it has successfully received the payload and have loaded the payload into its EPx buffer.

SETUP transaction

This is used for device enumeration and connection management and informs the device that the host would like to start a control transfer exchange.

SETUP transaction (3 packets total)
Host Host Device
Packet PID SETUP DATA0 ACK
Packet type Token Data Handshake
Description Tell device on
ADDRx
to start setup mode and be ready for a data packet.
Send to device the 8 bytes long setup packet. Device acknowledge reception of SETUP data and updates its setup state machine.

Setup packet

Field wLength wIndex wValue bRequest bmRequestType
Offset 8 4 2 1 0
Bytes 2 2 2 1 1
Bits 16 16 16 8 1 2 5
Name Count Index Value Request Data phase transfer direction Type Recipient
Description Numbers of bytes expected to be transferred in the data stage. This is a parameter value. Depends on bRequest.
Typically used for specifying endpoint or interface.
This is a parameter value. Depends on bRequest. This is the setup request command. 0 = Host to device, 1 = Device to host 0 = Standard, 1 = Class, 2 = Vendor, 3 = Reserved 0 = Device, 1 = Interface, 2 = Endpoint, 3 = Other, 4 to 31 = Reserved

Control transfer exchange

The control transfer exchange consist of three distinct stages:

This allows the host to perform bus management action like enumerating new USB devices via retrieving the new device device descriptors. Retrieval of the device descriptors would especially allow for determining the USB Class, VID, and PID, which are often used for determining the correct USB driver for the device.

Also, after the device descriptor is retrieved, the host performs another control transfer exchange, but instead to set the address of the USB device to a new ADDRx.

Audio streaming

The USB Device Working Group has laid out specifications for audio streaming. Although USB technology wasn't designed with audio streaming in mind, specific standards have been developed and implemented for audio class uses.

The DWG distinguishes two audio device modes[132] specifications: Audio 1.0 specification and Audio 2.0 specification. Three types of devices are defined:

Three levels of synchronisation were defined: asynchronous, synchronous, and adaptive.[133]

Comparisons with other connection methods

A variety of USB cables for sale in Hong Kong.

FireWire

At first, USB was considered a complement to IEEE 1394 (FireWire) technology, which was designed as a high-bandwidth serial bus that efficiently interconnects peripherals such as disk drives, audio interfaces, and video equipment. In the initial design, USB operated at a far lower data rate and used less sophisticated hardware. It was suitable for small peripherals such as keyboards and pointing devices.

The most significant technical differences between FireWire and USB include:

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, FireWire 400 is faster than USB 2.0 high-bandwidth in real-use,[134] especially in high-bandwidth use such as external hard drives.[135][136][137][138] The newer FireWire 800 standard is twice as fast as FireWire 400 and faster than USB 2.0 high-bandwidth both theoretically and practically.[139] However, FireWire's speed advantages rely on low-level techniques such as direct memory access (DMA), which in turn have created opportunities for security exploits such as the DMA attack.

The chipset and drivers used to implement USB and FireWire have a crucial impact on how much of the bandwidth prescribed by the specification is achieved in the real world, along with compatibility with peripherals.[140]

Ethernet

The IEEE 802.3af Power over Ethernet (PoE) standard specifies a more elaborate power negotiation scheme than powered USB. It operates at 48 V DC and can supply more power (up to 12.95 W, PoE+ 25.5 W) over a cable up to 100 meters compared to USB 2.0, which provides 2.5 W with a maximum cable length of 5 meters. This has made PoE popular for VoIP telephones, security cameras, wireless access points, and other networked devices within buildings. However, USB is cheaper than PoE provided that the distance is short and power demand is low.

Ethernet standards require electrical isolation between the networked device (computer, phone, etc.) and the network cable up to 1500 V AC or 2250 V DC for 60 seconds.[141] USB has no such requirement as it was designed for peripherals closely associated with a host computer, and in fact it connects the peripheral and host grounds. This gives Ethernet a significant safety advantage over USB with peripherals such as cable and DSL modems connected to external wiring that can assume hazardous voltages under certain fault conditions.[142]

MIDI

Digital musical instruments are another example where USB is competitive for low-cost devices. However, Power over Ethernet and the MIDI plug standard have an advantage in high-end devices that may have long cables. USB can cause ground loop problems between equipment, because it connects ground references on both transceivers. By contrast, the MIDI plug standard and Ethernet have built-in isolation to 500V or more.

eSATA/eSATAp

The eSATA connector is a more robust SATA connector, intended for connection to external hard drives and SSDs. eSATA's transfer rate (up to 6 Gbit/s) is similar to that of USB 3.0 (up to 5 Gbit/s on current devices; 10 Gbit/s speeds via USB 3.1, announced on 31 July 2013). A device connected by eSATA appears as an ordinary SATA device, giving both full performance and full compatibility associated with internal drives.

eSATA does not supply power to external devices. This is an increasing disadvantage compared to USB. Even though USB 3.0's 4.5 W is sometimes insufficient to power external hard drives, technology is advancing and external drives gradually need less power, diminishing the eSATA advantage. eSATAp (power over eSATA; aka ESATA/USB) is a connector introduced in 2009 that supplies power to attached devices using a new, backward compatible, connector. On a notebook eSATAp usually supplies only 5 V to power a 2.5-inch HDD/SSD; on a desktop workstation it can additionally supply 12 V to power larger devices including 3.5-inch HDD/SSD and 5.25-inch optical drives.

eSATAp support can be added to a desktop machine in the form of a bracket connecting the motherboard SATA, power, and USB resources.

eSATA, like USB, supports hot plugging, although this might be limited by OS drivers and device firmware.

Thunderbolt

Thunderbolt combines PCI Express and Mini DisplayPort into a new serial data interface. Original Thunderbolt implementations have two channels, each with a transfer speed of 10 Gbit/s, resulting in an aggregate unidirectional bandwidth of 20 Gbit/s.[143]

Thunderbolt 2 uses link aggregation to combine the two 10 Gbit/s channels into one bi-directional 20 Gbit/s channel.

Thunderbolt 3 uses the USB Type-C connector.[144][145][146] Thunderbolt 3 has one 40 Gbit/s channel.

Interoperability

Various protocol converters are available that convert USB data signals to and from other communications standards.

The Wireless USB logo.

The USB Implementers Forum is working on a wireless networking standard based on the USB protocol.[when?] Wireless USB is a cable-replacement technology, and uses ultra-wideband wireless technology for data rates of up to 480 Mbit/s.

InterChip USB is a chip-to-chip variant that eliminates the conventional transceivers found in normal USB. The HSIC physical layer uses about 50% less power and 75% less board area compared to USB 2.0.[147]

See also

References

  1. ^ "82371FB (PIIX) and 82371SB (PIIX3) PCI ISA IDE Xcelerator" (PDF). Intel. May 1996. Archived from the original (PDF) on 13 March 2016. Retrieved 12 March 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  2. ^ a b "USB 'A' Plug Form Factor Revision 1.0" (PDF). USB Implementers Forum. 23 March 2005. p. 1. Archived from the original (PDF) on 19 May 2017. Retrieved 4 June 2017. Body length is fully 12 mm in width by 4.5 mm in height with no deviations ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  3. ^ "USB deserves more support", Business, Boston Globe Online, Simson, 31 December 1995, archived from the original on 6 April 2012, retrieved 12 December 2011 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  4. ^ a b c d e Jan Axelson, USB Complete: The Developer's Guide, Fifth Edition, Lakeview Research LLC, 2015 ,ISBN 1931448280, pages 1-7
  5. ^ https://www.pcmag.com/encyclopedia/term/44434/how-to-install-a-pc-peripheral How to install a PC peripheral, retrieved 2018 Feb 17
  6. ^ Icon design recommendation for Identifying USB 2.0 Ports on PCs, Hosts and Hubs (PDF), USB.
  7. ^ Janssen, Cory. "What is a Universal Serial Bus (USB)?". Techopedia. Archived from the original on 3 January 2014. Retrieved 12 February 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  8. ^ Ajay Bhatt: Fellow (biography), Intel, archived from the original on 4 November 2009 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  9. ^ Rogoway, Mark (9 May 2009). "Intel ad campaign remakes researchers into rock stars". The Oregonian. Archived from the original on 26 August 2009. Retrieved 23 September 2009. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  10. ^ a b Pan, Hui; Polishuk, Paul (eds.). 1394 Monthly Newsletter. Information Gatekeepers. pp. 7–9. GGKEY:H5S2XNXNH99. Archived from the original on 12 November 2012. Retrieved 23 October 2012. ((cite book)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  11. ^ Seebach, Peter (26 April 2005). "Standards and specs: The ins and outs of USB". IBM. Archived from the original on 10 January 2010. Retrieved 8 September 2012.
  12. ^ a b "Eight ways the iMac changed computing". Macworld. 15 August 2008. Archived from the original on 22 December 2011. Retrieved 5 September 2017. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  13. ^ a b "Compaq hopes to follow the iMac". Archived from the original on 22 October 2006. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  14. ^ a b "The PC Follows iMac's Lead". Business week. 1999. Archived from the original on 23 September 2015. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  15. ^ Universal Serial Bus 3.0 Specification. 6 June 2011. pp. 3–1. Archived from the original (Zip) on 19 May 2014. ((cite book)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  16. ^ Universal Serial Bus 3.0 Specification. 6 June 2011. pp. 1–3. Archived from the original (Zip) on 19 May 2014. ((cite book)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  17. ^ a b "USB 3.0 SuperSpeed gone wild at CES 2010, trumps even your new SSD". 9 January 2010. Archived from the original on 28 June 2011. Retrieved 20 February 2011. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  18. ^ "USB 3.0 Finally Arrives". 11 January 2010. Archived from the original on 23 February 2011. Retrieved 20 February 2011. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  19. ^ "SuperSpeed USB 3.0: More Details Emerge". PC world. 6 January 2009. Archived from the original on 24 January 2009. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  20. ^ "IEC and USB-IF Expand Cooperation to Support Next-Generation High-Speed Data Delivery and Device Charging Applications" (PDF) (Press release). GENEVA, Switzerland and BEAVERTON, Ore., U.S. 8 December 2014. Archived from the original (PDF) on 29 December 2014. ((cite press release)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  21. ^ "What's the Difference Between USB 1.0 and USB 2.0? - Quality Logo Products, Inc". Archived from the original on 29 December 2016. Retrieved 30 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  22. ^ a b "Archived copy" (PDF). Archived from the original (PDF) on 12 March 2016. Retrieved 10 March 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)CS1 maint: archived copy as title (link)
  23. ^ "USB 3.2 will make your cables twice as fast". arstechnica.com. Archived from the original on 27 July 2017. Retrieved 27 July 2017. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  24. ^ "4.2.1". Universal Serial Bus Specification (PDF) (Technical report). 1996. p. 29. v1.0. Archived from the original (PDF) on 30 January 2018. ((cite tech report)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  25. ^ "5.5.4". Universal Serial Bus Specification (PDF) (Technical report). 2000. p. 40. v2.0. Archived from the original (PDF) on 2 November 2013. ((cite tech report)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  26. ^ "USB Implementers Forum". Archived from the original on 25 July 2008. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  27. ^ a b "Battery Charging v1.2 Spec and Adopters Agreement". USB Implementers Forum. 7 December 2010. Archived from the original (Zip) on 6 October 2014. Retrieved 5 October 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  28. ^ "USB" (PDF) (Press release). Implementers Forum. 17 November 2008. Archived from the original (PDF) on 31 March 2010. Retrieved 22 June 2010. ((cite press release)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  29. ^ "Universal Serial Bus 3.0 Specification" (ZIP). 6 June 2011. Retrieved 9 April 2018.
  30. ^ "USB 3.0 Technology". HP. 2012. Archived from the original (PDF) on 19 February 2015. Retrieved 2 January 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  31. ^ "Universal Serial Bus 3.0 Specification" (PDF). USB Implementers Forum. 12 November 2008. Retrieved 29 December 2012.
  32. ^ a b "USB 3.1 Specification Language Usage Guidelines from USB-IF" (PDF). Retrieved 10 March 2016.
  33. ^ https://www.msi.com/blog/usb-3-1-gen1-gen2-explained
  34. ^ "USB 3.1 Specification". usb.org. USB Implementers Forum, Inc. Retrieved 19 November 2014.
  35. ^ "Universal Serial Bus Revision 3.1 Specification". usb.org. Archived from the original (ZIP) on 21 November 2014. Retrieved 19 November 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  36. ^ Saunders, Brad; Nardozza, Liz (25 July 2017). "USB 3.0 Promoter Group Announces USB 3.2 Update" (PDF). USB.org. USB 3.0 Promoter Group. Retrieved 27 July 2017.
  37. ^ Universal Serial Bus Specification Revision 2.0. 11 October 2011. pp. 13, 30, 256. Archived from the original (Zip) on 28 May 2012. Retrieved 8 September 2012. ((cite book)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  38. ^ Universal Serial Bus Specification Revision 3.0: 8.8. 9 September 2011. pp. 8–25. Archived from the original (Zip) on 4 November 2011. Retrieved 14 October 2011.08-Sep-2012
  39. ^ Dan Froelich (20 May 2009). "Isochronous Protocol" (PDF). usb.org. Archived from the original (PDF) on 17 August 2014. Retrieved 21 November 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  40. ^ "Class Codes". USB Implementers Forum. Archived from the original on 2 April 2007.Template:Inconsistent citations ((cite journal)): Cite journal requires |journal= (help); Unknown parameter |deadurl= ignored (|url-status= suggested) (help)CS1 maint: postscript (link).
  41. ^ Use class information in the interface descriptors. This base class is defined to use in device descriptors to indicate that class information should be determined from the Interface Descriptors in the device.
  42. ^ "Universal Serial Bus Test and Measurement Class Specification (USBTMC) Revision 1.0". USB Implementers Forum. 14 April 2003. ((cite journal)): Cite journal requires |journal= (help)
  43. ^ a b "Universal Serial Bus Device Class Specification for Device Firmware Upgrade, Version 1.1" (PDF). USB Implementers Forum. 5 August 2004. pp. 8–9. Archived from the original (PDF) on 11 October 2014. Retrieved 8 September 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  44. ^ "100 Portable Apps for your USB Stick (both for Mac and Win)". Archived from the original on 2 December 2008. Retrieved 30 October 2008. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  45. ^ "Skype VoIP USB Installation Guide". Archived from the original on 6 July 2014. Retrieved 30 October 2008. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  46. ^ "PS/2 to USB Keyboard and Mouse Adapter". Archived from the original on 12 November 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  47. ^ "Universal Serial Bus Device Class Specification for Device Firmware Upgrade, Version 1.0" (PDF). USB Implementers Forum. 13 May 1999. pp. 7–8. Archived from the original (PDF) on 24 August 2014. Retrieved 8 September 2014.
  48. ^ "dfu-util: USB Device Firmware Upgrade tool". fedoraproject.org. Retrieved 8 September 2014.
  49. ^ Karsten Nohl; Sascha Krißler; Jakob Lell (7 August 2014). "BadUSB – On accessories that turn evil" (PDF). srlabs.de. Archived from the original (PDF) on 8 August 2014. Retrieved 8 September 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  50. ^ a b Universal Serial Bus 3.0 Specification: Revision 1.0. 6 June 2011. p. 531. Archived from the original on 30 December 2013. Retrieved 26 July 2011. ((cite book)): Cite uses deprecated parameter |authors= (help); Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  51. ^ "USB 2.0 Specification Engineering Change-USB.org" (PDF). USB Flash Drive Alliance. Archived from the original (PDF) on 12 April 2015. Retrieved 29 December 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  52. ^ "What is the USB 3.0 Cable Difference". Hantat. 18 May 2009. Archived from the original on 11 December 2011. Retrieved 12 December 2011. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  53. ^ "USB Cable Length Limitations" (PDF). cablesplususa.com. 3 November 2010. Archived from the original (PDF) on 11 October 2014. Retrieved 2 February 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  54. ^ "What is the Maximum Length of a USB Cable?". Techwalla.com. Archived from the original on 1 December 2017. Retrieved 18 November 2017. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  55. ^ "Cables and Long-Haul Solutions". USB FAQ. USB.org. Archived from the original on 15 January 2014. Retrieved 2 February 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  56. ^ "USB Frequently Asked Questions". USB Implementers Forum. Archived from the original on 18 January 2011. Retrieved 10 December 2010. ((cite journal)): Cite journal requires |journal= (help); Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  57. ^ Axelson, Jan. "USB 3.0 Developers FAQ". Archived from the original on 20 December 2016. Retrieved 20 October 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  58. ^ "7.3.2 Bus Timing/Electrical Characteristics". Universal Serial Bus Specification. USB.org. Archived from the original on 1 June 2012. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  59. ^ "USB.org". USB.org. Archived from the original on 1 June 2012. Retrieved 22 June 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  60. ^ "Universal Serial Bus 1.1 Specification" (PDF). cs.ucr.edu. 23 September 1998. pp. 150, 158. Archived from the original (PDF) on 2 January 2015. Retrieved 24 November 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  61. ^ "Universal Serial Bus 2.0 Specification, Section 7.2.1.3 Low-power Bus-powered Functions". usb.org. 27 April 2000. Archived from the original (ZIP) on 10 September 2013. Retrieved 11 January 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  62. ^ "Universal Serial Bus 2.0 Specification, Section 7.2.1.4 High-power Bus-powered Functions". usb.org. 27 April 2000. Archived from the original (ZIP) on 10 September 2013. Retrieved 11 January 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  63. ^ "Roundup: 2.5-inch Hard Disk Drives with 500 GB, 640 GB and 750 GB Storage Capacities (page 17)". xbitlabs.com. 16 June 2010. Archived from the original on 28 June 2010. Retrieved 9 July 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  64. ^ "I have the drive plugged in but I cannot find the drive in "My Computer", why?". hitachigst.com. Archived from the original on 15 February 2011. Retrieved 30 March 2012. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  65. ^ "USB-IF Compliance Updates". Compliance.usb.org. 1 September 2011. Archived from the original on 3 February 2014. Retrieved 22 January 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  66. ^ a b c d "Battery Charging Specification, Revision 1.2". USB Implementers Forum. 7 December 2010. Archived from the original on 28 March 2016. Retrieved 29 March 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  67. ^ Section 1.4.5, pg. 2; and Table 5-3 "Resistances", pg. 45
  68. ^ "Battery Charging Specification, Revision 1.1". USB Implementers Forum. 15 April 2009. Archived from the original on 29 March 2014. Retrieved 23 September 2009.
  69. ^ "The mysteries of Apple device charging", Minty Boost, Lady Ada, 2011, archived from the original on 5 August 2014 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  70. ^ Modify a cheap USB charger to feed an iPod, iPhone, 2013, archived from the original on 7 October 2011 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  71. ^ "PD_1.0" (PDF). Archived from the original (PDF) on 4 April 2016. Retrieved 27 April 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  72. ^ a b "10 Power Rules", Universal Serial Bus Power Delivery Specification revision 2.0, version 1.2, USB Implementers Forum, 25 March 2016, archived from the original on 1 June 2012, retrieved 9 April 2016 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  73. ^ a b "10 Power Rules", Universal Serial Bus Power Delivery Specification revision 3.0, version 1.1, USB Implementers Forum, archived from the original on 1 June 2012, retrieved 5 September 2017 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  74. ^ Burgess, Rick. "USB 3.0 SuperSpeed update to eliminate need for chargers". TechSpot. Archived from the original on 31 August 2013. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  75. ^ "USB 3.0 Promoter Group Announces Availability of USB Power Delivery Specification" (PDF). 18 July 2012. Archived from the original (PDF) on 20 January 2013. Retrieved 16 January 2013. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  76. ^ "Edison's revenge". The Economist. 19 October 2013. Archived from the original on 22 October 2013. Retrieved 23 October 2013. ((cite news)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  77. ^ "USB Power Delivery — Introduction" (PDF). 16 July 2012. Archived from the original (PDF) on 23 January 2013. Retrieved 6 January 2013. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  78. ^ USB Power Delivery Archived 9 March 2013 at the Wayback Machine
  79. ^ "USB 3.1 Specification". Archived from the original on 1 June 2012. Retrieved 11 November 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  80. ^ "USB Future Specifications Industry Reviews" (PDF). Archived from the original (PDF) on 29 July 2014. Retrieved 10 August 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  81. ^ "A. Power Profiles", Universal Serial Bus Power Delivery Specification revision 2.0, version 1.2, USB Implementers Forum, 25 March 2016, archived from the original on 12 April 2016, retrieved 9 April 2016 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  82. ^ "USB Power Delivery" (PDF). usb.org. USB-IF. 20 October 2016. Archived from the original (PDF) on 20 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  83. ^ "Archived copy". Archived from the original on 30 July 2017. Retrieved 30 July 2017. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)CS1 maint: archived copy as title (link)
  84. ^ "Texas Instruments" (PDF). Archived from the original (PDF) on 15 April 2016. Retrieved 1 April 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  85. ^ "Cypess". Archived from the original on 30 March 2016. Retrieved 1 April 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  86. ^ "USB-C charging: Universal or bust! We plug in every device we have to chase the dream". Archived from the original on 5 January 2017. Retrieved 30 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  87. ^ "Charge All Your Devices Using the Anker PowerPort+ 5 USB-C with USB Power Delivery". Archived from the original on 10 November 2016. Retrieved 30 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  88. ^ Belkin. "Belkin® Launches USB-C Car Charger + Cable With Power Delivery". Archived from the original on 10 January 2017. Retrieved 30 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  89. ^ "Belkin USB-C Car Charger + Cable- The World's First Car Charger with Power Delivery Goes the Distance". Archived from the original on 10 November 2016. Retrieved 30 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  90. ^ "Get up to 60 Watts of USB Power Delivery Charging with the iVoler 75 W USB Type C Charger". Archived from the original on 10 November 2016. Retrieved 30 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  91. ^ "Innergie PowerGear USB-C 45 charger supports multiple voltages". SlashGear. Archived from the original on 29 January 2017. Retrieved 30 December 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  92. ^ "ASUS UPD 3.1". Archived from the original on 19 June 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  93. ^ "Archived copy". Archived from the original on 9 January 2018. Retrieved 10 January 2018. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)CS1 maint: archived copy as title (link)
  94. ^ "Toshiba NB200 User Manual" (PDF). UK. 1 March 2009. Archived from the original (PDF) on 19 February 2014. Retrieved 26 January 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  95. ^ "ThinkPad Ultra Dock". lenovo.com. Archived from the original on 17 September 2016. Retrieved 16 September 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  96. ^ "USB PowerShare Feature". dell.com. 5 June 2013. Archived from the original on 8 November 2013. Retrieved 4 December 2013. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  97. ^ "USB Sleep-and-Charge Ports". toshiba.com. Archived from the original on 14 December 2014. Retrieved 21 December 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  98. ^ "USB Charge Manager". packardbell.com. Retrieved 25 April 2014.
  99. ^ Cai Yan (31 May 2007). "China to enforce universal cell phone charger". EE Times. Archived from the original on 29 September 2007. Retrieved 25 August 2007. ((cite news)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  100. ^ The Chinese FCC's technical standard: "YD/T 1591-2006, Technical Requirements and Test Method of Charger and Interface for Mobile Telecommunication Terminal Equipment" (PDF) (in Chinese). Dian yuan. Archived from the original (PDF) on 15 May 2011. ((cite journal)): Cite journal requires |journal= (help); Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  101. ^ Lam, Crystal; Liu, Harry (22 October 2007). "How to conform to China's new mobile phone interface standards". Wireless Net DesignLine. Archived from the original on 14 May 2014. Retrieved 22 June 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  102. ^ "Pros seem to outdo cons in new phone charger standard". News. 20 September 2007. Retrieved 26 November 2007.
  103. ^ "Broad Manufacturer Agreement Gives Universal Phone Cable Green Light" (Press release). OTMP. 17 September 2007. Archived from the original on 29 June 2009. Retrieved 26 November 2007. ((cite press release)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  104. ^ a b "Agreement on Mobile phone Standard Charger" (Press release). GSM World. Archived from the original on 17 February 2009. ((cite press release)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  105. ^ "Common Charging and Local Data Connectivity". Open Mobile Terminal Platform. 11 February 2009. Archived from the original on 29 March 2009. Retrieved 11 February 2009. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  106. ^ "Universal Charging Solution ~ GSM World". GSM world. Archived from the original on 26 June 2010. Retrieved 22 June 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  107. ^ "Meeting the challenge of the universal charge standard in mobile phones". Planet Analog. Retrieved 22 June 2010.[permanent dead link]
  108. ^ "The Wireless Association Announces One Universal Charger Solution to Celebrate Earth Day" (Press release). CTIA. 22 April 2009. Archived from the original on 14 December 2010. Retrieved 22 June 2010. ((cite press release)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  109. ^ "ITU" (Press release). 22 October 2009. Archived from the original on 27 March 2010. Retrieved 22 June 2010. ((cite press release)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  110. ^ "chargers". EU: EC. 29 June 2009. Archived from the original on 23 October 2009. Retrieved 22 June 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  111. ^ "Europe gets universal cellphone charger in 2010". Wired. 13 June 2009. Archived from the original on 18 August 2010. Retrieved 22 June 2010. ((cite news)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  112. ^ "One size-fits-all mobile phone charger: IEC publishes first globally relevant standard". International Electrotechnical Commission. 1 February 2011. Archived from the original on 3 January 2012. Retrieved 20 February 2012. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  113. ^ "Part 2 - Electrical". MQP Electronics Ltd. Archived from the original on 24 December 2014. Retrieved 29 December 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  114. ^ "Watt to Know About iPhone & iPad Power Adapters | Analysis". The Mac Observer. Archived from the original on 10 December 2011. Retrieved 12 December 2011. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  115. ^ "Nook Color charger uses special Micro-USB connector". barnesandnoble.com. 3 July 2011. Archived from the original on 11 February 2012. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  116. ^ a b "Seagate FreeAgent GoFlex Ultra-portable" (review). CNet. Archived from the original on 14 April 2011. Retrieved 22 May 2011. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  117. ^ Schwarz, Rohde (25 May 2012). "USB 2.0 Mask Testing" (PDF). Retrieved 12 July 2012.[permanent dead link]
  118. ^ "USB 2.0's Real Deal", News & Trends, PC World, 28 February 2002, archived from the original on 5 December 2010 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  119. ^ "NEC ready to sample 'world's first' USB 3.0 controller chip". Archived from the original on 23 May 2009. Retrieved 15 June 2009. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  120. ^ "When will USB 3.0 products hit the market?". Archived from the original on 30 April 2009. Retrieved 11 May 2009. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  121. ^ "Mouse stuff you ought to know about", Urban terror, 9 August 2008, archived from the original on 11 October 2014 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  122. ^ OS dev - Universal Serial Bus, 1 February 2011, archived from the original on 5 September 2012 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  123. ^ "USB in a NutShell—Chapter 2—Hardware". Beyond Logic.org. Archived from the original on 20 August 2007. Retrieved 25 August 2007. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  124. ^ "Technical Specifications of the USB 3.0 SuperSpeed Cables". Archived from the original on 14 April 2011. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help) 100717 usb3.com
  125. ^ a b "Universal Serial Bus 3.0 Specification, Rev 1.0 November 12, 2008" (PDF). Archived from the original (PDF) on 13 November 2013. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help) 100717 usb3.com
  126. ^ a b "USB Made Simple, Part 3. Data Flow". usbmadesimple.co.uk. 2008. Archived from the original on 5 October 2014. Retrieved 17 August 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  127. ^ a b "USB in a NutShell, Chapter 3. USB Protocols". beyondlogic.org. 17 September 2010. Archived from the original on 5 August 2014. Retrieved 17 August 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  128. ^ "Part 7, High Speed Transactions: Ping Protocol". usbmadesimple.co.uk. 2008. Archived from the original on 3 October 2014. Retrieved 16 August 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  129. ^ "USB in a Nut Shell". Chapter 4 - Endpoint Types. Archived from the original on 2 September 2014. Retrieved 5 September 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  130. ^ "Debugging Common USB Issues". Archived from the original on 15 June 2013. Retrieved 5 June 2013. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  131. ^ www.usb.org/developers/docs/devclass_docs/BasicAudioDevice-10.zip
  132. ^ "32-bit Atmel Microcontroller Application Note" (PDF). Atmel Corporation. 2011. Archived from the original (PDF) on 6 May 2016. Retrieved 13 April 2016. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  133. ^ "FireWire vs. USB 2.0" (PDF). QImaging. Archived from the original (PDF) on 11 October 2010. Retrieved 20 July 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  134. ^ "FireWire vs. USB 2.0 – Bandwidth Tests". Archived from the original on 12 August 2007. Retrieved 25 August 2007. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  135. ^ "USB 2.0 vs FireWire". Pricenfees. Archived from the original on 16 October 2016. Retrieved 25 August 2007. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  136. ^ Metz, Cade (25 February 2003). "The Great Interface-Off: FireWire Vs. USB 2.0". PC Magazine. Archived from the original on 30 September 2007. Retrieved 25 August 2007. ((cite news)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  137. ^ Heron, Robert. "USB 2.0 Versus FireWire". TechTV. Archived from the original on 29 September 2007. Retrieved 25 August 2007. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  138. ^ "FireWire vs. USB 2.0". USB Ware. Archived from the original on 16 March 2007. Retrieved 19 March 2007. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  139. ^ Key, Gary (15 November 2005). "Firewire and USB Performance". Archived from the original on 23 April 2008. Retrieved 1 February 2008. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  140. ^ "802.3, Section 14.3.1.1" (PDF). IEEE. Archived from the original (PDF) on 6 December 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  141. ^ "Powerbook Explodes After Comcast Plugs In Wrong Cable". Consumerist. 8 March 2010. Archived from the original on 25 June 2010. Retrieved 22 June 2010. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  142. ^ "How Thunderbolt Technology Works: Thunderbolt Technology Community". Thunderbolttechnology.net. Archived from the original on 10 February 2014. Retrieved 22 January 2014. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  143. ^ One port to rule them all: Thunderbolt 3 and USB Type-C join forces, archived from the original on 2 June 2015, retrieved 2 June 2015 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  144. ^ Thunderbolt 3 is twice as fast and uses reversible USB-C, archived from the original on 3 June 2015, retrieved 2 June 2015 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  145. ^ Thunderbolt 3 embraces USB Type-C connector, doubles bandwidth to 40 Gbps, archived from the original on 3 June 2015, retrieved 2 June 2015 ((citation)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)
  146. ^ "Interchip Connectivity: HSIC, UniPro, HSI, C2C, LLI... oh my!". Archived from the original on 19 June 2011. Retrieved 24 June 2011. ((cite web)): Unknown parameter |deadurl= ignored (|url-status= suggested) (help)

Further reading