Jump to content

USB: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
RayWiki519 (talk | contribs)
Undid revision 1265221568 by Wiiformii (talk) Same as with USB-C. Most of the instances of "Gbps" in this article are quoting the official USB names and are not to be renamed. Especially when in table colums "USB-IF current marketing name", directly next to the official logo.
 
Line 1: Line 1:
{{short description|Standard for computer data connections}}
:''For other meanings of the abbreviation USB see [[USB (disambiguation)]].''
{{about|the computer bus standard|other uses}}
{{use American English|date=May 2023}}
{{use dmy dates|date=May 2023}}
{{cs1 config|mode=cs1|name-list-style=none|display-authors=all}}
{{infobox connector
| name = USB<br />Universal Serial Bus
| type = [[Bus (computing)|Bus]]
| image = [[File: USB Type-C macbook.png|frameless|upright=1.3]]
| logo = Certified USB.svg
| caption = The current connector for USB, Thunderbolt, and other protocols, USB-C (plug and receptacle shown)
| designer = {{plainlist|
* [[Compaq]]
* [[Digital Equipment Corporation|DEC]]
* [[IBM]]
* [[Intel]]
* [[Microsoft]]
* [[NEC]]
* [[Nortel]]
}}
| design_date = {{start date and age |1996|1}}
| production_date = Since May 1996<ref>{{cite web |url=http://download.intel.com/design/intarch/datashts/29055002.pdf |publisher=Intel |title=82371FB (PIIX) and 82371SB (PIIX3) PCI ISA IDE Xcelerator |date=May 1996 |access-date=12 March 2016 |url-status=dead |archive-url=https://web.archive.org/web/20160313120109/http://download.intel.com/design/intarch/datashts/29055002.pdf |archive-date=13 March 2016}}</ref>
| superseded = [[Serial port]], [[parallel port]], [[game port]], [[Apple Desktop Bus]], [[PS/2 port]], and [[FireWire]] (IEEE 1394)
| superseded_by =
| superseded_by_date =
}}


'''Universal Serial Bus''' ('''USB''') is an [[technical standard|industry standard]], developed by [[USB Implementers Forum]] (USB-IF), that allows data exchange and delivery of power between many types of electronics. It specifies its architecture, in particular its physical [[Interface (computing)|interface]], and [[communication protocol]]s for data transfer and power delivery to and from ''hosts'', such as [[personal computer]]s, to and from [[peripheral]] ''devices'', e.g. displays, keyboards, and mass storage devices, and to and from intermediate ''hubs'', which multiply the number of a host's ports.<ref name="USB4Spec">{{cite web |url=https://www.usb.org/document-library/usb4r-specification-v20 |title=USB4 Specification v2.0 |edition=Version 2.0 |date=June 30, 2023 |format=ZIP |publisher=USB |access-date=23 October 2023}}</ref>
[[Image:Type A USB connector.jpg|thumb|250px|right|Type A USB connector]]

[[Image:USB_Type_B_Plug_2.jpg|thumb|250px|right|Dual images of the two Type B USB connectors, mini and full size, side and front view, compared with a U.S. &cent5; piece ([[Nickel (U.S. coin)|nickel]]) in both images for scale.]]
Introduced in 1996, USB was originally designed to standardize the connection of peripherals to computers, replacing various interfaces such as [[serial port]]s, [[parallel port]]s, [[game port]]s, and [[Apple Desktop Bus|ADB]] ports.<ref>{{cite web |url=https://www.usb.org/about |title=About USB-IF |publisher=USB Implementers Forum |access-date=27 April 2023}}</ref> Early versions of USB became commonplace on a wide range of devices, such as keyboards, mice, cameras, printers, scanners, flash drives, smartphones, game consoles, and power banks.<ref>{{Cite news |url = http://simson.net/clips/1999/99.Globe.05-20.USB_deserves_more_support+.shtml |newspaper = Boston Globe Online |department = Business |title = USB deserves more support |publisher = Simson |date = 31 December 1995 |access-date = 12 December 2011 |url-status=live |archive-url = https://web.archive.org/web/20120406080011/http://simson.net/clips/1999/99.Globe.05-20.USB_deserves_more_support+.shtml |archive-date = 6 April 2012}}</ref> USB has since evolved into a standard to replace virtually all common ports on computers, mobile devices, peripherals, power supplies, and manifold other small electronics.
[[Image:LOGO USB.png|right|frame|USB 2.0 "trident" logo]]

'''Universal Serial Bus''' ('''USB''') provides a [[serial port|serial]] [[computer bus|bus]] standard for [[connect]]ing devices, usually to [[computer]]s such as [[IBM PC compatible|PCs]] and the [[Apple]] [[Macintosh]], but is also becoming commonplace on [[video game console]]s such as [[PlayStation 2|Sony's PlayStation 2]], [[Xbox 360|Microsoft's Xbox 360]], [[Nintendo Revolution|Nintendo's Revolution]], and [[Personal digital assistant|PDA]]s, and even devices like [[televisions]] and home stereo equipment.
In the current standard, the [[USB-C]] connector replaces the many various connectors for power (up to 240&nbsp;W), displays (e.g. DisplayPort, HDMI), and many other uses, as well as all previous USB connectors.

{{As of|2024|post=,}} USB consists of four generations of specifications: [[#USB 1.x|USB 1.''x'']], [[#USB 2.0|USB 2.0]], [[USB 3.0|USB 3.''x'']], and [[USB4]]. USB4 enhances the data transfer and power delivery functionality with

{{blockquote|... a connection-oriented, tunneling architecture designed to combine multiple protocols onto a single physical interface so that the total speed and performance of the USB4 Fabric can be dynamically shared.<ref name="USB4Spec"/>}}

USB4 particularly supports the tunneling of the [[Thunderbolt (interface)|Thunderbolt 3]] protocols, namely [[PCI Express]] (PCIe, load/store interface) and [[DisplayPort]] (display interface). USB4 also adds host-to-host interfaces.<ref name="USB4Spec"/>

Each specification sub-version supports different [[signaling rate]]s from 1.5 and 12&nbsp;Mbit/s [[Duplex_(telecommunications)#Half_duplex|total]] in USB&nbsp;1.0 to 80&nbsp;Gbit/s (in each direction) in USB4.<ref name="USB1Spec">{{cite web |date= |title=Universal Serial Bus 3.1 Specification |url=https://www.usb.org/sites/default/files/documents/usb_3_1_1_0.zip |access-date=27 April 2023 |publisher=USB Implementers Forum |format=ZIP |edition= }}{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref name="USB2Spec">{{cite web |url=https://www.usb.org/sites/default/files/documents/usb_2_0.zip |title=Universal Serial Bus 2.0 Specification |edition=Revision 2.0 |date=27 April 2000 |format=ZIP |publisher=USB Implementers Forum |access-date=27 April 2023 }}{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref name="USB3Spec">{{cite web |url=https://www.usb.org/document-library/usb-32-revision-11-june-2022 |title=USB 3.2 Revision 1.1 - June 2022 |edition=Revision 1.01 |date=Oct 2023 |format=HTML |access-date=14 April 2024}}</ref><ref name="USB4Spec"/> USB also provides power to peripheral devices; the latest versions of the standard extend the power delivery limits for battery charging and devices requiring up to 240 watts ([[USB hardware#USB Power Delivery|USB Power Delivery (USB-PD)]]).<ref name="PDSpec">{{cite web |url=https://www.usb.org/sites/default/files/documents/pd_specification.zip |title=Universal Serial Bus Power Delivery Specification Revision 3.0 Version 2.0a (Released) |format=ZIP |publisher=USB Implementers Forum |access-date=27 April 2023 }}{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> Over the years, USB(-PD) has been adopted as the standard power supply and charging format for many mobile devices, such as mobile phones, reducing the need for proprietary chargers.<ref>{{cite web |url=http://www.gsmworld.com/newsroom/press-releases/2009/3582.htm |title=Universal Charging Solution |publisher=GSMA |date=17 February 2009 |access-date=12 December 2011 |url-status=live |archive-url=https://web.archive.org/web/20111130092204/http://www.gsmworld.com/newsroom/press-releases/2009/3582.htm |archive-date=30 November 2011}}</ref>


== Overview ==
== Overview ==
USB was designed to standardize the connection of [[peripheral]]s to personal computers, both to exchange data and to supply electric power. It has largely replaced interfaces such as [[serial port]]s and [[parallel port]]s and has become commonplace on various devices. Peripherals connected via USB include computer keyboards and mice, video cameras, printers, portable media players, mobile (portable) digital telephones, disk drives, and network adapters.


USB connectors have been increasingly replacing other types of charging cables for portable devices.
A USB system has an [[symmetry|asymmetric]] design, consisting of a [[server|host]] controller and multiple [[device]]s connected in a [[tree]]-like fashion using special [[hub]] devices, called [[USB hub|USB hubs]]. There is a limit of 5 levels of branching hubs per controller. Up to 127 devices may be connected to a single host controller, but the count must include the hub devices as well. A modern computer likely has several host controllers so the total useful number of connected devices is beyond what could reasonably be connected to a single controller. There is no need for a terminator on any USB bus, as there is for [[SPI]]-[[SCSI]] and some others.


USB connector interfaces are classified into three types: the many various ''legacy'' Type-A (upstream) and Type-B (downstream) connectors found on ''hosts'', ''hubs'', and ''peripheral devices'', and the modern Type-C ([[USB-C]]) connector, which replaces the many legacy connectors as the only applicable connector for USB4.
The design of USB aimed to remove the need for adding separate [[expansion card]]s into the computer's [[Industry Standard Architecture|ISA]] or [[Peripheral Component Interconnect|PCI]] bus, and improve [[plug-and-play]] capabilities by allowing devices to be [[hot swap]]ped or added to the system without [[rebooting]] the computer. When the new device first plugs in, the host [[enumeration|enumerates]] it and loads the [[device driver]] necessary to run it.
[[Image:USB_hub.jpg|framed|right|USB hub]]
USB can connect [[computer peripheral|peripherals]] such as [[computer mouse|mice]], [[computer keyboard|keyboard]]s, [[gamepad]]s and [[joystick]]s, [[image scanner|scanner]]s, [[digital camera]]s, [[computer printer|printer]]s, [[hard disk]]s, and [[Computer network|networking]] components. For multimedia devices such as scanners and digital cameras, USB has become the standard connection method. For printers, USB has also grown in popularity and started displacing [[parallel port]]s because USB makes it simple to add more than one printer to a computer. As of 2004 there were about 1 billion USB devices in the world. As of 2005, the only large classes of peripherals that cannot use USB (because they need a higher data rate than USB can provide) are [[computer display|displays and monitors]], data acquisition devices that use [[FireWire]] ports, and high-quality digital video components.


The Type-A and Type-B connectors came in Standard, Mini, and Micro sizes. The standard format was the largest and was mainly used for desktop and larger peripheral equipment. The Mini-USB connectors (Mini-A, Mini-B, Mini-AB) were introduced for mobile devices. Still, they were quickly replaced by the thinner Micro-USB connectors (Micro-A, Micro-B, Micro-AB). The Type-C connector, also known as USB-C, is not exclusive to USB, is the only current standard for USB, is required for USB4, and is required by other standards, including modern DisplayPort and Thunderbolt. It is reversible and can support various functionalities and protocols, including USB; some are mandatory, and many are optional, depending on the type of hardware: host, peripheral device, or hub.<ref>{{cite web |url=https://www.usb.org/sites/default/files/documents/cabconn20.pdf |title=Universal Serial Bus Cables and Connectors Class Document Revision 2.0 |publisher=USB Implementers Forum |access-date=27 April 2023 }}{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref><ref>{{cite web |url=https://www.usb.org/sites/default/files/documents/usb_type-c_specification_1_0.pdf |title=Universal Serial Bus Type-C Cable and Connector Specification Revision 1.0 |publisher=USB Implementers Forum |access-date=27 April 2023 }}{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}</ref>
=== Standardization ===


USB specifications provide backward compatibility, usually resulting in decreased signaling rates, maximal power offered, and other capabilities. The USB 1.1 specification replaces USB 1.0. The USB 2.0 specification is backward-compatible with USB 1.0/1.1. The USB 3.2 specification replaces USB 3.1 (and USB 3.0) while including the USB 2.0 specification. USB4 "functionally replaces" USB 3.2 while retaining the USB 2.0 bus operating in parallel.<ref name="USB1Spec"/><ref name="USB2Spec"/><ref name="USB3Spec"/><ref name="USB4Spec"/>
The design of USB is standardized by the [[USB Implementers Forum]] (USB-IF), an industry standards body incorporating leading companies from the computer and electronics industries. Notable members have included [[Apple Computer]], [[Hewlett-Packard]], [[NEC Corporation|NEC]], [[Microsoft]], [[Intel]], and [[Agere]].


The USB&nbsp;3.0 specification defined a new architecture and protocol named ''SuperSpeed'' (aka ''SuperSpeed USB'', marketed as ''SS''), which included a new lane for a new signal coding scheme (8b/10b symbols, 5&nbsp;Gbit/s; later also known as ''Gen 1'') providing full-duplex data transfers that physically required five additional wires and pins, while preserving the USB&nbsp;2.0 architecture and protocols and therefore keeping the original four pins/wires for the USB&nbsp;2.0 backward-compatibility resulting in 9 wires (with 9 or 10 pins at connector interfaces; ID-pin is not wired) in total.
The USB specification is at version 2.0 as of [[January]] [[2006]]. Hewlett-Packard, Intel, Lucent, Microsoft, NEC and Philips jointly led the initiative to develop a higher data transfer rate than the 1.1 specification to meet the bandwidth demands of developing technologies. The USB 2.0 specification was released in [[April]] [[2000]] and was standardized by the USB-IF at the end of [[2001]]. Previous notable releases of the specification were 0.9, 1.0, and 1.1. Each iteration of the standard is completely backward compatible with previous versions.


The USB&nbsp;3.1 specification introduced an ''Enhanced SuperSpeed System'' – while preserving the ''SuperSpeed'' architecture and protocol (''SuperSpeed USB'') – with an additional ''SuperSpeedPlus'' architecture and protocol (aka ''SuperSpeedPlus USB'') adding a new coding schema (128b/132b symbols, 10&nbsp;Gbit/s; also known as ''Gen 2''); for some time marketed as ''SuperSpeed+'' (''SS+'').
Smaller USB plugs and receptors called '''Mini-A''' and '''Mini-B''' are also available, as specified by the '''On-The-Go Supplement to the USB 2.0 Specification'''. The specification is of revision 1.0a currently.


The USB&nbsp;3.2 specification<ref name="USB3Spec"/> added a second lane to the ''Enhanced SuperSpeed System'' besides other enhancements so that the ''SuperSpeedPlus USB'' system part implements the ''Gen 1×2'', ''Gen 2×1,'' and ''Gen 2×2'' operation modes. However, the ''SuperSpeed USB'' part of the system still implements the one-lane ''Gen 1×1'' operation mode. Therefore, two-lane operations, namely ''USB&nbsp;3.2 Gen&nbsp;1×'''2''' ''(10&nbsp;Gbit/s) and ''Gen&nbsp;2×'''2''' ''(20&nbsp;Gbit/s), are only possible with Full-Featured USB-C. As of 2023, they are somewhat rarely implemented; Intel, however, started to include them in its 11th-generation SoC processor models, but Apple never provided them. On the other hand, ''USB&nbsp;3.2 Gen&nbsp;1(×1)'' (5&nbsp;Gbit/s) and ''Gen&nbsp;2(×1)'' (10&nbsp;Gbit/s) have been quite common for some years.
== Technical details ==


===Connector type quick reference===
[[Image:PCB_mounting_female_USB_A_and_B_connectors.jpg|thumb|right|[[Printed circuit board|PCB]] mounting female USB connectors]]
{{Main|USB hardware#Connectors}}
USB connects several devices to a host controller through a chain of hubs. In USB terminology devices are referred to as ''functions'', because in theory what we know as a device may actually host several functions, such as a [[router]] that is a [[Secure Digital Card]] reader at the same time. The hubs are special purpose devices that are not officially considered functions. There always exists one hub known as the root hub, which is attached directly to the host controller.
Each USB connection is made using two connectors: a ''receptacle'' and a ''plug''. Pictures show only receptacles:
{{mw-datatable}}
{| class="wikitable mw-datatable" style="text-align:center; margin-left:auto; margin-right:auto;"
|+ Available connectors by USB standard
|-
! colspan=2|Standard
! [[#1.x|USB 1.0]]<br />1996
! [[#1.x|USB 1.1]]<br />1998
! [[#2.0|USB 2.0]]<br />2000
! USB 2.0<br />Revised
! [[USB 3.0]]<br />2008
! [[USB 3.0#3.1|USB 3.1]]<br />2013
! [[USB 3.2]]<br />2017
! [[USB4]]<br />2019
! [[USB4|USB4 2.0]]<br />2022
|-
! rowspan="4" | Max Speed
! Current marketing name
| colspan="2" | ''Basic-Speed''
| rowspan="3" colspan="2" | ''High-Speed''
| ''USB 5Gbps''
| ''USB 10Gbps''
| ''USB 20Gbps''
| rowspan="2" |''USB 40Gbps''
| rowspan="2" | ''USB 80Gbps''
|-
! Original label
| rowspan="2" colspan="2" | ''Low-Speed & Full-Speed''
| ''SuperSpeed'', or ''SS''
| ''SuperSpeed+'', or ''SS+''
| ''SuperSpeed USB 20Gbps''
|-
! Operation mode
| USB&nbsp;3.2 Gen&nbsp;1×1
| USB&nbsp;3.2 Gen&nbsp;2×1
| USB&nbsp;3.2 Gen&nbsp;2×2
| USB4 Gen&nbsp;3×2
| USB4 Gen&nbsp;4×2
|-
! Signaling rate
| colspan="2" | 1.5 Mbit/s & 12&nbsp;Mbit/s
| colspan="2" | 480 Mbit/s
| 5 Gbit/s
| 10 Gbit/s
| 20 Gbit/s
| 40 Gbit/s
| 80 Gbit/s
|-
! rowspan="9" | Connector
! {{nowrap|Standard-A}}
| colspan="2" | [[File:USB Type-A receptacle White.svg|75px]]
| colspan="2" | [[File:USB Type-A receptacle Black.svg|75px]]
| colspan="2" | [[File:USB 3.0 Type-A receptacle blue.svg|75px]]
| style="background:#FEE4BA" | [[File:USB 3.0 Type-A receptacle blue.svg|50px]]<ref group="rem" name="OLOp">Limited to max speed at 10&nbsp;Gbit/s, since only one-lane (''×1'') operation mode is possible.</ref>
| colspan="2" rowspan="2" {{N/A}}
|-
! {{nowrap|Standard-B}}
| colspan="4" | [[File:USB Type-B receptacle.svg|x60px]]
| colspan="2" | [[File:USB 3.0 Type-B receptacle blue.svg|x75px]]
| style="background:#FEE4BA" | [[File:USB 3.0 Type-B receptacle blue.svg|50px]]<ref group="rem" name="OLOp"/>
|-
! {{nowrap|Mini-A}}
| rowspan="3" | <ref group="rem" name="bc1.1">[[Backward compatibility]] given.</ref>
| colspan="3" | [[File:USB Mini-A receptacle.svg|67x67px]]
| colspan="5" rowspan="3" {{N/A}}
|-
! {{nowrap|Mini-AB}}<ref group="rem" name="RecOnly">Only as receptacle.</ref><ref group="rem">Accepts both Mini-A and Mini-B plugs.</ref>
| colspan="3" | [[File:USB_Mini-AB_receptacle.svg|75x75px]]
|-
! {{nowrap|Mini-B}}
| colspan="3" | [[File:USB Mini-B receptacle.svg|67x67px]]
|-
! {{nowrap|Micro-A}}<ref group="rem" name="PlugOnly">Only as plug.</ref>
| colspan="3" rowspan="3" |&nbsp;<ref group="rem" name="bc1.1"/><ref group="rem" name="bc2"/>
| [[File:USB Micro-A.svg|alt=|frameless|75x75px]]
| colspan="2" | [[File:USB 3.0 Micro-A.svg|frameless|117x117px]]
| style="background:#FEE4BA" | [[File:USB 3.0 Micro-A.svg|60px]]<ref group="rem" name="OLOp"/>
| colspan="2" rowspan="3" {{N/A}}
|-
! {{nowrap|Micro-AB}}<ref group="rem" name="RecOnly"/><ref group="rem">Accepts both Micro-A and Micro-B plugs.</ref>
| [[File:USB Micro-AB receptacle.svg|75x75px]]
| colspan="2" | [[File:USB micro AB SuperSpeed.png|frameless|117x117px]]
| style="background:#FEE4BA" | [[File:USB micro AB SuperSpeed.png|60px]]<ref group="rem" name="OLOp"/>
|-
! {{nowrap|Micro-B}}
| [[File:USB Micro-B receptacle.svg|alt=|frameless|75x75px]]
| colspan="2" | [[File:USB 3.0 Micro-B receptacle.svg|frameless|117x117px]]
| style="background:#FEE4BA" | [[File:USB 3.0 Micro-B receptacle.svg|60px]]<ref group="rem" name="OLOp"/>
|-
! {{nowrap|Type-C}} {{nowrap|(USB-C)}}
| colspan="3" | <ref group="rem" name="bc2">Backward compatibility given by USB 2.0 implementation.</ref>
| colspan="6" style="font-size:60%"| [[File:USB Type-C Receptacle Pinout.svg|117x117px]]<br/>(Enlarged to show detail)
|- style="background:#FEE4BA"
| ''Remarks:''
| scope=col colspan=10 | {{reflist|group="rem"}}
|}


=== Objectives ===
These devices/functions (and hubs) have associated ''pipes'' (logical channels) which are connections from the host controller to a logical entity on the device named an ''[[endpoint]]''. The pipes are synonymous to [[byte stream]]s such as in the [[pipeline (software)|pipelines]] of [[Unix]], however in USB lingo the term ''endpoint'' is (sloppily) used as a synonym for the entire pipe, even in the standard documentation.
The Universal Serial Bus was developed to simplify and improve the interface between personal computers and peripheral devices, such as cell phones, computer accessories, and monitors, when compared with previously existing standard or ''ad hoc'' proprietary interfaces.<ref name="JA2015">Axelson, Jan (2015). ''USB Complete: The Developer's Guide, Fifth Edition'', Lakeview Research LLC, {{ISBN|1931448280}}, pp. 1-7.</ref>


From the computer user's perspective, the USB interface improves ease of use in several ways:
These endpoints (and their respective pipes) are numbered 0-15 in each direction, so a device/function can have up to 32 active pipes, 16 inward and 16 outward. (The ''OUT'' direction shall be interpreted ''out of the host controller'' and the ''IN'' direction is ''into the host controller''.) Endpoint 0 is however reserved for the bus management in both directions and thus takes up two of the 32 endpoints. In these pipes, data is transferred in packets of varying length. Each pipe has a maximum packet length, typically <math>2^n</math> bytes, so a USB packet will often contain something on the order of 8, 16, 32, 64, 128, 256, 512 or 1024 bytes.
* The USB interface is self-configuring, eliminating the need for the user to adjust the device's settings for speed or data format, or configure [[interrupt]]s, input/output addresses, or direct memory access channels.<ref>{{cite web |website=PC |url=https://www.pcmag.com/encyclopedia/term/44434/how-to-install-a-pc-peripheral |title=Definition of: how to install a PC peripheral |publisher=[[Ziff Davis]] |access-date=17 February 2018 |archive-date=22 March 2018 |archive-url=https://web.archive.org/web/20180322020256/https://www.pcmag.com/encyclopedia/term/44434/how-to-install-a-pc-peripheral |url-status=live}}</ref>
* USB connectors are standardized at the host, so any peripheral can use most available receptacles.
* USB takes full advantage of the additional processing power that can be economically put into peripheral devices so that they can manage themselves. As such, USB devices often do not have user-adjustable interface settings.
* The USB interface is [[hot-swappable]] (devices can be exchanged without shutting the host computer down).
* Small devices can be powered directly from the USB interface, eliminating the need for additional power supply cables.
* Because use of the USB logo 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.<ref name="JA2015"/>
* Installing a device that relies on the USB standard requires minimal operator action. When a user plugs a device into a port on a running computer, it either entirely automatically configures using existing [[device driver]]s, or the system prompts the user to locate a driver, which it then installs and configures automatically.


The USB standard also provides multiple benefits for hardware manufacturers and software developers, specifically in the relative ease of implementation:
Each endpoint can transfer data in one direction only, either into or out of the device/function, so each pipe is uni-directional. All USB devices have at least two such pipes/endpoints: namely endpoint 0 which is used to control the device on the bus. There is always an inward and an outward pipe numbered 0 on each device. The pipes are also divided into four different categories by way of their ''transfer type'':
* 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 (engineering)|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.<ref name="JA2015"/>


===Limitations===
*''control transfers'' - typically used for short, simple commands to the device, and a status response, used e.g. by the bus control pipe number 0
As with all standards, USB possesses multiple limitations to its design:
*''isochronous transfers'' - at some guaranteed speed (often but not necessarily as fast as possible) but with possible data loss, e.g. realtime audio or video
* USB cables are limited in length, as the standard was intended for peripherals on the same tabletop, not between rooms or buildings. However, a USB port can be connected to a [[Gateway (telecommunications)|gateway]] that accesses distant devices.
*''interrupt transfers'' - devices that need guaranteed quick responses (bounded latency), e.g. pointing devices and keyboards
* USB data transfer rates are slower than those of other interconnects such as [[100 Gigabit Ethernet]].
*''bulk transfers'' - large sporadic transfers using all remaining available bandwidth (but with no guarantees on bandwidth or latency), e.g. file transfers
* USB has a strict [[tree network]] topology and [[Master–slave (technology)|master/slave]] protocol for addressing peripheral devices; slave 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]], Dual-Role-Devices<ref>{{cite web |url=https://blogs.synopsys.com/tousbornottousb/2018/05/03/usb-dual-role-replaces-usb-on-the-go/ |title=To USB or Not to USB: USB Dual Role replaces USB On-The-Go |last=Huang |first=Eric |work=synopsys.com |date=3 May 2018 |access-date=21 July 2021 |archive-date=25 July 2021 |archive-url=https://web.archive.org/web/20210725064610/https://blogs.synopsys.com/tousbornottousb/2018/05/03/usb-dual-role-replaces-usb-on-the-go/ |url-status=live}}</ref> and [[protocol bridge]].
* A host cannot broadcast signals to all peripherals at once; each must be addressed individually.
* While converters exist between certain [[Legacy system|legacy interfaces]] and USB, they might not provide a full implementation of the legacy hardware. For example, a USB-to-parallel-port converter might work well with a printer, but not with a scanner that requires bidirectional use of the data pins.


For a product developer, using USB requires the 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 that they pay a fee to the [[USB Implementers Forum]] (USB-IF). Developers of products that use the USB specification must sign an agreement with the USB-IF. Use of the USB logos on the product requires annual fees and membership in the organization.<ref name="JA2015"/>
When a device (function) or hub is attached to the host controller through any hub on the bus, it is given a unique 7 bit address on the bus by the host controller. The host controller then polls the bus for traffic, usually in a [[round-robin]] fashion, so no device can transfer any data on the bus without explicit request from the host controller. The ''interrupt transfers'' on corresponding endpoints does not actually interrupt any traffic on the bus, they are just scheduled to be queried more often and inbetween any other large transfers, thus "interrupt traffic" on a USB bus is really only high-priority traffic.


== History ==
To access an endpoint, a hierarchical configuration must be obtained. The device connected to the bus has one (and only one) ''device descriptor'' which in turn has one or more ''configuration descriptors''. These configurations often correspond to states, e.g. active vs. [[power management|low power]] mode. Each configuration descriptor in turn has one or more ''interface descriptors'', which describe certain aspects of the device, so that it may be used for different purposes: for example, a camera may have both audio and video interfaces. These interface descriptors in turn have one ''default interface setting'' and possibly more ''alternate interface settings'' which in turn have ''endpoint descriptors'', as outlined above. An endpoint may however be reused among several interfaces and alternate interface settings.
[[File:USB Icon.svg|thumb|upright=0.5|alt=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<ref>{{cite web | title = Icon design recommendation for Identifying USB 2.0 Ports on PCs, Hosts and Hubs | publisher = USB | url = http://www.usb.org/developers/docs/icon_design.pdf | access-date = 26 April 2013 | archive-date = 3 October 2016 | archive-url = https://web.archive.org/web/20161003080319/http://www.usb.org/developers/docs/icon_design.pdf | url-status = live}}.</ref>]]


A group of seven companies began the development of USB in 1995:<ref>{{cite web |url=https://www.usb.org/members |title=Members |access-date=7 November 2021 |archive-date=7 November 2021 |archive-url=https://web.archive.org/web/20211107220855/https://www.usb.org/members |url-status=live}}</ref> [[Compaq]], [[Digital Equipment Corporation|DEC]], [[IBM]], [[Intel]], [[Microsoft]], [[NEC]], and [[Nortel]]. The goal was to make it fundamentally easier to connect external devices to PCs by replacing the multitude of connectors at the back of PCs, addressing the usability issues of existing interfaces, and simplifying software configuration of all devices connected to USB, as well as permitting greater data transfer rates for external devices and [[plug and play]] features.<ref>{{cite web|url=https://www.intel.com/content/www/us/en/standards/usb-two-decades-of-plug-and-play-article.html|title=Two decades of "plug and play": How USB became the most successful interface in the history of computing|access-date=14 June 2021|archive-date=15 June 2021|archive-url=https://web.archive.org/web/20210615025638/https://www.intel.com/content/www/us/en/standards/usb-two-decades-of-plug-and-play-article.html|url-status=live}}</ref> [[Ajay Bhatt]] and his team worked on the standard at Intel;<ref>{{cite web | url = http://www.intel.com/pressroom/kits/bios/abhatt.htm | title = Intel Fellow: Ajay V. Bhatt | publisher = [[Intel Corporation]] | url-status=dead | archive-url = https://web.archive.org/web/20091104041719/http://www.intel.com/pressroom/kits/bios/abhatt.htm | archive-date = 4 November 2009}}</ref><ref>{{cite web |url= http://www.oregonlive.com/business/index.ssf/2009/05/intel_ad_campaign_remakes_rese.html |title= Intel ad campaign remakes researchers into rock stars |first= Mark |last= Rogoway |work= [[The Oregonian]] |date= 9 May 2009 |access-date= 23 September 2009 |url-status=live |archive-url= https://web.archive.org/web/20090826081315/http://www.oregonlive.com/business/index.ssf/2009/05/intel_ad_campaign_remakes_rese.html |archive-date= 26 August 2009}}</ref> the first [[integrated circuit]]s supporting USB were produced by Intel in 1995.<ref name="1394_2_4">{{cite book |editor-first = Hui |editor1-last = Pan |editor2-first = Paul |editor2-last = Polishuk |title = 1394 Monthly Newsletter |url = https://books.google.com/books?id=fRvbxgH4wmsC&pg=PA7 |access-date = 23 October 2012 |publisher = Information Gatekeepers |pages = 7–9 |id = GGKEY:H5S2XNXNH99 |url-status=live |archive-url = https://web.archive.org/web/20121112184629/http://books.google.com/books?id=fRvbxgH4wmsC&pg=PA7 |archive-date = 12 November 2012}}</ref>
The [[computer hardware|hardware]] that contains the host controller and the root hub has an interface toward the programmer which is called ''Host Controller Device'' (HCD) and is defined by the hardware implementer. In practice, these are [[Memory-mapped I/O|hardware registers]] ([[port (computing)|ports]]) in the computer.


=== USB 1.''x'' <span class="anchor" id="1.0"></span><span class="anchor" id="1.1"></span><span class="anchor" id="1.x"></span><span class="anchor" id="LS"></span><span class="anchor" id="FS"></span> ===
At version 1.0 and 1.1 there were two competing HCD implementations. [[Compaq]]'s '' Open Host Controller Interface'' (OHCI) was adopted as the standard by the USB-IF. However, Intel subsequently created a specification they called the ''Universal Host Controller Interface'' (UHCI) and insisted other implementers pay to license and implement UHCI. [[VIA Technologies]] licensed the UHCI standard from Intel; all other chipset implementers use OHCI. The main difference between OHCI and UHCI is the fact that UHCI is more software-driven than OHCI is, making UHCI slightly more processor-intensive but cheaper to implement (excluding the license fees). The dueling implementations forced operating system vendors and hardware vendors to develop and test on both implementations which increased cost. During the design phase of USB 2.0 the USB-IF insisted on only one implementation. The USB 2.0 HCD implementation is called the ''Extended Host Controller Interface'' (EHCI). Only EHCI can support high-speed transfers. Each EHCI controller contains four virtual HCD implementations to support Full Speed and Low Speed devices. The virtual HCD on Intel and Via EHCI controllers are UHCI. All other vendors use virtual OHCI controllers.
[[File:Certified USB.svg|thumb|upright=0.5|The Basic-Speed USB logo]]
Released in January 1996, USB&nbsp;1.0 specified signaling rates of 1.5&nbsp;Mbit/s (''Low Bandwidth'' or ''Low Speed'') and 12&nbsp;Mbit/s (''Full Speed'').<ref>{{cite tech report | title=Universal Serial Bus Specification | number=v1.0 | year=1996 | section=4.2.1 | page=29 | url=https://fl.hw.cz/docs/usb/usb10doc.pdf | url-status=live | archive-url=https://web.archive.org/web/20180130144424/https://fl.hw.cz/docs/usb/usb10doc.pdf | archive-date=30 January 2018}}</ref> It did not allow for extension cables, due to timing and power limitations. Few USB devices made it to the market until USB&nbsp;1.1 was released in August 1998. USB&nbsp;1.1 was the earliest revision that was widely adopted and led to what Microsoft designated the "[[Legacy-free PC]]".<ref name="Macworld iMac">{{cite web |url=http://www.macworld.com/article/135017/2008/08/imacanniversary.html |title=Eight ways the iMac changed computing |work=Macworld |date=15 August 2008 |access-date=5 September 2017 |url-status=live |archive-url=https://web.archive.org/web/20111222091746/http://www.macworld.com/article/135017/2008/08/imacanniversary.html |archive-date=22 December 2011 }}</ref><ref name="BusinessWeek iMac">{{cite web | work = Business week | year = 1999 | url = http://www.businessweek.com/1999/99_50/c3659057.htm | title = The PC Follows iMac's Lead | url-status=dead | archive-url = https://web.archive.org/web/20150923221417/http://www.businessweek.com/1999/99_50/c3659057.htm | archive-date = 23 September 2015}}</ref><ref name="Popular Mechanics iMac">{{cite journal|title=Popular Mechanics: Making Connections|journal = Popular Mechanics Magazine|url=https://books.google.com/books?id=R9MDAAAAMBAJ&pg=PA59|date=February 2001|publisher=Hearst Magazines|page=59|issn=0032-4558|url-status=live|archive-url=https://web.archive.org/web/20170215084550/https://books.google.com/books?id=R9MDAAAAMBAJ&pg=PA59|archive-date=15 February 2017}}</ref>


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 miniaturized type B connector appeared on many peripherals, conformity to the USB&nbsp;1.''x'' standard was hampered by treating peripherals that had miniature connectors as though they had a tethered connection (that is: no plug or receptacle at the peripheral end). There was no known miniature type A connector until USB&nbsp;2.0 (revision 1.01) introduced one.
On [[Microsoft Windows]] platforms, one can tell whether a USB port is version 2.0 by opening the Device Manager and checking for the word "Enhanced" in its description; only USB 2.0 drivers will contain the word "Enhanced." On [[Linux]] systems, the ''lspci -v'' command will list all PCI devices, and a controllers will be named OHCI, UHCI or EHCI respectively, which is also the case in the Mac OS X system profiler. On [[BSD]] systems, [[dmesg]] will show the detailed information hierarchy.


=== USB 2.0 <span class="anchor" id="2.0"></span><span class="anchor" id="2.0HS"></span><span class="anchor" id="HS"></span><span class="anchor" id="62680-1"></span>===
=== Device classes ===
[[File:Certified Hi-Speed USB.svg|thumb|upright=0.5|The Hi-Speed USB logo]]


USB&nbsp;2.0 was released in April 2000, adding a higher maximum signaling rate of 480&nbsp;Mbit/s (maximum theoretical data throughput 53&nbsp;MByte/s<ref name="throughput2.0">{{cite web |url= https://microchipdeveloper.com/usb:high-speed |title= High Speed USB Maximum Theoretical Throughput |date= 23 March 2021 | publisher= Microchip Technology Incorporated |url-status=live |archive-url= https://web.archive.org/web/20210326115716/https://microchipdeveloper.com/usb:high-speed |archive-date= 26 March 2021 | access-date=23 March 2021}}</ref>) named ''High Speed'' or ''High Bandwidth'', in addition to the USB&nbsp;1.''x'' ''Full Speed'' signaling rate of 12&nbsp;Mbit/s (maximum theoretical data throughput 1.2&nbsp;MByte/s).<ref name="throughput1.1">{{cite web |url= https://microchipdeveloper.com/usb:full-speed |title= Full Speed USB Maximum Theoretical Throughput |date= 23 March 2021 | publisher= Microchip Technology Incorporated |url-status=live |archive-url= https://web.archive.org/web/20210326115653/https://microchipdeveloper.com/usb:full-speed |archive-date= 26 March 2021 | access-date=23 March 2021}}</ref>
Devices that attach to the bus can be full-custom devices requiring a full-custom device driver to be used, or may belong to a ''device class''. These classes define an expected behaviour in terms of device and interface descriptors so that the same device driver may be used for any device that claims to be a member of a certain class. An [[operating system]] is supposed to implement all device classes so as to provide generic drivers for any USB device.


Modifications to the USB specification have been made via [[Engineering change order|engineering change notices]] (ECNs). The most important of these ECNs are included into the USB&nbsp;2.0 specification package available from USB.org:<ref>{{cite web |url= http://www.usb.org/developers/docs/usb20_docs/ |title= USB 2.0 Specification |publisher= USB Implementers Forum |url-status=dead |archive-url= https://web.archive.org/web/20171203144114/http://www.usb.org/developers/docs/usb20_docs/ |archive-date= 3 December 2017 |access-date=28 April 2019 }}</ref>
Device classes are decided upon by the Device Working Group of the USB Implementers Forum. If the class is to be set for the entire device, the number is assigned to the ''bDeviceClass'' field of the device descriptor, and if it is to be set for a single interface on a device, it is assigned to the ''bInterfaceClass'' field of the interface descriptor. Both of these are a single [[byte]] each, so a maximum of 253 different device classes are possible (values 0x00 and 0xff are reserved). If ''bDeviceClass'' is set to 0x00, the operating system will look at ''bInterfaceClass'' of each interface to determine the device class.


* ''Mini-A and Mini-B Connector''
Each class also optionally supports a ''SubClass'' and ''Protocol'' subdefinition. These can be used as the main device classes are continously revised.
* ''Micro-USB Cables and Connectors Specification 1.01''
* ''[[InterChip USB]] Supplement''
* ''On-The-Go Supplement 1.3'' [[USB On-The-Go]] makes it possible for two USB devices to communicate with each other without requiring a separate USB host
* ''[[USB hardware#USB battery charging|Battery Charging]] Specification 1.1'' Added support for dedicated chargers, host chargers behavior for devices with dead batteries
* ''Battery Charging Specification 1.2'':<ref name="battchargespec1.2">{{cite web |url=http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip |title=Battery Charging v1.2 Spec and Adopters Agreement |date=7 March 2012 |publisher=USB Implementers Forum |format=ZIP |url-status=live |archive-url=https://web.archive.org/web/20141006113700/http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip |archive-date=6 October 2014 |access-date=13 May 2021 }}</ref> with increased current of 1.5&nbsp;A on charging ports for unconfigured devices, allowing high-speed communication while having a current up to 1.5&nbsp;A
* ''Link Power Management Addendum ECN'', which adds a ''sleep'' power state


=== USB 3.''x'' <span class="anchor" id="3.0"></span><span class="anchor" id="SS"></span><span class="anchor" id="3.x"></span>===
The most used device classes (grouped by assigned class ID) are:
{{Main|USB 3.0}}
[[File:Certified SuperSpeed USB Logo.svg|thumb|upright=0.5|Deprecated SuperSpeed USB logo]]


The USB&nbsp;3.0 specification was released on 12 November 2008, with its management transferring from USB&nbsp;3.0 Promoter Group to the USB Implementers Forum (USB-IF) and announced on 17 November 2008 at the SuperSpeed USB Developers Conference.<ref name="ReferenceA">{{Cite press release | url= http://www.usb.org/press/USB-IF_Press_Releases/2008_11_17_USB_IF.pdf | title= USB 3.0 Specification Now Available | location= San Jose, Calif. | via= usb.org | date= 17 November 2008 | access-date= 22 June 2010 | archive-url= https://web.archive.org/web/20100331035202/http://www.usb.org/press/USB-IF_Press_Releases/2008_11_17_USB_IF.pdf | archive-date= 31 March 2010}}</ref>
; 0x00 : Reserved value - used in the device descriptor to signify that the interface descriptor holds the device class identifier for each interface.
; 0x01 : [[USB audio device class]], [[sound card]]-like devices.
; 0x03 : [[USB human interface device class]] ("HID"), keyboards, mice, etc.
; 0x06 : Still image capture device class, identical to the [[Picture Transfer Protocol]] as used across USB
; 0x07 : [[USB printer device class]], [[printer]]-like devices.
; 0x08 : [[USB mass storage device class]] used for [[USB flash drive|flash drive]]s, portable hard drives, [[memory card]] readers, digital cameras, [[digital audio player]]s etc. This device class presents the device as a block device (almost always used to store a [[file system]]).
; 0x09 : [[USB hub]]s.
; 0x0a : [[USB communications device class]] used for [[modem]]s, [[network card]]s, [[ISDN]] connections, [[Fax]].
; 0x0e : [[USB video device class]], [[webcam]]-like devices, motion image capture devices.
; 0xff : Custom device class - used to establish that a device or interface does not support any standard device class and requires custom drivers.


USB&nbsp;3.0 adds a new architecture and protocol named ''SuperSpeed'', 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.
=== USB signaling ===


The SuperSpeed architecture provides for an operation mode at a rate of 5.0&nbsp;Gbit/s, in addition to the three existing operation modes. Its efficiency is dependent on a number of factors including physical symbol encoding and link-level overhead. At a 5&nbsp;Gbit/s signaling rate with [[8b/10b encoding]], each byte needs 10 bits to transmit, so the raw throughput is 500&nbsp;MB/s. When flow control, packet framing and protocol overhead are considered, it is realistic for about two thirds of the raw throughput, or 330&nbsp;MB/s to transmit to an application.<ref name="spec_3.0"/>{{rp|at=4–19}} SuperSpeed's architecture is [[full-duplex]]; all earlier implementations, USB 1.0-2.0, are all half-duplex, arbitrated by the host.<ref>{{cite web
==== Standard USB signaling ====
|url = http://www8.hp.com/h20195/v2/GetDocument.aspx?docname=4AA4-2724ENW
|title = USB 3.0 Technology
|year = 2012
|access-date = 2 January 2014
|publisher = [[Hewlett-Packard|HP]]
|format = PDF
|url-status = live
|archive-url = https://web.archive.org/web/20150219151039/http://www8.hp.com/h20195/v2/GetDocument.aspx?docname=4AA4-2724ENW
|archive-date = 19 February 2015
}}</ref>


Low-power and high-power devices remain operational with this standard, but devices implementing SuperSpeed can provide increased current of between 150&nbsp;mA and 900&nbsp;mA, by discrete steps of 150&nbsp;mA.<ref name="spec_3.0"/>{{rp|at=9–9}}
[[Image:USB Standard-A, B Plugs.PNG|frame|right|USB Standard-A, B plugs showing pin numbers (Not drawn to scale)]]

USB 3.0 also introduced the [[USB Attached SCSI|USB Attached SCSI protocol (UASP)]], which provides generally faster transfer speeds than the BOT (Bulk-Only-Transfer) protocol.

[[USB 3.0#USB 3.1|USB&nbsp;3.1]], released in July 2013 has two variants. The first one preserves USB&nbsp;3.0's ''SuperSpeed'' architecture and protocol and its operation mode is newly named ''USB&nbsp;3.1 Gen 1'',<ref name="usb.org 3.1"/><ref>{{cite web |url=https://www.msi.com/blog/usb-3-1-gen1-gen2-explained |title=USB 3.1 Gen 1 & Gen 2 explained |author=Silvia |website=www.msi.org |date=5 August 2015 |access-date=5 April 2018 |archive-date=8 July 2018 |archive-url=https://web.archive.org/web/20180708020201/https://www.msi.com/blog/usb-3-1-gen1-gen2-explained |url-status=live }}</ref> and the second version introduces a distinctively new ''SuperSpeedPlus'' architecture and protocol with a second operation mode named as ''USB&nbsp;3.1 Gen 2'' (marketed as ''SuperSpeed+ USB''). SuperSpeed+ doubles the maximum signaling rate to 10&nbsp;Gbit/s (later marketed as ''SuperSpeed USB 10&nbsp;Gbps'' by the USB&nbsp;3.2 specification), while reducing line encoding overhead to just 3% by changing the [[encoding scheme]] to [[128b/132b]].<ref name="usb.org 3.1"/><ref>{{cite book
|url=http://www.usb.org/developers/docs/usb_31_102214.zip
|archive-url=https://web.archive.org/web/20141121225502/http://www.usb.org/developers/docs/usb_31_102214.zip
|title=Universal Serial Bus 3.1 Specification
|publisher=[[Hewlett-Packard Company]] [[Intel Corporation]] [[Microsoft Corporation]] [[Renesas Electronics|Renesas Corporation]] [[ST-Ericsson]] [[Texas Instruments]]
|date=26 July 2013 |access-date=19 November 2014 |archive-date=21 November 2014 |via=Usb.org |format=ZIP
}}</ref>

[[USB 3.0#USB 3.2|USB&nbsp;3.2]], released in September 2017,<ref>{{Cite web|url=https://www.usb.org/document-library/usb-32-specification-released-september-22-2017-and-ecns|title=The USB 3.2 Specification released on September 22, 2017 and ECNs|date=22 September 2017|website=usb.org|access-date=4 September 2019|archive-date=6 July 2019|archive-url=https://web.archive.org/web/20190706231129/https://www.usb.org/document-library/usb-32-specification-released-september-22-2017-and-ecns|url-status=live}}</ref> preserves existing USB&nbsp;3.1 ''SuperSpeed'' and ''SuperSpeedPlus'' architectures and protocols and their respective operation modes, but introduces two additional ''SuperSpeedPlus'' operation modes (''USB&nbsp;3.2 Gen&nbsp;1×2'' and ''USB&nbsp;3.2 Gen&nbsp;2×2'') with the new [[USB-C]] Fabric with signaling rates of 10 and 20&nbsp;Gbit/s (raw data rates of 1212 and 2424&nbsp;MB/s). The increase in bandwidth is a result of two-lane operation over existing wires that were originally intended for flip-flop capabilities of the USB-C connector.<ref>{{Cite press release |url=http://www.usb.org/press/USB_3.2_PR_USB-IF_Final.pdf |title=USB 3.0 Promoter Group Announces USB 3.2 Update |date=25 July 2017 |via=www.usb.org |location=Beaverton, Oregon, US |access-date=27 July 2017 |archive-date=21 September 2017 |archive-url=https://web.archive.org/web/20170921191940/http://www.usb.org/press/USB_3.2_PR_USB-IF_Final.pdf |url-status=live}}</ref>

==== Naming scheme ====
Starting with the USB 3.2 specification, USB-IF introduced a new naming scheme.<ref>{{Cite web|url=https://www.usb.org/sites/default/files/usb_3_2_language_product_and_packaging_guidelines_final.pdf |title=USB 3.2 Specification Language Usage Guidelines from USB-IF|date=26 February 2019 |website=usb.org |access-date=4 September 2019 |archive-date=3 November 2021|archive-url=https://web.archive.org/web/20211103022718/https://www.usb.org/sites/default/files/usb_3_2_language_product_and_packaging_guidelines_final.pdf|url-status=live}}</ref> To help companies with the branding of the different operation modes, USB-IF recommended branding the 5, 10, and 20&nbsp;Gbit/s capabilities as ''SuperSpeed USB 5Gbps'', ''SuperSpeed USB 10&nbsp;Gbps'', and ''SuperSpeed USB 20&nbsp;Gbps'', respectively.<ref>{{Cite web|last=Ravencraft|first=Jeff|url=https://www.usb.org/sites/default/files/D1T2-1%20-%20USB%20Branding%20Session.pdf|title=USB DevDays 2019 – Branding Session|date=19 November 2019|website=USB Implementers Forum|pages=16|type=Presentation|access-date=22 March 2020|archive-url=https://web.archive.org/web/20200322121822/https://www.usb.org/sites/default/files/D1T2-1%20-%20USB%20Branding%20Session.pdf|archive-date=22 March 2020}}</ref>

In 2023, they were replaced again,<ref>[https://www.usb.org/sites/default/files/usb_data_performance_language_usage_guidelines_jan_2024.pdf USB Data Performance Language Usage Guidelines from USB-IF]</ref> removing ''"SuperSpeed"'', with ''USB 5Gbps'', ''USB 10Gbps'', and ''USB 20Gbps''. With new ''Packaging'' and ''Port'' logos.<ref>[https://www.usb.org/sites/default/files/trademark_license_agreement_licensed_mark_requirements_final_as_of_september_20_2023.pdf Trademark Requirements Chart]</ref>
<span class="anchor" id="USB4"></span>

=== USB4===

{{Update|section|date=August 2024|reason=Incomplete, erroneous and not up-to-date; e.g. lacks differences between USB4 first version and 2.0. Applies also to main article.}}

{{main|USB4}}

[[File:Certified USB4 40Gbps Logo.svg|thumb|upright=0.5|Deprecated Certified USB4 logo]]

The USB4 specification was released on 29 August 2019 by the USB Implementers Forum.<ref name="usb.org">{{Cite web|url=https://www.usb.org/sites/default/files/USB4%20Specification.zip|title=USB Promoter Group USB4 Specification|date=29 August 2019|website=usb.org|access-date=30 August 2019|archive-date=13 February 2021|archive-url=https://web.archive.org/web/20210213071426/https://www.usb.org/sites/default/files/USB4%20Specification.zip|url-status=live}}</ref>

The USB4 2.0 specification was released on 1 September 2022 by the USB Implementers Forum.<ref>{{Cite web |title=USB Promoter Group Announces USB4 Version 2.0 Specification defines delivering up to 80&nbsp;Gbps over USB Type-C |url=https://www.usb.org/sites/default/files/2022-09/USB%20PG%20USB4%20Version%202.0%2080Gbps%20Announcement_FINAL.pdf}}</ref>

USB4 is based on the [[Thunderbolt 3]] protocol.<ref>{{Cite web|url=https://arstechnica.com/gadgets/2019/03/thunderbolt-3-becomes-usb4-as-intels-interconnect-goes-royalty-free/|title=Thunderbolt 3 becomes USB4, as Intel's interconnect goes royalty-free|last=Bright|first=Peter|date=4 March 2019|website=Ars Technica|access-date=4 March 2019|archive-date=13 February 2021|archive-url=https://web.archive.org/web/20210213071427/https://arstechnica.com/gadgets/2019/03/thunderbolt-3-becomes-usb4-as-intels-interconnect-goes-royalty-free/|url-status=live}}</ref> It supports 40&nbsp;Gbit/s throughput, is compatible with Thunderbolt 3, and backward compatible with USB&nbsp;3.2 and USB&nbsp;2.0.<ref>{{Cite web|url=https://www.cnet.com/news/usb4-marries-thunderbolt-3-for-faster-speeds-and-smarter-transfers/|title=USB4 Marries Thunderbolt 3 for Faster Speeds and Smarter Transfers |last=Grunin|first=Lori|website=CNET|date=4 March 2019|access-date=4 March 2019|archive-date=4 March 2019|archive-url=https://web.archive.org/web/20190304232454/https://www.cnet.com/news/usb4-marries-thunderbolt-3-for-faster-speeds-and-smarter-transfers/|url-status=live}}</ref><ref>{{Cite web|url=https://www.pcmag.com/news/366931/thunderbolt-3-merges-with-usb-to-become-usb4|title=Thunderbolt 3 Merges With USB to Become USB4|last=Brant|first=Tom|date=4 March 2019|website=PC Magazine|access-date=4 March 2019|archive-date=5 March 2019|archive-url=https://web.archive.org/web/20190305024642/https://www.pcmag.com/news/366931/thunderbolt-3-merges-with-usb-to-become-usb4|url-status=live}}</ref> The architecture defines a method to share a single high-speed link with multiple end device types dynamically that best serves the transfer of data by type and application.

During [[CES 2020]], USB-IF and Intel stated their intention to allow USB4 products that support all the optional functionality as [[Thunderbolt 4]] products.

USB4&nbsp;2.0 with 80&nbsp;Gbit/s speeds was to be revealed in November 2022.<ref>{{Cite web|url=https://www.pcgamer.com/usb4-version-20-with-80gbps-speeds-is-coming/|title=USB4 Version 2.0 with 80Gbps speeds is coming|last=Szewczyk|first=Chris|date=September 5, 2022|website=PC Gamer|access-date=September 20, 2024}}</ref><ref>{{Cite press release|url=https://www.usb.org/sites/default/files/2022-09/USB%20PG%20USB4%20Version%202.0%2080Gbps%20Announcement_FINAL.pdf|last=Saunders|first=Brad|last2=Balich|first2=Joe|title=USB Promoter Group Announces USB4® Version 2.0|date=September 1, 2022|publisher=USB Implementers Forum|location=Beaverton, OR, USA|access-date=September 20, 2024}}</ref> Further technical details were to be released at two USB developer days scheduled for November 2022.<ref>{{Cite press release|url=https://usb.org/sites/default/files/2022-10/USB-IF%20USB%2080Gbps%20Announcement_FINAL_v2.pdf|last=Balich|first=Joe|title=USB-IF Announces Publication of New USB4® Specification to Enable USB 80Gbps Performance|date=October 18, 2022|publisher=USB Implementers Forum|location=Beaverton, OR, USA|access-date=September 20, 2024}}</ref>{{update-inline|date=October 2024}}

The USB4 specification states that the following technologies shall be supported by USB4:<ref name="usb.org"/>
{{clear}}
{| class="wikitable"
{| class="wikitable"
|+ Standard USB connector pinout
! Pin !! Function (host) !! Function (device)
|-
|-
! rowspan="2" style="width:240px" | Connection
| 1 || V<sub>BUS</sub> (4.75&ndash;5.25 V) || V<sub>BUS</sub> (4.4&ndash;5.25 V)
! colspan="3" | Mandatory for
! rowspan="2" | Remarks
|-
|-
! style="width:50px; text-align:center"| host !! style="width:50px; text-align:center"| hub !! style="width:50px; text-align:center"| device
| 2 || D&minus; || D&minus;
|-
|-
| '''USB 2.0''' (480&nbsp;Mbit/s)|| {{yes}} || {{yes}} || {{yes}} || Contrary to other functions – which use the multiplexing of high-speed links – USB 2.0 over USB-C utilizes its own differential pair of wires.
| 3 || D+ || D+
|-
|-
| '''Tunneled USB 3.2 Gen 2×1''' (10&nbsp;Gbit/s)|| {{yes}} || {{yes}} || {{no}} ||
| 4 || [[Ground (electricity)|Ground]] || [[Ground (electricity)|Ground]]
|-
| '''Tunneled USB 3.2 Gen 2×2''' (20&nbsp;Gbit/s)|| {{no}} || {{no}} || {{no}} ||
|-
| '''Tunneled USB 3 Gen T''' (5–80&nbsp;Gbit/s)|| {{no}} || {{no}} || {{no}} || A type of USB 3 Tunneling architecture where the Enhanced SuperSpeed System is extended to allow operation at the maximum bandwidth available on the USB4 Link.
|-
| '''USB4 Gen 2''' (10 or 20&nbsp;Gbit/s) || {{yes}} || {{yes}} || {{yes}} || rowspan="2"| Either one or two lanes
|-
| '''USB4 Gen 3''' (20 or 40&nbsp;Gbit/s) || {{no}} || {{yes}} || {{no}}
|-
| '''Tunneled DisplayPort 1.4a''' || {{yes}} || {{yes}} || {{no}} ||The specification requires that hosts and hubs support the DisplayPort Alternate Mode.
|-
| '''Tunneled PCI Express 3.0''' || {{no}} || {{yes}} || {{no}} || The PCI Express function of USB4 replicates the functionality of previous versions of the [[Thunderbolt (interface)|Thunderbolt]] specification.
|-

| '''Host-to-Host communications''' || {{yes}} || {{yes}} || {{n/a}} || A LAN-like connection between two peers.

|-

| '''Thunderbolt 3 Alternate Mode''' || {{no}} || {{yes}} || {{no}} || Thunderbolt 3 uses USB-C cables; the USB4 specification allows hosts and devices and requires hubs to support interoperability with the standard using the Thunderbolt 3 Alternate Mode (namely DisplayPort and PCIe).
|-
| '''Other Alternate Modes'''|| {{no}} || {{no}} || {{no}}
| USB4 products may optionally offer interoperability with the [[HDMI]], [[Mobile High-Definition Link|MHL]], and [[VirtualLink]] Alternate Modes.
|}
|}
USB signals are transmitted on a [[twisted pair]] of data cables, labelled D+ and D&minus;. These collectively use [[half-duplex]] [[differential signaling]] to combat the effects of electromagnetic noise on longer lines. D+ and D&minus; operate together; they are not separate [[simplex]] connections.


===== Transfer speed =====
==== September 2022 naming scheme ====
[[File:USB 2022 September naming scheme.svg|thumb|upright=2.8|An overview of USB naming scheme that was put in place in September 2022
<br />(A mix of USB specifications and their marketing names are being displayed<br />because specifications are sometimes wrongly used as marketing names.){{Disputed inline|File:USB 2022 September naming scheme.svg|for=USB4 20&nbsp;Gbit/s does not exist; USB4 2×2 is not interchangeable with USB 3.2 2×2 as<br />indicated by the logo; logos for USB 3.x and USB4 are different.|date=July 2023}}]]
Because of the previous confusing naming schemes, USB-IF decided to change it once again. As of 2 September 2022, marketing names follow the syntax "USB&nbsp;''x''Gbps", where ''x'' is the speed of transfer in Gbit/s.<ref>{{Cite web|title=USB Data Performance, Language Usage Guidelines from USB-IF|url=https://usb.org/sites/default/files/usb_data_performance_language_usage_guidelines_september_2022.pdf|access-date=2 September 2022|archive-date=1 October 2022|archive-url=https://web.archive.org/web/20221001115816/https://www.usb.org/sites/default/files/usb_data_performance_language_usage_guidelines_september_2022.pdf|url-status=dead}}</ref> Overview of the updated names and logos can be seen in the adjacent table.


The operation modes USB&nbsp;3.2&nbsp;Gen&nbsp;2×2 and USB4&nbsp;Gen&nbsp;2×2 – or: USB&nbsp;3.2&nbsp;Gen&nbsp;2×1 and USB4&nbsp;Gen&nbsp;2×1 – are not interchangeable or compatible; all participating controllers must operate with the same mode.
USB supports three [[data rates]].


=== Version history <span class="anchor" id="0.6e"></span><span class="anchor" id="0.7"></span><span class="anchor" id="0.8"></span><span class="anchor" id="0.9"></span><span class="anchor" id="0.99"></span><span class="anchor" id="1.0RC"></span> ===
*A '''Low Speed''' rate of 1.5 [[Mbit/s]] (183 [[KiB]]/s) that is mostly used for Human Interface Devices (HID) such as keyboards, mice and joysticks.


==== Release versions ====
*A '''Full Speed''' rate of 12 Mbit/s (1.4 [[MiB]]/s). Full Speed was the fastest rate before the USB 2.0 specification and many devices fall back to Full Speed. Full Speed devices divide the USB bandwidth between them in a first-come first-served basis and it is not uncommon to run out of bandwidth with several isochronous devices. All USB Hubs support Full Speed.
{| class="wikitable sortable"
|-
! scope="row" | Name
! scope="row" | Release date
! scope="row" | Maximum signaling rate
! scope="row" | Note
|-
! scope="row" | {{Nowrap|USB 0.7}}
| {{Dts|November 1994}}
| {{dunno}}
| rowspan="4" | Pre-release.
|-
! scope="row" | {{Nowrap|USB 0.8}}
| {{Dts|December 1994}}
| {{dunno}}
|-
! scope="row" | {{Nowrap|USB 0.9}}
| {{Dts|April 1995}}
| {{Nowrap|12&nbsp;Mbit/s: Full Speed (FS)}}
|-
! scope="row" | {{Nowrap|USB 0.99}}
| {{Dts|August 1995}}
| {{dunno}}
|-
! scope="row" | {{Nowrap|USB 1.0-RC}}
| {{Dts|November 1995}}
| {{dunno}}
| Release Candidate.
|-
! scope="row" | {{Nowrap|USB 1.0}}
| {{Dts|January 1996}}
| rowspan=2|{{Nowrap|1.5&nbsp;Mbit/s: Low Speed (LS)}}<br />{{Nowrap|12&nbsp;Mbit/s: Full Speed (FS)}}
| rowspan="2" | Renamed to ''Basic-Speed''.
|-
! scope="row" | {{Nowrap|USB 1.1}}
| {{Dts|September 1998}}
|-
! scope="row" | {{Nowrap|USB 2.0}}
| {{Dts|April 2000}}
| {{Nowrap|480&nbsp;Mbit/s: High Speed (HS)}}
|
|-
! scope="row" | {{Nowrap|USB 3.0}}
| {{Dts|November 2008}}
| {{Nowrap|5&nbsp;Gbit/s: SuperSpeed (SS)}}
| Renamed to ''USB&nbsp;3.1 Gen&nbsp;1'',<ref name="usb.org 3.1"/> and later to ''USB&nbsp;3.2 Gen&nbsp;1×1''.
|-
! scope="row" | {{Nowrap|USB 3.1}}
| {{Dts|July 2013}}
| {{Nowrap|10&nbsp;Gbit/s: SuperSpeed+ (SS+)}}
| Renamed to ''USB&nbsp;3.1 Gen&nbsp;2'',<ref name="usb.org 3.1"/> and later to ''USB&nbsp;3.2 Gen&nbsp;2×1''.
|-
! scope="row" | {{Nowrap|USB 3.2}}
| {{Dts|August 2017}}
| {{Nowrap|20&nbsp;Gbit/s: SuperSpeed+ two-lane}}
| Includes new ''USB&nbsp;3.2 Gen&nbsp;1×2'' and ''Gen&nbsp;2×2'' two-lane modes.<ref>{{cite web |title=USB 3.2 explained: Making sense of current and confusing USB standards |url=https://www.cnet.com/tech/mobile/usb-3-2-explained-making-sense-of-current-and-confusing-usb-standard/ |author=Matt Elliot |date=11 March 2019|website=CNET |access-date=26 July 2022 |url-status=live |archive-url=https://web.archive.org/web/20210707230329/https://www.cnet.com/tech/mobile/usb-3-2-explained-making-sense-of-current-and-confusing-usb-standard/|archive-date=7 July 2021 }}</ref> Requires Full-Featured [[USB-C]].
|-
! scope="row" | {{Nowrap|USB4}}
| {{Dts|August 2019}}
| {{Nowrap|40&nbsp;Gbit/s: two-lane}}
| Includes new ''USB4 Gen&nbsp;2×2'' (64b/66b encoding) and ''Gen&nbsp;3×2'' (128b/132b encoding) modes and introduces USB4 routing for tunneling of USB&nbsp;3.2, DisplayPort&nbsp;1.4a and PCI Express traffic and host-to-host transfers, based on the Thunderbolt&nbsp;3 protocol; requires USB4 Fabric.
|-
! scope="row" | {{Nowrap|USB4 2.0}}
| {{Dts|September 2022}}
| {{Nowrap|120&nbsp;⇄ 40&nbsp;Gbit/s: asymmetric}}
| Includes new ''USB4 Gen&nbsp;4×2'' (PAM-3 encoding) mode to get 80 and 120&nbsp;Gbit/s over Type-C connector.<ref>{{cite web | url=https://www.usb.org/document-library/usb4r-specification-v20 | title=USB4 Specification v2.0 &#124; USB-IF }}</ref> Requires USB4 Fabric.
|}


==== Power-related standards <span class="anchor" id="PD"></span>====
*A '''Hi-Speed''' rate of 480 Mbit/s (57 MiB/s), commonly called USB 2.0.
{| class="wikitable sortable"
|-
! style="width:16em;" | Release name
! Release date
! style="width:8em;" | Max. power
! Note
|-
| [[USB Battery Charging]] Rev. 1.0
| 2007-03-08
| 7.5&nbsp;W (5&nbsp;V, 1.5&nbsp;A)
|
|-
| USB Battery Charging Rev. 1.1
| 2009-04-15
| 7.5&nbsp;W (5&nbsp;V, 1.5&nbsp;A)
|Page 28, Table 5–2, but with limitation on paragraph 3.5. In ordinary USB 2.0's standard-A port, 1.5&nbsp;A only.<ref>{{Cite web|url=https://usb.org/document-library/battery-charging-v11-spec-and-adopters-agreement|title=Battery Charging v1.1 Spec and Adopters Agreement|website=USB.org|access-date=31 July 2019|archive-date=11 January 2021|archive-url=https://web.archive.org/web/20210111005750/https://usb.org/document-library/battery-charging-v11-spec-and-adopters-agreement|url-status=dead}}</ref>
|-
| USB Battery Charging Rev. 1.2
| 2010-12-07
| 7.5&nbsp;W (5&nbsp;V, 1.5&nbsp;A)
|<ref>{{Cite web|url=https://usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement|title=Battery Charging v1.2 Spec and Adopters Agreement|website=USB.org|access-date=31 July 2019|archive-date=31 July 2019|archive-url=https://web.archive.org/web/20190731150826/https://usb.org/document-library/battery-charging-v12-spec-and-adopters-agreement|url-status=live}}</ref>
|-
| [[USB hardware#USB power delivery|USB Power Delivery]] Rev. 1.0 (V. 1.0)
| 2012-07-05
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
| Using FSK protocol over bus power (V{{sub|BUS}})
|-
| USB Power Delivery Rev. 1.0 (V. 1.3)
| 2014-03-11
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
|
|-
| USB Type-C Rev. 1.0
| 2014-08-11
| 15&nbsp;W (5&nbsp;V, 3&nbsp;A)
| New connector and cable specification
|-
| USB Power Delivery Rev. 2.0 (V. 1.0)
| 2014-08-11
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
| Using BMC protocol over communication channel (CC) on USB-C cables.
|-
| USB Type-C Rev. 1.1
| 2015-04-03
| 15&nbsp;W (5&nbsp;V, 3&nbsp;A)
|
|-
| USB Power Delivery Rev. 2.0 (V. 1.1)
| 2015-05-07
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
|
|-
| USB Type-C Rev. 1.2
| 2016-03-25
| 15&nbsp;W (5&nbsp;V, 3&nbsp;A)
|
|-
| USB Power Delivery Rev. 2.0 (V. 1.2)
| 2016-03-25
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
|
|-
| USB Power Delivery Rev. 2.0 (V. 1.3)
| 2017-01-12
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
|
|-
| USB Power Delivery Rev. 3.0 (V. 1.1)
| 2017-01-12
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
|
|-
| USB Type-C Rev. 1.3
| 2017-07-14
| 15&nbsp;W (5&nbsp;V, 3&nbsp;A)
|
|-
| USB Power Delivery Rev. 3.0 (V. 1.2)
| 2018-06-21
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
|
|-
| USB Type-C Rev. 1.4
| 2019-03-29
| 15&nbsp;W (5&nbsp;V, 3&nbsp;A)
|
|-
| USB Type-C Rev. 2.0
| 2019-08-29
| 15&nbsp;W (5&nbsp;V, 3&nbsp;A)
| Enabling USB4 over USB Type-C connectors and cables.
|-
| USB Power Delivery Rev. 3.0 (V. 2.0)
| 2019-08-29
| 100&nbsp;W (20&nbsp;V, 5&nbsp;A)
| <ref>{{Cite web|url=https://www.usb.org/document-library/usb-power-delivery-0|title=USB Power Delivery|website=USB.org|access-date=3 September 2019|archive-date=3 September 2019|archive-url=https://web.archive.org/web/20190903163400/https://www.usb.org/document-library/usb-power-delivery-0|url-status=live}}</ref>
|-
| USB Power Delivery Rev. 3.1 (V. 1.0)
| 2021-05-24
| 240&nbsp;W (48&nbsp;V, 5&nbsp;A)
|
|-
| USB Type-C Rev. 2.1
| 2021-05-25
| 15&nbsp;W (5&nbsp;V, 3&nbsp;A)
| <ref>{{Cite web|url=https://usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21|title=USB Type-C Cable and Connector Specification Revision 2.1|website=USB.org|access-date=27 May 2021|archive-date=27 May 2021|archive-url=https://web.archive.org/web/20210527135133/https://usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21|url-status=live}}</ref>
|-
| USB Power Delivery Rev. 3.1 (V. 1.1)
| 2021-07-06
| 240&nbsp;W (48&nbsp;V, 5&nbsp;A)
| <ref name="USB Power Delivery">{{Cite web|url=https://usb.org/document-library/usb-power-delivery|title=USB Power Delivery|website=USB.org|access-date=27 May 2021|archive-date=27 May 2021|archive-url=https://web.archive.org/web/20210527151756/https://usb.org/document-library/usb-power-delivery|url-status=live}}</ref>
|-
| USB Power Delivery Rev. 3.1 (V. 1.2)
| 2021-10-26
| 240&nbsp;W (48&nbsp;V, 5&nbsp;A)
| Including errata through October 2021<ref name="USB Power Delivery"/>
This version incorporates the following ECNs:
* Clarify use of Retries
* Battery Capabilities
* FRS timing problem
* PPS power rule clarifications
* Peak current support for EPR AVS APDO
|}


== System design <span class="anchor" id="HOST"></span>==
''Not all USB 2.0 devices are Hi-Speed.'' A USB device should specify the speed it will use by correct labeling on the box it came in or sometimes on the device itself. The [[USB-IF]] certifies devices and provides licenses to use special marketing logos for either "Basic-Speed" (low and full) or High-Speed after passing a compliancy test and paying a licensing fee.
A USB system consists of a host with one or more downstream facing ports (DFP),<ref>{{cite web |title=Type-C CC and VCONN Signals |publisher=Microchip Technology, Inc. |url=https://microchipdeveloper.com/usb:tc-pins |access-date=August 18, 2023}}</ref> and multiple peripherals, forming a tiered-[[star topology]]. Additional [[USB hub]]s 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.<ref>{{cite web | title = Universal Serial Bus Specification Revision 2.0 | pages = 13; 30; 256 | format = [[ZIP (file format)|ZIP]] | url = http://www.usb.org/developers/docs/usb_20_101111.zip |website=USB.org | date = 11 October 2011 | access-date = 8 September 2012 | archive-url = https://web.archive.org/web/20120528075527/http://www.usb.org/developers/docs/usb_20_101111.zip | archive-date = 28 May 2012}}</ref><ref name="spec_3.0"/>{{rp|at=8–29}} USB devices are linked in series through hubs. The hub built into the host controller is called 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 a ''[[compound device]],'' in which the host assigns each logical device a distinct address and all logical devices connect to a built-in hub that connects to the physical USB cable.
Hi-Speed devices should fall back to the slower data rate of Full Speed when plugged into a Full Speed hub. Hi-Speed hubs have a special function called the '''Transaction Translator''' that segregates Full Speed and Low Speed bus traffic from Hi-Speed traffic. The Transaction Translator in a Hi-Speed hub (or possibly each port depending on the electrical design) will function as a completely separate Full Speed bus to Full Speed and Low Speed devices attached to it. This segregation is for bandwidth only; bus rules about power and hub depth still apply.


[[File:USB pipes and endpoints (en).svg|thumb|alt=Diagram: inside a device are several endpoints, each of which connects by a logical pipe to a host controller. Data in each pipe flows in one direction, though 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.]]
==== Mini USB signaling ====

USB device communication is based on ''pipes'' (logical channels). A pipe connects the host controller to a logical entity within a device, called an ''[[Communication endpoint|endpoint]]''. Because pipes correspond to endpoints, the terms are sometimes used interchangeably. Each USB device can have up to 32 endpoints (16 ''in'' and 16 ''out''), though it is rare to have so many. Endpoints are defined and numbered by the device during initialization (the period after physical connection called "enumeration") and so are relatively permanent, whereas pipes 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 for status responses from the device, 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]]'',<ref>{{cite web
|url = http://www.usb.org/developers/presentations/SuperSpeed_USB_DevCon_Isochronous_Froelich.pdf
|title = Isochronous Protocol
|date = 20 May 2009
|access-date = 21 November 2014
|author = Dan Froelich
|website = USB.org
|url-status=dead
|archive-url = https://web.archive.org/web/20140817061140/http://www.usb.org/developers/presentations/SuperSpeed_USB_DevCon_Isochronous_Froelich.pdf
|archive-date = 17 August 2014
}}</ref> ''interrupt'', or ''bulk'' transfer:
*;Isochronous transfers: At some guaranteed data rate (for fixed-bandwidth streaming data) 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, [[Computer mouse|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.

[[File:USB 2 and 3.jpg|thumb|alt=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&nbsp;3.0 Standard-A receptacles (left) and two USB&nbsp;2.0 Standard-A receptacles (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 signaling 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 driver]]s 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&nbsp;2.0, the host controller [[Polling (computer science)|polls]] the bus for traffic, usually in a [[Round-robin scheduling|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&nbsp;2.0 hubs contain devices called transaction translators that convert between high-speed USB&nbsp;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&nbsp;3.0 host, USB&nbsp;3.0 devices transmit and receive at USB&nbsp;3.0 signaling rates regardless of USB&nbsp;2.0 or earlier devices connected to that host. Operating signaling rates for earlier devices are set in the legacy manner.

== Device classes <span class="anchor" id="PHDC"></span>==
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:<ref>{{Cite web | url = https://www.usb.org/defined-class-codes | title = USB Class Codes | date = 22 September 2018 | via=www.usb.org | url-status=live | archive-url = https://web.archive.org/web/20180922111633/https://www.usb.org/defined-class-codes | archive-date = 22 September 2018}}</ref>


[[Image:USB Mini-A, B Plugs.PNG|frame|right|USB Mini-A, B plugs showing pin numbers (Not drawn to scale)]]
{| class="wikitable"
{| class="wikitable"
|+ Mini USB connector pinout
|-
|-
! Class<br />([[hexadecimal]])
! Pin !! Function
! Usage
! Description
! Examples, or exception
|-
| 00
| Device
| Unspecified<ref>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.</ref>
| Device class is unspecified, interface descriptors are used to determine needed drivers
|-
| 01
| Interface
| Audio
| [[Loudspeaker|Speaker]], [[microphone]], [[sound card]], [[MIDI#USB and FireWire|MIDI]]
|-
| 02
| Both
| [[USB communications device class|Communications and CDC control]]
| [[UART]] and [[RS-232]] [[USB adapter|serial adapter]], [[modem]], [[Wi-Fi]] adapter, [[Ethernet]] adapter. Used together with class 0Ah ''(CDC-Data'') below
|-
| 03
| Interface
| [[USB human interface device class|Human interface device (HID)]]
| [[Keyboard (computing)|Keyboard]], [[Mouse (computing)|mouse]], joystick
|-
| 05
| Interface
| Physical interface device (PID)
| Force feedback joystick
|-
| 06
| Interface
| Media ([[Picture Transfer Protocol|PTP]]/[[Media Transfer Protocol|MTP]])
| [[Image scanner|Scanner]], [[Digital camera|Camera]]
|-
| 07
| Interface
| [[Computer printer|Printer]]
| [[Laser printer]], [[inkjet printer]], [[CNC machine]]
|-
| 08
| Interface
| [[USB mass storage]], [[USB Attached SCSI]]
| [[USB flash drive]], [[memory card reader]], [[digital audio player]], [[digital camera]], external drive
|-
| 09
| Device
| [[USB hub]]
| High speed USB hub
|-
| 0A
| Interface
| CDC-Data
| Used together with class 02h ''(Communications and CDC Control'') above
|-
| 0B
| Interface
| [[Smart card]]
| USB smart card reader
|-
| 0D
| Interface
| Content security
| Fingerprint reader
|-
| 0E
| Interface
| [[USB video device class|Video]]
| [[Webcam]]
|-
| 0F
| Interface
| Personal healthcare device class (PHDC)
| Pulse monitor (watch)
|-
| 10
| Interface
| Audio/Video (AV)
| [[Webcam]], TV
|-
| 11
| Device
| Billboard
| Describes USB-C alternate modes supported by device
|-
|-
| DC
| 1 || V<sub>BUS</sub> (4.4&ndash;5.25 V)
| Both
| Diagnostic device
| USB compliance testing device
|-
|-
| E0
| 2 || D&minus;
| Interface
| [[Wireless]] Controller
| [[Bluetooth]] adapter
|-
|-
| 3 || D+
| EF
| Both
| Miscellaneous
| [[ActiveSync]] device
|-
|-
| 4 || ID
| FE
| Interface
| Application-specific
| [[IrDA]] Bridge, [[RNDIS]], Test & Measurement Class (USBTMC),<ref>{{Cite web |title= Universal Serial Bus Test and Measurement Class Specification (USBTMC) Revision 1.0 |url= http://sdpha2.ucsd.edu/Lab_Equip_Manuals/USBTMC_1_00.pdf |date= 14 April 2003 |publisher= USB Implementers Forum |via= sdpha2.ucsd.edu |access-date= 10 May 2018 |archive-date= 23 December 2018 |archive-url= https://web.archive.org/web/20181223041215/http://sdpha2.ucsd.edu/Lab_Equip_Manuals/USBTMC_1_00.pdf |url-status=live}}</ref> USB DFU (Device Firmware Upgrade)<ref name="dfu-1.1">{{cite web
|url = https://www.usb.org/document-library/device-firmware-upgrade-11-new-version-31-aug-2004
|title = Universal Serial Bus Device Class Specification for Device Firmware Upgrade, Version 1.1
|date = 15 October 2004
|access-date = 8 September 2014
|publisher = USB Implementers Forum
|pages = 8–9
|url-status = live
|archive-url = https://web.archive.org/web/20141011015811/http://www.usb.org/developers/docs/devclass_docs/DFU_1.1.pdf
|archive-date = 11 October 2014
}}</ref>
|-
|-
| FFh
| 5 || Ground
| Both
| Vendor-specific
| Indicates that a device needs vendor-specific drivers
|}
|}
Most of the pins of a mini USB connector are the same as a standard USB connector, except pin 4. Pin 4 is called ID and is connected to pin 5 for a mini-A and is either unconnected or connected to pin 5 through a resistor for a mini-B.


=== USB mass storage / USB drive <span class="anchor" id="MASSSTORAGE"></span>===
=== USB connectors ===
{{See also|USB mass storage device class|Disk enclosure|External hard disk drive}}
[[File:SanDisk-Cruzer-USB-4GB-ThumbDrive.jpg|thumb|A [[USB flash drive|flash drive]], a typical USB mass-storage device]]
[[File:M.2 2242 SSD connected into USB 3.0 adapter.jpg|thumb|An [[M.2]] (2242) solid-state-drive ([[SSD]]) connected into USB 3.0 adapter and connected to computer]]


The [[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 [[USB flash drive|flash drives]] and [[SD card]] readers. 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.
The connectors which the USB committee specified were designed to support a number of USB's underlying goals, and to reflect lessons learned from the varied menagerie of connectors then in service. In particular:
* The connectors are designed to be robust. Many previous connector designs were fragile, with pins or other delicate components prone to bending or breaking, even with the application of only very modest force. The electrical contacts in a USB connector are protected by an adjacent plastic tongue, and the entire connecting assembly is further protected by an enclosing metal sheath. As a result USB connectors can safely be handled, inserted, and removed, even by a small child. The encasing sheath and the tough moulded plug body mean that a connector can be dropped, stepped upon, even crushed or struck, all without damage; a considerable degree of force is needed to significantly damage a USB connector.
* It is difficult to incorrectly attach a USB connector. Connectors cannot be plugged-in upside down, and it is clear from the appearance and kinesthetic sensation of making a connection when the plug and socket are correctly mated.
* The connectors are particularly cheap to manufacture.
* The connectors enforce the directed topology of a USB network. USB does not support cyclical networks, so the connectors from incompatible USB devices are themselves incompatible. Unlike other communications systems (e.g. RJ-45 cabling) gender-changers are never used, making it difficult to create a cyclic USB network.
* A moderate insertion/removal force is specified. USB cables and small USB devices are held in place by the gripping force from the receptacle (without the need for the screws, clips, or thumbturns other connectors require). The force needed to make or break a connection is modest, allowing connections to be made in awkward circumstances or by those with motor disabilities.
* The connector construction always ensures that the external sheath on the plug contacts with its counterpart in the receptacle before the four connectors within are connected. This sheath is typically connected to the system ground, allowing otherwise damaging static charges to be safely discharged by this route (rather than via delicate electronic components). This means of enclosure also means that there is a (moderate) degree of protection from electromagnetic interference afforded to the USB signal while it travels through the mated connector pair (this is the only location when the otherwise twisted data pair must travel a distance in parallel).
* The USB standard specifies relatively low tolerances for compliant USB connectors, intending to minimize incompatibilities in connectors produced by different vendors (a goal that has been very successfully achieved). Unlike most other connector standards, the USB spec also defines limits to the size of a connecting device in the area around its plug. This was done to avoid circumstances where a device complied with the connector specification but its large size blocked adjacent ports. Compliant devices must either fit within the size restrictions or support a compliant extension cable which does.


Though most personal computers since early 2005 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.
The USB 1.0, 1.1 and 2.0 specifications define two types of connectors for the attachment of devices to the bus: A, and B. However, the mechanical layer has changed in some examples. For example, the [[IBM UltraPort]] is a proprietary USB connector located on the top of IBM's [[laptop]] [[Liquid crystal display|LCD]]s. It uses a different mechanical connector while preserving the USB signaling and protocol. Other manufacturers of small items also developed their own small form factor connector, and a wide variety of these have appeared. For specification purposes, these devices were treated as having a captive cable.


Several manufacturers offer external portable USB [[hard disk drive]]s, or empty enclosures for disk drives. These offer performance comparable to internal drives, limited by the 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 (interface)|Thunderbolt]].
An extension to USB called [[USB On-The-Go]] allows a single port to act as either a host or a device - chosen by which end of the cable plugs into the socket on the unit. Even after the cable is hooked up and the units are talking, the two units may "swap" ends under program control. This facility targets units such as [[Personal Digital Assistant|PDA]]s where the USB link might connect to a PC's host port as a device in one instance, yet connect as a host itself to a keyboard and mouse device in another instance. USB On-The-Go has therefore defined two small form factor connectors, the mini-A and mini-B, and a hermaphroditic socket (mini-AB), which should stop the proliferation of proprietary designs.


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.<ref>{{cite web | url = http://www.makeuseof.com/tag/portable-software-usb/ | title = 100 Portable Apps for your USB Stick (both for Mac and Win) | access-date = 30 October 2008 | url-status=live | archive-url = https://web.archive.org/web/20081202121455/http://www.makeuseof.com/tag/portable-software-usb/ | archive-date = 2 December 2008}}</ref><ref>{{cite web | url = http://www.VoIP-Download.com/Skype.htm#USB/ | title = Skype VoIP USB Installation Guide | access-date = 30 October 2008 | url-status=dead | archive-url = https://web.archive.org/web/20140706153501/http://www.voip-download.com/Skype.htm#USB/ | archive-date = 6 July 2014}}</ref>
[[Wireless USB]] is a standard being developed to extend the USB standard while maintaining backwards compatibility with USB 1.1 and USB 2.0 on the protocol level.


=== Media Transfer Protocol ===
The maximum length of a USB cable is 5 meters; greater lengths require hubs [http://www.usb.org/developers/usbfaq/#cab1].
{{See also|Picture 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 [[Digital rights management|DRM]] features. MTP was designed for use with [[portable media player]]s, 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.
=== Power supply ===


=== Human interface devices ===
The USB connector provides a single nominally 5&nbsp;[[volt]] wire from which connected USB devices may power themselves. In practice, delivered voltage can drop well below 5&nbsp;V, to only slightly above 4&nbsp;V. The compliance spec requires no more than 5.25&nbsp;V anywhere and no less than 4.375&nbsp;V at the worst case; a low-power function after a bus-powered hub. In typical situations the voltage is close to 5&nbsp;V.
{{Main|USB human interface device class}}


A USB mouse or keyboard can usually be used with older computers that have [[PS/2 port]]s with the aid of a small USB-to-PS/2 adapter. For mice and keyboards with dual-protocol support, a passive adapter that contains no [[Electronic circuit|logic circuitry]] may be used: the [[USB hardware]] in the keyboard or mouse is designed to detect whether it is connected to a USB or PS/2 port, and communicate using the appropriate protocol.{{Citation needed|date=May 2023}} Active converters that connect USB keyboards and mice (usually one of each) to PS/2 ports also exist.<ref>{{cite web |url=http://www.startech.com/Server-Management/KVM-Switches/PS-2-to-USB-Keyboard-and-Mouse-Adapter~PS22USB |title=PS/2 to USB Keyboard and Mouse Adapter |archive-url=https://web.archive.org/web/20141112214808/http://www.startech.com/Server-Management/KVM-Switches/PS-2-to-USB-Keyboard-and-Mouse-Adapter~PS22USB |website=StarTech.com |archive-date=12 November 2014 |access-date=21 May 2023}}</ref>
A given segment of the bus is specified to deliver up to 500&nbsp;[[Ampere|mA]]. This is often enough to power several devices, although this budget must be shared among all devices downstream of an unpowered hub. A bus-powered device may use as much of that power as allowed by the port it is plugged into.


=== Device Firmware Upgrade mechanism <span class="anchor" id="DFU"></span>===
Bus-powered hubs can continue to distribute the bus provided power to connected devices but the USB specification only allows for a single level of bus-powered devices from a bus-powered hub. This disallows connection of a bus-powered hub to another bus-powered hub. Many hubs include external power supplies which will power devices connected through them without taking power from the bus. Devices that need more than 500 mA must provide their own power.
''Device Firmware Upgrade'' (DFU) is a generic 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 [[Programmable read-only memory|PROM]] programmer. Any class of USB device can implement this capability by following the official DFU specifications. Doing so allows use of DFU-compatible host tools to update the device.<ref name="dfu-1.1"/><ref name="dfu-1.0">{{cite web
| url = http://www.usb.org/developers/devclass_docs/usbdfu10.pdf
| archive-url = https://web.archive.org/web/20140824054756/http://www.usb.org/developers/devclass_docs/usbdfu10.pdf
| title = Universal Serial Bus Device Class Specification for Device Firmware Upgrade, Version 1.0
| date = 13 May 1999 | access-date = 8 September 2014 | archive-date = 24 August 2014
| publisher = USB Implementers Forum
| pages = 7–8
}}</ref><ref>{{cite web
| url = https://admin.fedoraproject.org/pkgdb/package/dfu-util/
| title = rpms/dfu-util: USB Device Firmware Upgrade tool
| date = 14 May 2014
| access-date = 8 September 2014
| website = fedoraproject.org
| archive-date = 8 September 2014
| archive-url = https://web.archive.org/web/20140908112041/https://admin.fedoraproject.org/pkgdb/package/dfu-util/
| url-status = live
}}</ref>


DFU is sometimes used as a flash memory programming protocol in microcontrollers with built-in USB bootloader functionality.
When USB devices (including hubs) are first connected they are interrogated by the host controller, which enquires of each their maximum power requirements. The host operating system typically keeps track of the power requirements of the USB network and may warn the computer's operator when a given segment requires more power than is available (and will generally shut down devices or hubs in order to keep power consumption within the available resource).
<ref>{{cite web
| url = https://www.st.com/resource/en/application_note/cd00264379-usb-dfu-protocol-used-in-the-stm32-bootloader-stmicroelectronics.pdf
| title = AN3156: USB DFU protocol used in the STM32 bootloader
| date = 7 February 2023
| access-date = 28 January 2024
| website = st.com
}}</ref>


=== Audio streaming ===
A number of devices use this power supply without participating in a proper USB network. The typical example is a USB-powered reading light, but fans, battery chargers (particularly for mobile telephones) and even miniature vacuum cleaners are available. In most cases, these items contain no electronic circuitry, and thus are not proper USB devices at all. This can cause problems with some computers&mdash;the USB specification requires that devices connect in a low-power mode (100 mA maximum) and state how much current they need, before switching, with the host's permission, into high-power mode.
The USB Device Working Group has laid out specifications for audio streaming, and specific standards have been developed and implemented for audio class uses, such as microphones, speakers, headsets, telephones, musical instruments, etc. The working group has published three versions of audio device specifications:<ref>{{Cite press release |date=27 September 2016 |title=USB-IF Announces USB Audio Device Class 3.0 Specification |location=Houston, Texas & Beaverton, Oregon |url=https://www.businesswire.com/news/home/20160927006252/en/USB-IF-Announces-USB-Audio-Device-Class-3.0 |website=Business Wire |access-date=4 May 2018 |archive-date=4 May 2018 |archive-url=https://web.archive.org/web/20180504155618/https://www.businesswire.com/news/home/20160927006252/en/USB-IF-Announces-USB-Audio-Device-Class-3.0 |url-status=live }}</ref><ref>{{Cite web |url=http://www.usb.org/developers/docs/devclass_docs/ |title=USB Device Class Specifications |website=www.usb.org |access-date=4 May 2018 |archive-date=13 August 2014 |archive-url=https://web.archive.org/web/20140813051139/http://www.usb.org/developers/docs/devclass_docs/ |url-status=live }}</ref> USB Audio&nbsp;1.0, 2.0, and 3.0, referred to as "UAC"<ref name="xmos2015"/> or "ADC".<ref>{{Cite web |url=https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/usb-2-0-audio-drivers |title=USB Audio 2.0 Drivers |website=Microsoft Hardware Dev Center |access-date=4 May 2018 |quote=ADC-2 refers to the USB Device Class Definition for Audio Devices, Release 2.0. |archive-date=4 May 2018 |archive-url=https://web.archive.org/web/20180504155514/https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/usb-2-0-audio-drivers |url-status=live }}</ref>


UAC 3.0 primarily introduces improvements for portable devices, such as reduced power usage by bursting the data and staying in low power mode more often, and power domains for different components of the device, allowing them to be shut down when not in use.<ref>{{Cite web|url=https://www.synopsys.com/designware-ip/technical-bulletin/usb-audio-dwtb-q117.html|title=New USB Audio Class for USB Type-C Digital Headsets|website=Synopsys.com|access-date=7 May 2018|archive-date=7 May 2018|archive-url=https://web.archive.org/web/20180507221645/https://www.synopsys.com/designware-ip/technical-bulletin/usb-audio-dwtb-q117.html|url-status=live}}</ref>
Some devices intended for connection to laptops draw more power than is permitted by the specification for a single USB port; to avoid requiring an exernal power supply, these devices come with dual cables, and the user is instructed that the device must be plugged-into ''two'' USB ports. On a laptop with only two ports, this means only one such device can be used at a time, unless a powered hub is added. A number of peripherals for [[IBM]] laptops (now made by [[Lenovo]]) are designed to use dual USB connections in this manner.


UAC 2.0 introduced support for High Speed USB (in addition to Full Speed), allowing greater bandwidth for multi-channel interfaces, higher sample rates,<ref name=":2">{{Cite web |url=http://thewelltemperedcomputer.com/KB/USB.html |title=USB |website=The Well-Tempered Computer |last=Kars |first=Vincent |date=May 2011 |access-date=7 May 2018 |quote=All operating systems (Win, OSX, and Linux) support USB Audio Class 1 natively. This means you don't need to install drivers, it is plug&play. |archive-date=7 May 2018 |archive-url=https://web.archive.org/web/20180507153825/http://thewelltemperedcomputer.com/KB/USB.html |url-status=live }}</ref> lower inherent latency,<ref>{{Cite web |url=https://www.xmos.ai/file/fundamentals-of-usb-audio?version=latest |title=Fundamentals of USB Audio |publisher=XMOS Ltd. |website=www.xmos.com |format=PDF |date=2015 |access-date=10 December 2020 |quote=Note that Full Speed USB has a much higher intrinsic latency of 2ms}}</ref><ref name="xmos2015"/> and 8× improvement in timing resolution in synchronous and adaptive modes.<ref name="xmos2015"/> UAC2 also introduced the concept of clock domains, which provides information to the host about which input and output terminals derive their clocks from the same source, as well as improved support for audio encodings like [[Direct Stream Digital|DSD]], audio effects, channel clustering, user controls, and device descriptions.<ref name="xmos2015"/><ref name=":4"/>
USB-powered devices attempting to draw large currents without requesting the power will not work with certain USB controllers, and will either disrupt other devices on the bus or fail to work themselves (or both). Those problems with the abuse of the USB power supply have inspired a number of [[April Fool]] hoaxes, like the introduction of a USB-powered [[George Foreman Grill|George Foreman]] ''iGrill'' [http://www.thinkgeek.com/stuff/looflirpa/igrill.shtml] and a desktop USB [[Fondue]] Set [http://www.thinkgeek.com/stuff/41/fundue.shtml].


UAC 1.0 devices are still common, however, due to their cross-platform driverless compatibility,<ref name=":2"/> and also partly due to [[Microsoft Windows|Microsoft]]'s failure to implement UAC 2.0 for over a decade after its publication, having finally added support to [[Windows 10]] through the Creators Update on 20 March 2017.<ref>{{Cite web |url=https://blogs.windows.com/windowsexperience/2016/09/21/announcing-windows-10-insider-preview-build-14931-for-pc/ |title=Announcing Windows 10 Insider Preview Build 14931 for PC |website=Windows Experience Blog |date=21 September 2016 |access-date=7 May 2018 |quote=We now have native support for USB Audio 2.0 devices with an inbox class driver! This is an early version of the driver that does not have all features enabled |archive-date=23 September 2016 |archive-url=https://web.archive.org/web/20160923032703/https://blogs.windows.com/windowsexperience/2016/09/21/announcing-windows-10-insider-preview-build-14931-for-pc/ |url-status=live }}</ref><ref>{{Cite web |url=http://amplioaudio.blogspot.com/2017/09/usb-audio-class-20-support-in-windows.html |title=Ampliozone: USB Audio Class 2.0 Support in Windows 10, FINALLY!!!! |last=Plummer |first=Gregg |date=20 September 2017 |website=Ampliozone |access-date=7 May 2018 |archive-date=7 May 2018 |archive-url=https://web.archive.org/web/20180507154036/http://amplioaudio.blogspot.com/2017/09/usb-audio-class-20-support-in-windows.html |url-status=live }}</ref><ref name=":4">{{Cite web|url=https://www.computeraudiophile.com/ca/bits-and-bytes/this-just-in-microsoft-launches-native-class-2-usb-audio-support-wait-what-r647/|title=This Just In: Microsoft Launches Native Class 2 USB Audio Support. Wait, What?|website=Computer Audiophile|date=2 May 2017 |access-date=7 May 2018|quote=Class 2 support enables much higher sample rates such as PCM 24 bit / 384 kHz and DSD (DoP) up through DSD256.|archive-date=2 September 2018|archive-url=https://web.archive.org/web/20180902023557/https://www.computeraudiophile.com/ca/bits-and-bytes/this-just-in-microsoft-launches-native-class-2-usb-audio-support-wait-what-r647/|url-status=live}}</ref> UAC 2.0 is also supported by [[macOS]], [[iOS]], and [[Linux]],<ref name="xmos2015"/> however [[Android (operating system)|Android]] only implements a subset of the UAC 1.0 specification.<ref name=":5">{{Cite web |url=https://source.android.com/docs/core/audio/usb#hostAudio |title=USB Digital Audio |website=Android Open Source Project |access-date=16 February 2023 |quote=Synchronous sub-mode is not commonly used with audio because both host and peripheral are at the mercy of the USB clock. }}</ref>
== USB compared to other standards ==


USB provides three isochronous (fixed-bandwidth) synchronization types,<ref>{{cite web|url=http://www.atmel.com/Images/doc32139.pdf|title=32-bit Atmel Microcontroller Application Note|date=2011|publisher=Atmel Corporation|access-date=13 April 2016|url-status=live|archive-url=https://web.archive.org/web/20160506204128/http://www.atmel.com/Images/doc32139.pdf|archive-date=6 May 2016}}</ref> all of which are used by audio devices:<ref>{{Cite web|url=http://www.ti.com/lit/ds/symlink/pcm2906c.pdf|title=PCM2906C datasheet|date=November 2011|website=Texas Instruments|quote=The PCM2906C employs SpAct architecture, TI's unique system that recovers the audio clock from USB packet data.|access-date=4 May 2018|archive-date=4 May 2018|archive-url=https://web.archive.org/web/20180504225235/http://www.ti.com/lit/ds/symlink/pcm2906c.pdf|url-status=live}}</ref>
=== Storage ===


* Asynchronous&nbsp;— The ADC or DAC are not synced to the host computer's clock at all, operating off a free-running clock local to the device.
[[Image:TwinMOS Mobile Disk III K24-256MB USB Flash drive.jpg|thumb|A [[USB Flash Drive|Flash Drive]], a typical USB mass-storage device]]
* Synchronous&nbsp;— The device's clock is synced to the USB start-of-frame (SOF) or Bus Interval signals. For instance, this can require syncing an 11.2896&nbsp;MHz clock to a 1&nbsp;kHz SOF signal, a large frequency multiplication.<ref>{{Cite web|url=http://www.cypress.com/file/102921/download|title=Designing Modern USB Audio Systems|last=Castor-Perry|first=Kendall|date=October 2010|website=Cypress Semiconductor|access-date=4 May 2018|archive-date=5 May 2018|archive-url=https://web.archive.org/web/20180505172950/http://www.cypress.com/file/102921/download|url-status=live}}</ref><ref name=":1">{{Cite web|url=http://www.cypress.com/file/122521/download|title=Programmable Clock Generation and Synchronization for USB Audio Systems|last=Castor-Perry|first=Kendall|date=2011|website=Cypress Semiconductor|quote=Early USB replay interfaces used synchronous mode but acquired a reputation for poor quality of the recovered clock (and resultant poor replay quality). This was primarily due to deficiencies of clocking implementation rather than inherent shortcomings of the approach.|access-date=4 May 2018|archive-date=4 May 2018|archive-url=https://web.archive.org/web/20180504181023/http://www.cypress.com/file/122521/download|url-status=live}}</ref>
USB implements connections to storage devices using a set of standards called the ''[[USB mass storage device class|USB mass-storage device class]]''. This was initially intended for traditional magnetic and optical drives, but has been extended to support a wide variety of devices. USB is not intended to be a primary bus for a computer's internal storage: buses such as [[Advanced Technology Attachment|ATA]] (IDE) and SCSI fulfill that role.
* Adaptive&nbsp;— The device's clock is synced to the amount of data sent per frame by the host<ref>{{Cite web|url=http://www.thewelltemperedcomputer.com/Lib/Hitoshi%20Kondoh%20story.pdf|title=The D/A diaries: A personal memoir of engineering heartache and triumph|last=Kondoh|first=Hitoshi|date=20 February 2002|quote=The fact that there is no clock line within the USB cable leads to a thinner cable, which is an advantage. But, no matter how good the crystal oscillators are at the send and receive ends, there will always be some difference between the two...|access-date=4 May 2018|archive-date=12 December 2019|archive-url=https://web.archive.org/web/20191212230749/http://www.thewelltemperedcomputer.com/Lib/Hitoshi%20Kondoh%20story.pdf|url-status=live}}</ref>


While the USB spec originally described asynchronous mode being used in "low cost speakers" and adaptive mode in "high-end digital speakers",<ref>{{Cite web |url=http://www.usb.org/developers/docs/usb20_docs/ |title=USB 2.0 Documents |website=www.usb.org |access-date=7 May 2018 |archive-date=3 December 2017 |archive-url=https://web.archive.org/web/20171203144114/http://www.usb.org/developers/docs/usb20_docs/ |url-status=live }}</ref> the opposite perception exists in the [[hi-fi]] world, where asynchronous mode is advertised as a feature, and adaptive/synchronous modes have a bad reputation.<ref>{{Cite web |url=https://www.cambridgeaudio.com/usa/en/blog/our-guide-usb-audio-why-should-i-use-it |title=Our Guide to USB Audio - Why Should I Use it? |website=Cambridge Audio |date=9 May 2016 |access-date=7 May 2018 |quote=Synchronous USB DAC is the lowest quality of the three ... Adaptive ... means that there is no continuous, accurate master clock in the DAC, which causes jitter in the audio stream. ... Asynchronous – this is the most complex to implement but it is a huge improvement on the other types. |archive-date=7 May 2018 |archive-url=https://web.archive.org/web/20180507153701/https://www.cambridgeaudio.com/usa/en/blog/our-guide-usb-audio-why-should-i-use-it |url-status=live }}</ref><ref>{{Cite web |url=http://thewelltemperedcomputer.com/Intro/SQ/USB_USB.htm |title=USB versus USB |website=The Well-Tempered Computer |last=Kars |first=Vincent |date=July 2012 |access-date=7 May 2018 |quote=Synchronous is not used in a quality DAC as it is very jittery. ... asynchronous is the better of these modes. |archive-date=22 April 2018 |archive-url=https://web.archive.org/web/20180422204100/http://thewelltemperedcomputer.com/Intro/SQ/USB_USB.htm |url-status=live }}</ref><ref name=":5"/> In reality, all types can be high-quality or low-quality, depending on the quality of their engineering and the application.<ref name=":1"/><ref name="xmos2015"/><ref>{{Cite news |url=https://www.head-fi.org/threads/low-jitter-usb-dan-lavry-michael-goodman-adaptive-asynchronous.493152/#post-6661517 |title=Low-Jitter USB: Dan Lavry, Michael Goodman, Adaptive, Asynchronous |work=Headphone Reviews and Discussion - Head-Fi.org |access-date=7 May 2018 |quote=Some manufacturers may lead you to believe that Asynchronous USB transfers are superior to Adaptive USB transfers and that therefore you must believe in the asynchronous solution. This no more true than saying that you "must" hold the fork in your left hand. In fact, if you know what you are doing, you will feed yourself with either hand. The issue is really about good engineering practices. |archive-date=7 May 2018 |archive-url=https://web.archive.org/web/20180507153738/https://www.head-fi.org/threads/low-jitter-usb-dan-lavry-michael-goodman-adaptive-asynchronous.493152/#post-6661517 |url-status=live }}</ref> Asynchronous has the benefit of being untied from the computer's clock, but the disadvantage of requiring [[sample rate conversion]] when combining multiple sources.
However, USB has one important advantage in making it possible to install and remove devices without opening the computer case, making it useful for external drives. Today, a number of [[manufacturer]]s offer portable USB hard drives that offer performance comparable to conventional ATA (IDE) drives. These external drives, called [[USB enclosure|enclosures]], are often composed of translating devices that connect to USB on one side and to conventional IDE, ATA, ATAPI, or SCSI drives on the other. A drive is installed into the enclosure and the enclosure is then plugged into the computer, thus creating the function of a regular USB mass-storage device.


== Connectors <span class="anchor" id="CONNECTORS"></span>==
[[FireWire]] technology is also commonly used with portable hard drives, some of which include both USB and FireWire ports. FireWire tends to perform better in speed [[Benchmark (computing)|benchmark]] tests. However, USB ports are more common on consumer-level computers, which enhances the portability of a USB drive.
{{Main|USB hardware#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''.<ref name="spec_3.0"/>{{rp|pages=2-5–2-6}} The official USB specification documents also periodically define the term ''male'' to represent the plug, and ''female'' to represent the receptacle.<ref>{{cite web |title=USB 2.0 Specification Engineering Change Notice (ECN) #1: Mini-B connector |via=www.usb.org |url=http://www.usb.org/developers/docs/ecn1.pdf |date=20 October 2000 |url-status=live |archive-url=https://web.archive.org/web/20150412121600/http://www.usb.org/developers/docs/ecn1.pdf |archive-date=12 April 2015 |access-date=29 December 2014}}</ref>
=== Human-interface devices ([[Human interface device|HID]]s) ===
[[File:USB Type-A plug B&W.svg|alt=USB Type-A plug|thumb|The legacy USB Type-A plug. This is one of many legacy types of [[USB connector]].]]
The design is intended to make it 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.<ref name="spec_3.0"/> The USB-C plug however 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 some 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 has not completely replaced [[IBM_Personal_Computer/AT|AT]] keyboard connections and [[PS/2]] keyboard and mouse connections, but virtually all PC motherboards manufactured today have one or more USB ports. [[As of 2004]], most new [[motherboard]]s have multiple USB 2.0 high-speed ports, though some are internal, and require a "[[header]]" connection to be [[accessibility|accessible]] from the front or rear of the computer [[case]]. Similarly, support for joysticks, keypads, tablets and other human-interface devices is progressively migrating from MIDI, "game", and PS/2 connectors to USB. It is now quite common for a mouse or keyboard to be a USB device, which is shipped with a small USB-to-PS/2 adaptor connected to the end of its cable, so it can be used with either USB or PS/2 ports.


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.
Apple computers have used USB mice and keyboards exclusively since [[January]] [[1999]].


== Cabling <span class="anchor" id="CABLING"></span>==
=== FireWire ===
{{Main|USB hardware#Cabling}}
[[File:Cables in Hong Kong.JPG|thumb|A variety of USB cables for sale in [[Hong Kong]]]]


The USB&nbsp;1.1 standard specifies that a standard cable can have a maximum length of {{convert|5|m|ftin|sp=us}} with devices operating at full speed (12&nbsp;Mbit/s), and a maximum length of {{convert|3|m|ftin|sp=us}} with devices operating at low speed (1.5&nbsp;Mbit/s).<ref>{{cite web |url=http://www.cablesplususa.com/pdf/USB_Cable_Length_Limitations.pdf |title=USB Cable Length Limitations |website=CablesPlusUSA.com |date=3 November 2010 |access-date=2 February 2014 |archive-url=https://web.archive.org/web/20141011015850/http://www.cablesplususa.com/pdf/USB_Cable_Length_Limitations.pdf |archive-date=11 October 2014}}</ref><ref>{{cite web |url=https://www.techwalla.com/articles/what-is-the-maximum-length-of-a-usb-cable |title=What Is the Maximum Length of a USB Cable? |website=Techwalla.com |access-date=18 November 2017 |url-status=live |archive-url=https://web.archive.org/web/20171201043247/https://www.techwalla.com/articles/what-is-the-maximum-length-of-a-usb-cable |archive-date=1 December 2017}}</ref><ref name="faq"/>
USB was originally seen as a complement to [[FireWire]], which was designed as a high-speed serial bus which could efficiently interconnect peripherals such as hard disks, audio interfaces, and video equipment. USB originally operated at a far lower data rate and used much simpler hardware, and was suitable for small peripherals such as keyboards and mice.


USB&nbsp;2.0 provides for a maximum cable length of {{convert|5|m|ftin|sp=us}} for devices running at high speed (480&nbsp;Mbit/s).<ref name="faq">{{Cite web | url = http://www.usb.org/developers/usbfaq/#cab1 | title = Cables and Long-Haul Solutions | work = USB 2.0 Frequently Asked Questions | publisher = USB Implementers Forum | access-date = 28 April 2019 | url-status=dead | archive-url = https://web.archive.org/web/20110118225750/http://www.usb.org/developers/usbfaq/#cab1 | archive-date = 18 January 2011}}</ref>
However, because FireWire ports were more costly to implement than USB ports, primarily due to their per-port licence fee, they were rarely provided as standard equipment on computers, and peripheral manufacturers offered many more USB devices. The introduction of USB 2.0 Hi-Speed, with its widely advertised 480 Mbps signalling rate, convinced many consumers that FireWire was outdated (although this was not necessarily the case; see "USB 2.0 Hi-Speed vs FireWire" below).


The USB&nbsp;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]]&nbsp;26 wires the maximum practical length is {{convert|3|m|ftin|sp=us}}.<ref>{{cite web |title=USB 3.0 Developers FAQ |url=http://janaxelson.com/usb3faq.htm#ca_maximum |access-date=20 October 2016 |last=Axelson |first=Jan |url-status=live |archive-url=https://web.archive.org/web/20161220073858/http://www.janaxelson.com/usb3faq.htm#ca_maximum |archive-date=20 December 2016 }}</ref>
Today, USB Hi-Speed is rapidly replacing FireWire in consumer products. FireWire retains its popularity in many professional settings, where it is used for audio and video transfer, and data storage.


==== Technical differences ====
=== USB bridge cables ===
USB bridge cables, or data transfer cables can be found within the market, offering direct PC to PC connections. A bridge cable is a special cable with a chip and active electronics in the middle of the cable. The chip in the middle of the cable acts as a peripheral to both computers and allows for peer-to-peer communication between the computers. The USB bridge cables are used to transfer files between two computers via their USB ports.


Popularized by Microsoft as [[Windows Easy Transfer]], the Microsoft utility used a special USB bridge cable to transfer personal files and settings from a computer running an earlier version of Windows to a computer running a newer version. In the context of the use of ''Windows Easy Transfer'' software, the bridge cable can sometimes be referenced as ''Easy Transfer cable''.
The most significant technical differences between FireWire and USB include the following:


Many USB bridge / data transfer cables are still USB 2.0, but there are also a number of USB 3.0 transfer cables. Despite USB 3.0 being 10 times faster than USB 2.0, USB 3.0 transfer cables are only 2 to 3 times faster given their design.{{clarify|reason="given their design" suggests there are reasons for this, what are they?|date=October 2022}}
* USB networks use a [[tiered-star]] topology, while FireWire networks use a much less restrictive free-form topology. Unlike USB networks, FireWire networks do not require hubs.


The USB 3.0 specification introduced an A-to-A cross-over cable without power for connecting two PCs. These are not meant for data transfer but are aimed at diagnostic uses.
* USB uses a "speak-when-spoken-to" protocol; peripherals cannot communicate with the host unless the host specifically requests communication. A FireWire device can communicate with any other node at any time, subject to network conditions.


==== Dual-role USB connections ====
* A USB network relies on a single host at the top of the tree to control the network. In a FireWire network, any capable node can control the network.
USB bridge cables have become less important with USB dual-role-device capabilities introduced with the USB 3.1 specification. Under the most recent specifications, USB supports most scenarios connecting systems directly with a Type-C cable. For the capability to work, however, connected systems must support role-switching. Dual-role capabilities requires there be ''two'' controllers within the system, as well as a ''role controller''. While this can be expected in a mobile platform such as a tablet or a phone, desktop PCs and laptops often will not support dual roles.<ref>{{cite web |url=https://superuser.com/questions/1080002/usb-3-1-type-c-host-to-host |title=USB 3.1 - Type-C Host to Host |website=superuser.com |access-date=21 July 2021 |archive-date=14 October 2021 |archive-url=https://web.archive.org/web/20211014022330/https://superuser.com/questions/1080002/usb-3-1-type-c-host-to-host |url-status=live }}</ref>


== Power <span class="anchor" id="POWER"></span>==
* All forms of FireWire use significantly different, and generally more efficient, signalling systems than USB.
{{Main|USB hardware#Power}}


Upstream USB connectors supply power at a nominal 5&nbsp;V DC via the V_BUS pin to downstream USB devices.
These and other differences reflect the differing design goals of the two busses: 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.


=== Low-power and high-power devices <span class="anchor" id="HOST"></span>===
=== USB 2.0 Hi-Speed vs FireWire ===


This section describes the power distribution model of USB that existed before [[USB_hardware#USB_Power_Delivery|Power-Delivery]] (USB-PD). On devices that do not use PD, USB provides up to 7.5&nbsp;W through Type-A and Type-B connectors, and up to 15&nbsp;W through USB-C. All pre-PD USB power is provided at 5&nbsp;V.
The signalling rate of USB 2.0 Hi-Speed mode is 480 [[megabits per second]] (Mbps), while the signalling rate of [[FireWire]] 400 (IEEE 1394a) is 393.216 Mbps [http://www.choice.com.au/viewArticle.aspx?id=104527&catId=100274&tid=100008&p=1]. However, despite the higher signalling rate, USB Hi-Speed connections can rarely transfer data more quickly than FireWire 400 connections, due to the higher overhead of the USB signalling system and protocol, and USB's greater demand on host resources.


For a host providing power to devices, USB has a concept of the ''unit load''. Any device may draw power of one unit, and devices may request more power in these discrete steps. It is not required that the host provide requested power, and a device may not draw more power than negotiated.
In [[2003]], FireWire was updated with the IEEE 1394b specification. This provides a new mode called S800, which operates at 786.432 Mbps. S800 requires a new [[physical layer]], but S800 nodes can be connected to existing FireWire 1394a ports, just as USB Hi-Speed nodes will operate with older full-speed hosts. IEEE 1394b also provides rates up to approximately 3.2 Gbps; however, the higher rates use special physical layers which are incompatible with 1394a devices.


Devices that draw no more than one unit are said to be ''low-power'' devices. All devices must act as low-power devices when starting out as unconfigured. For USB devices up to USB&nbsp;2.0 a unit load is 100&nbsp;mA (or 500&nbsp;mW), while USB&nbsp;3.0 defines a unit load as 150&nbsp;mA (750&nbsp;mW). Full-featured USB-C can support low-power devices with a unit load of 250&nbsp;mA (or 1250&nbsp;mW).
== Version history ==


Devices that draw more than one unit are ''high-power'' devices (such as typical 2.5-inch hard disk drives). USB up to 2.0 allows a host or hub to provide up to 2.5&nbsp;W to each device, in five discrete steps of 100&nbsp;mA, and SuperSpeed devices (USB 3.0 and up) allows a host or a hub to provide up to 4.5&nbsp;W in six steps of 150&nbsp;mA. USB-C supports high-power devices with up to 7.5&nbsp;W, in six steps of 250&nbsp;mA. Full-featured USB-C can support up to 15&nbsp;W.
=== USB ===


{| class="wikitable sortable" style="margin:0 0 1em 1em;"
*'''USB 1.0 FDR''': Released in [[November]] [[1995]], the same year that Apple adopted the [[IEEE]] 1394 standard known as [[FireWire]].
|+ USB power standards
|-
! Specification
! Current
! Voltage
! Power (max.)
|-
| Low-power device
| {{right|100&nbsp;mA}} || {{right|5&nbsp;V}}{{Efn |name="Vdrop" |The V{{sub |BUS}} supply from a low-powered hub port may drop to 4.40&nbsp;V.}} || {{right|0.50&nbsp;W}}
|-
| Low-power SuperSpeed (USB 3.0) device
| {{right|150&nbsp;mA}} || {{right|5&nbsp;V}}{{Efn |name="Vdrop"}} || {{right|0.75&nbsp;W}}
|-
| High-power device
| {{right|500&nbsp;mA}}{{Efn|Up to five unit loads; with non-SuperSpeed devices, one unit load is 100&nbsp;mA.}} || {{right|5&nbsp;V}} || {{right|2.5&nbsp;W}}
|-
| High-power SuperSpeed (USB 3.0) device
| {{right|900&nbsp;mA}}{{Efn|Up to six unit loads; with SuperSpeed devices, one unit load is 150&nbsp;mA.}} || {{right|5&nbsp;V}} || {{right|4.5&nbsp;W}}
|-
| USB 3.2 Gen 2×1 device
| {{right|1.5&nbsp;A}}{{Efn|name="Vml"|Up to six unit loads; with multi-lane devices, one unit load is 250&nbsp;mA.}} || {{right|5&nbsp;V}} || {{right|7.5&nbsp;W}}
|-
| Battery Charging (BC) 1.1
| {{right|1.5&nbsp;A}} || {{right|5&nbsp;V}} || {{right|7.5&nbsp;W}}
|-
| Battery Charging (BC) 1.2
| {{right|1.5&nbsp;A}} || {{right|5&nbsp;V}} || {{right|7.5&nbsp;W}}
|-
| USB-C (single-lane)
| {{right|1.5&nbsp;A}}{{Efn|name="Vml"}} || {{right|5&nbsp;V}} || {{right|7.5&nbsp;W}}
|-
| USB-C (multi-lane)
| {{right|3&nbsp;A}} || {{right|5&nbsp;V}} || {{right|15&nbsp;W}}
|-
| [[USB Power Delivery|Power Delivery]] 1.0/2.0/3.0 Type-C
| {{right|5&nbsp;A}}{{efn|name="req_5A_cable"|>3&nbsp;A (>60&nbsp;W) operation requires an electronically marked cable rated at 5&nbsp;A.}} || {{right|20&nbsp;V}} || {{right|100&nbsp;W}}
|-
| Power Delivery 3.1 Type-C
| {{right|5&nbsp;A}}{{efn|name="req_5A_cable"}} || {{right|48&nbsp;V}}{{efn|name="req_EPR_cable"|>20&nbsp;V (>100&nbsp;W) operation requires an electronically marked Extended Power Range (EPR) cable.}} || {{right|240&nbsp;W}}
|-
| colspan=4 | {{notelist}}
|}


To recognize Battery Charging mode, a dedicated charging port places a resistance not exceeding 200&nbsp;Ω across the D+ and D− terminals. Shorted or near-shorted data lanes with less than 200&nbsp;Ω of resistance across the D+ and D− terminals signify a dedicated charging port (DCP) with indefinite charging rates.<ref name="USBBC1.2">{{cite book| url = http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip | title = Battery Charging Specification, Revision 1.2 | date = 7 December 2010 | access-date = 29 March 2016 | publisher = USB Implementers Forum | url-status=live | archive-url = https://web.archive.org/web/20160328102350/http://www.usb.org/developers/docs/devclass_docs/BCv1.2_070312.zip | archive-date = 28 March 2016 |chapter= Parameter Values |page=45}}</ref><ref>{{cite web |title=OVERVIEW OF USB BATTERY CHARGING REVISION 1.2 AND THE IMPORTANT ROLE OF ADAPTER EMULATORS |url=https://pdfserv.maximintegrated.com/en/an/TUT5801.pdf |publisher=maxim integrated |page=3 |date=2014 |access-date=12 August 2021 |archive-date=4 July 2021 |archive-url=https://web.archive.org/web/20210704221311/https://pdfserv.maximintegrated.com/en/an/TUT5801.pdf |url-status=live}}</ref>
*'''USB 1.0''': Released in [[January]] [[1996]].


In addition to standard USB, there is a proprietary high-powered system known as [[PoweredUSB]], developed in the 1990s, and mainly used in point-of-sale terminals such as cash registers.
*'''USB 1.1''': Released in [[September]] [[1998]].


== Signaling ==
*'''USB 2.0''': Released in [[April]] [[2000]]. The major feature of this standard was the addition of high-speed mode. This is the current revision.
{{Main|USB (Communications)#Signaling (USB PHY)}}


USB signals are transmitted using [[differential signaling]] on [[twisted-pair]] data wires with {{nowrap|90 [[ohm|Ω]] ± 15%}} [[characteristic impedance]].<ref>{{cite web |title=USB in a NutShell&nbsp;— Chapter 2: Hardware |url=http://www.beyondlogic.org/usbnutshell/usb2.htm |publisher=Beyond Logic.org |access-date=25 August 2007 |url-status=live |archive-url=https://web.archive.org/web/20070820221226/http://www.beyondlogic.org/usbnutshell/usb2.htm |archive-date=20 August 2007 }}</ref> USB 2.0 and earlier specifications define a single pair in [[half-duplex]] (HDx). USB 3.0 and later specifications define one dedicated pair for USB 2.0 compatibility and two or four pairs for data transfer: two pairs in full-duplex (FDx) for single lane variants require at least SuperSpeed (SS) connectors; four pairs in full-duplex for two lane (''×2'') variants require USB-C connectors. USB4 Gen 4 requires the use of all four pairs but allow for asymmetrical pairs configuration.<ref>{{Cite web |title=USB4 Specification v2.0 {{!}} USB-IF |url=https://www.usb.org/document-library/usb4r-specification-v20 |access-date=2023-07-22 |website=www.usb.org}}</ref> In this case one lane is used for the upstream data and the other three for the downstream data or vice-versa. USB4 Gen 4 use [[pulse amplitude modulation]] on 3 levels, providing a [[Ternary numeral system|trit]] of information every [[baud]] transmitted, the transmission frequency of 12.8&nbsp;GHz translate to a transmission rate of 25.6&nbsp;GBd<ref>{{Cite web |title=USB4 Version 2.0 from Simulation to Tx, Rx, and Interconnect Test {{!}} Signal Integrity Journal |url=https://www.signalintegrityjournal.com/articles/3114-usb4-version-20-from-simulation-to-tx-rx-and-interconnect-test |access-date=2023-07-22 |website=www.signalintegrityjournal.com |language=en}}</ref> and the 11-bit–to–7-trit translation provides a theoretical maximum transmission speed just over 40.2&nbsp;Gbit/s.<ref>{{Cite web |title=Welcome to the 80Gpbs Ultra-High Speed Era of USB4 {{!}} GraniteRiverLabs |url=https://www.graniteriverlabs.com/en-us/technical-blog/usb4-80-cio80 |access-date=2023-07-22 |website=www.graniteriverlabs.com |language=en-us}}</ref>
*'''USB 2.0''': Revised in [[December]] [[2002]]. Added three speed distinction to this standard, allowing all devices to be USB 2.0 compliant even if they were previously considered only 1.1 or 1.0 compliant. This makes the backwards compatibility explicit, but it becomes more difficult to determine a device's throughput without seeing the symbol. As an example, a computer's port could be incapable of USB 2.0's hi-speed fast transfer rates, but still claim USB 2.0 compliance (since it supports some of USB 2.0).
{{mw-datatable}}
{| class="wikitable sortable mw-datatable" style="text-align:center;"
|+ USB Data operation modes|
! colspan="2" |Operation mode name
! rowspan="2" |Introduced in
! rowspan="2" |Lanes
! rowspan="2" |[[Line code|Encoding]]
! rowspan="2" | # data wires
! rowspan="2" data-sort-type=number | Nominal signaling rate
! rowspan="2" |Original label
! colspan="2" |[[USB-IF]] current<ref>[https://www.usb.org/sites/default/files/usb_data_performance_language_usage_guidelines_jan_2024.pdf USB Data Performance Language Usage Guidelines from USB-IF]</ref>
|-
! current
! class=unsortable | old
! marketing name
! class=unsortable | logo
|-
|Low-Speed
| rowspan="3" {{CNone}}
| rowspan="2" |USB 1.0
| rowspan="3" |1 [[half-duplex|HDx]]
| rowspan="3" |[[NRZI]]
| rowspan="3" | 2
| data-sort-value=0.001 | 1.5 Mbit/s<br />half-duplex
| Low-Speed USB (LS)
| rowspan="2" |Basic-Speed USB
| rowspan="2" |[[File:Certified USB.svg|50x50px]]
|-
|Full-Speed
| data-sort-value=0.012 | 12&nbsp;Mbit/s<br />half-duplex
|Full-Speed USB (FS)
|-
|High-Speed
|USB 2.0
| data-sort-value=0.480 | 480&nbsp;Mbit/s<br />half-duplex
|colspan=2|Hi-Speed USB (HS)
| [[File:Certified Hi-Speed USB.svg|50px]]
|-
|USB 3.2 Gen&nbsp;1{{Abbr|×1|single-lane}}
|USB&nbsp;3.0,<br />USB&nbsp;3.1 Gen&nbsp;1
|[[USB 3.0]]
| rowspan="2" |1 [[Full duplex|FDx]] (+ 1 HDx){{efn|name="HDx"}}
|[[8b/10b]]
| rowspan="2" |6
|5 <abbr>Gbit/s</abbr><br />symmetric
|SuperSpeed USB (SS)
|USB 5Gbps
|[[File:USB 5Gbps logo.svg|50px]]
|-
|USB&nbsp;3.2 Gen&nbsp;2{{Abbr|×1|single-lane}}
|USB&nbsp;3.1&nbsp;Gen&nbsp;2
|USB 3.1
|[[128b/132b]]
|10 <abbr>Gbit/s</abbr><br />symmetric
|SuperSpeed+ (SS+)
|rowspan="2" |USB 10Gbps
|rowspan="2" |[[File:USB 10Gbps logo.svg|50px]]
|-
|USB&nbsp;3.2 Gen&nbsp;1{{Abbr|×2|two-lane}}
|rowspan="9" {{CNone}}
|rowspan="2" |USB&nbsp;3.2
| rowspan="2" | 2 FDx (+ 1 HDx){{efn|name="HDx"}}
|8b/10b
| rowspan="2" | 10
|10 <abbr>Gbit/s</abbr><br />symmetric
| {{n/a}}
|-
|USB&nbsp;3.2 Gen&nbsp;2{{Abbr|×2|two-lane}}
|128b/132b
|20 <abbr>Gbit/s</abbr><br />symmetric
|SuperSpeed USB 20Gbps
|USB 20Gbps
|[[File:USB 20Gbps logo.svg|50px]]
|-
|USB4 Gen&nbsp;2{{Abbr|×1|single-lane}}
|rowspan="4" |[[USB4]]
|1 FDx (+ 1 HDx){{efn|name="HDx"}}
| rowspan="2" |64b/66b{{efn|name="rs-fec"}}
|6 (used of 10)
|10 <abbr>Gbit/s</abbr><br />symmetric
| colspan=2| USB 10Gbps
|[[File:USB 10Gbps logo.svg|50px]]
|-
|USB4 Gen&nbsp;2{{Abbr|×2|two-lane}}
|2 FDx (+ 1 HDx){{efn|name="HDx"}}
|10
|20 <abbr>Gbit/s</abbr><br />symmetric
|colspan="2" rowspan="2" |USB 20Gbps
|rowspan="2" |[[File:USB 20Gbps logo.svg|50px]]
|-
|USB4 Gen&nbsp;3{{Abbr|×1|single-lane}}
|1 FDx (+ 1 HDx){{efn|name="HDx"}}
| rowspan="2" |128b/132b{{efn|name="rs-fec"}}
|6 (used of 10)
|20 <abbr>Gbit/s</abbr><br />symmetric
|-
|USB4 Gen&nbsp;3{{Abbr|×2|two-lane}}
|2 FDx (+ 1 HDx){{efn|name="HDx"}}
|10
|40 <abbr>Gbit/s</abbr><br />symmetric
| colspan=2 | USB 40Gbps
|[[File:USB 40Gbps logo 01.svg|50px]]
|-
| rowspan="3" |USB4 Gen&nbsp;4{{Abbr|×2|two-lane}}
| rowspan="3" |USB4 2.0
|2 FDx (+ 1 HDx){{efn|name="HDx"}}
| rowspan="3" |[[Pulse-amplitude modulation|PAM-3]] 11b/7[[Ternary numeral system|t]]
| rowspan="3" |10
|80 Gbit/s<br />symmetric
| colspan=2 | USB 80Gbps
|[[File:USB 80Gbps logo.svg|50px]]
|-
| rowspan="2" | asymmetric
|40&nbsp;Gbit/s&nbsp;up<br />120&nbsp;Gbit/s down
| colspan="3" rowspan="2" {{N/A}}
|-
|120&nbsp;Gbit/s&nbsp;up<br />40&nbsp;Gbit/s down
|}


{{notelist|refs=
=== USB On-The-Go Supplement ===
{{efn|name="rs-fec"| USB4 can use optional [[Reed–Solomon]] [[Error correction code#Forward error correction|forward error correction]] (RS FEC). In this mode, 12 × 16&nbsp;B (128&nbsp;bit) symbols are assembled together with 2&nbsp;B (12&nbsp;bit + 4&nbsp;bit reserved) synchronization bits indicating the respective symbol types and 4&nbsp;B of RS FEC to allow to correct up to 1&nbsp;B of errors anywhere in the total 198&nbsp;B block.}}


{{efn|name="HDx"|USB 2.0 implementation}}
*'''[[USB On-The-Go]] Supplement 1.0''': Released in [[December]] [[2001]].
}}


* '''Low-speed (LS)''' and '''Full-speed (FS)''' modes use a single data wire pair, labeled D+ and D−, in [[half-duplex]]. Transmitted signal levels are {{nowrap|0.0–0.3 V}} for logical low, and {{nowrap|2.8–3.6 V}} for logical high level. The signal lines are not [[electrical termination|terminated]].
*'''[[USB On-The-Go]] Supplement 1.0a''': Released in [[June]] [[2003]]. This is the current revision.
* '''High-speed (HS)''' uses the same wire pair, but with different electrical conventions. Lower signal voltages of {{nowrap|−10 to 10 mV}} for low and {{nowrap|360 to 440 mV}} for logical high level, and termination of 45&nbsp;Ω to ground or 90&nbsp;Ω differential to match the data cable impedance.
* '''SuperSpeed (SS)''' adds two additional pairs of shielded twisted data wires (and new, mostly compatible expanded connectors) besides another grounding wire. These are dedicated to full-duplex SuperSpeed operation. The SuperSpeed link operates independently from the USB&nbsp;2.0 channel and takes precedence on connection. Link configuration is performed using LFPS (Low Frequency Periodic Signaling, approximately at 20&nbsp;MHz frequency), and electrical features include voltage de-emphasis at the transmitter side, and adaptive linear equalization on the receiver side to combat electrical losses in transmission lines, and thus the link introduces the concept of ''link training''.
* '''SuperSpeed+ (SS+)''' uses a new coding scheme with an increased signaling rate (Gen 2×1 mode) and/or the additional lane of USB-C (Gen 1×2 and Gen 2×2 modes).


A USB connection is always between an ''A'' end, either a ''host'' or a downstream port of a hub, and a ''B'' end, either a ''peripheral device'' or ''the'' upstream port of a hub. Historically this was made clear by the fact that hosts had only Type-A ports and peripheral devices had only Type-B, and every (valid) cable had one Type-A plug and one Type-B plug. USB-C (Type-C) is a single connector that replaces all Type-A and Type-B connectors (''legacy'' connectors), so when both sides are modern equipment with USB-C ports they negotiate which is the ''host'' (A) and which is the ''device'' (B).
=== Wireless USB ===
Released in [http://www.usb.org/developers/wusb/ May 12, 2005]. [[Wireless USB]] uses [http://wimedia.org/en/index.asp UWB] (Ultra Wide Band) as the radio technology.


== Extensions to USB ==
== Protocol layer ==
{{Main|USB (Communications)#Protocol layer}}
During USB communication, data is transmitted as [[Network packet|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.


== Transactions ==
The [[PictBridge]] standard allows for interconnecting consumer imaging devices. It typically uses USB as the underlying communication layer.
{{Main|USB (Communications)#Transaction}}


The basic transactions of USB are:
Microsoft's [[Xbox]] [[game console]] uses standard USB 1.1 signalling, but features a proprietary connector rather than the standard USB connector. Similarly [[IBM UltraPort]] uses standard USB signalling, but uses a proprietary connection format.
* OUT transaction
* IN transaction
* SETUP transaction
* Control transfer exchange


== Related standards <span class="anchor" id="HSIC"></span><span class="anchor" id="SSIC"></span>==
The USB Implementers Forum is working on a [[wireless networking]] standard based on the USB protocol. [[Wireless USB]] is intended as a cable-replacement technology, and will use [[Ultra wideband]] wireless technology for data rates of up to 480 Mbit/s. Wireless USB is well suited to wireless connection of PC centric devices, just as [[Bluetooth]] is now widely used for mobile phone centric personal networks (at much lower data rates). See http://www.usb.org/developers/wusb/ for more details.
[[File:USB Wireless certified Logo.svg|thumb|upright=0.5|The Wireless USB logo]]

=== Media Agnostic USB ===
The USB Implementers Forum introduced the Media Agnostic USB (MA-USB) v.1.0 wireless communication standard based on the USB protocol on 29 July 2015. [[Wireless USB]] is a cable-replacement technology, and uses [[ultra-wideband]] [[wireless technology]] for data rates of up to 480&nbsp;Mbit/s.<ref>{{cite web |url=https://www.usb.org/document-library/media-agnostic-usb-v10a-spec-and-adopters-agreement |title=Media Agnostic USB v1.0a Spec and Adopters Agreement |website=usb.org |access-date=21 July 2021 |archive-date=31 July 2021 |archive-url=https://web.archive.org/web/20210731194632/https://www.usb.org/document-library/media-agnostic-usb-v10a-spec-and-adopters-agreement |url-status=live }}</ref>

The USB-IF used WiGig Serial Extension v1.2 specification as its initial foundation for the MA-USB specification and is compliant with SuperSpeed USB (3.0 and 3.1) and Hi-Speed USB (USB 2.0). Devices that use MA-USB will be branded as "Powered by MA-USB", provided the product qualifies its certification program.<ref>{{cite web |url=https://www.tweaktown.com/news/36420/usb-if-releases-final-specification-of-media-agnostic-usb/index.html |title=USB-IF releases final specification of Media Agnostic USB |work=tweaktown.com |last=Shaikh |first=Roshan Ashraf |date=3 November 2020 |access-date=21 July 2021 |archive-date=15 March 2021 |archive-url=https://web.archive.org/web/20210315204103/https://www.tweaktown.com/news/36420/usb-if-releases-final-specification-of-media-agnostic-usb/index.html |url-status=live }}</ref>

=== InterChip USB ===
{{Main|InterChip USB}}
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 [[printed circuit board|board]] area compared to USB&nbsp;2.0.<ref>{{cite web |title= Interchip Connectivity: HSIC, UniPro, HSI, C2C, LLI... oh my! |url= http://info.arteris.com/blog/bid/59433/Interchip-Connectivity-HSIC-UniPro-HSI-C2C-LLI-oh-my |first=Kurt |last=Shuler |date=31 March 2011 |access-date= 24 June 2011 |website= Arteris IP |url-status=live |archive-url= https://web.archive.org/web/20110619022557/http://info.arteris.com/blog/bid/59433/Interchip-Connectivity-HSIC-UniPro-HSI-C2C-LLI-oh-my |archive-date= 19 June 2011}}</ref> It is an alternative standard to [[Serial Peripheral Interface|SPI]] and [[I2C]].

=== USB-C ===
{{Main|USB-C}}
USB-C (officially ''USB Type-C'') is a standard that defines a new connector, and several new connection features. Among them it supports ''Alternate Mode'', which allows transporting other protocols via the USB-C connector and cable. This is commonly used to support the [[DisplayPort]] or [[HDMI]] protocols, which allows connecting a display, such as a [[computer monitor]] or [[television set]], via USB-C.

All other connectors are not capable of two-lane operations (Gen 1×2 and Gen 2×2) in USB 3.2, but can be used for one-lane operations (Gen&nbsp;1×1 and Gen&nbsp;2×1).<ref name="Black Box">{{cite web |title=USB 3.2 and Beyond |url=https://www.blackbox.co.uk/gb-gb/page/29254/Resources/Technical-Resources/Black-Box-Explains/USB(Universal-Serial-Bus)/USB-Connectivity-USB-32-and-Beyond |website=Black Box |access-date=4 March 2023}}</ref>

=== DisplayLink ===
{{Main|DisplayLink}}
DisplayLink is a technology which allows multiple displays to be connected to a computer via USB. It was introduced around 2006, and before the advent of Alternate Mode over USB-C it was the only way to connect displays via USB. It is a proprietary technology, not standardized by the USB Implementers Forum and typically requires a separate [[device driver]] on the computer.

== Comparisons with other connection methods ==
=== FireWire (IEEE 1394) ===
At first, USB was considered a complement to FireWire ([[IEEE 1394]]) 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:

* USB networks use a [[star network|tiered-star]] topology, while IEEE&nbsp;1394 networks use a [[tree network|tree]] topology.
* USB&nbsp;1.0, 1.1, and 2.0 use a "speak-when-spoken-to" protocol, meaning that each peripheral communicates with the host when the host specifically requests communication. USB&nbsp;3.0 allows for device-initiated communications towards the host. A FireWire device can communicate with any other node at any time, subject to network conditions.
* A USB network relies on a single host at the top of the tree to control the network. All communications are between the host and one peripheral. In a FireWire network, any capable node can control the network.
* USB runs with a 5&nbsp;[[Volts|V]] power line, while FireWire supplies 12&nbsp;V and theoretically can supply up to 30&nbsp;V.
* Standard USB hub ports can provide from the typical 500&nbsp;mA/2.5&nbsp;W of current, only 100&nbsp;mA from non-hub ports. USB&nbsp;3.0 and USB On-The-Go supply 1.8&nbsp;A/9.0&nbsp;W (for dedicated battery charging, 1.5&nbsp;A/7.5&nbsp;W full bandwidth or 900&nbsp;mA/4.5&nbsp;W high bandwidth), while FireWire can in theory supply up to 60&nbsp;watts of power, although 10 to 20&nbsp;watts is more typical.

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 signaling rate, FireWire&nbsp;400 is faster than USB&nbsp;2.0 high-bandwidth in real-use,<ref>{{cite web|title=FireWire vs. USB 2.0|url=http://www.qimaging.com/support/pdfs/firewire_usb_technote.pdf|publisher=QImaging|access-date=20 July 2010|url-status=live|archive-url=https://web.archive.org/web/20101011050049/http://www.qimaging.com/support/pdfs/firewire_usb_technote.pdf|archive-date=11 October 2010}}</ref> especially in high-bandwidth use such as external hard drives.<ref>{{cite web |url= http://www.cwol.com/firewire/firewire-vs-usb.htm |title= FireWire vs. USB&nbsp;2.0 – Bandwidth Tests |access-date= 25 August 2007 |url-status=live |archive-url= https://web.archive.org/web/20070812045719/http://www.cwol.com/firewire/firewire-vs-usb.htm |archive-date= 12 August 2007}}</ref><ref>{{cite web |url=https://www.pricenfees.com/digit-life-archives/usb-2-0-vs-firewire |title=USB&nbsp;2.0 vs FireWire |publisher=Pricenfees |access-date=25 August 2007 |url-status=live |archive-url=https://web.archive.org/web/20161016063120/https://www.pricenfees.com/digit-life-archives/usb-2-0-vs-firewire |archive-date=16 October 2016}}</ref><ref>{{cite magazine |url=https://www.pcmag.com/article2/0,4149,847716,00.asp |title=The Great Interface-Off: FireWire Vs. USB&nbsp;2.0 |magazine=PC Magazine |access-date=25 August 2007 |last=Metz |first=Cade |date=25 February 2003 |url-status=live |archive-url=https://web.archive.org/web/20070930190355/http://www.pcmag.com/article2/0,4149,847716,00.asp |archive-date=30 September 2007 }}</ref><ref>{{cite web|url=http://www.g4tv.com/techtvvault/features/39129/USB_20_Versus_FireWire_pg3.html|title=USB&nbsp;2.0 Versus FireWire|access-date=25 August 2007|author=Heron, Robert|publisher=TechTV|url-status=live|archive-url=https://web.archive.org/web/20070929121843/http://www.g4tv.com/techtvvault/features/39129/USB_20_Versus_FireWire_pg3.html|archive-date=29 September 2007}}</ref> The newer FireWire&nbsp;800 standard is twice as fast as FireWire&nbsp;400 and faster than USB&nbsp;2.0 high-bandwidth both theoretically and practically.<ref>{{cite web | url = http://www.usb-ware.com/firewire-vs-usb.htm | title = FireWire vs. USB&nbsp;2.0 | publisher = USB Ware | access-date = 19 March 2007 | url-status=live | archive-url = https://web.archive.org/web/20070316072513/http://www.usb-ware.com/firewire-vs-usb.htm | archive-date = 16 March 2007}}</ref> 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.<ref>{{cite web |url=http://www.anandtech.com/mb/showdoc.aspx?i=2602&p=15 |title=Firewire and USB Performance |access-date=1 February 2008 |last=Key |first=Gary |date=15 November 2005 |url-status=live |archive-url=https://web.archive.org/web/20080423214619/http://www.anandtech.com/mb/showdoc.aspx?i=2602&p=15 |archive-date=23 April 2008}}</ref>

=== Ethernet ===
The ''IEEE 802.3af'', ''802.3at'', and ''802.3bt'' [[Power over Ethernet]] (PoE) standards specify more elaborate power negotiation schemes than powered USB. They operate at 48&nbsp;V&nbsp;[[Direct current|DC]] and can supply more power (up to 12.95&nbsp;W for ''802.3af'', 25.5&nbsp;W for ''802.3at'', a.k.a. ''PoE+'', 71&nbsp;W for ''802.3bt'', a.k.a. ''4PPoE'') over a cable up to 100&nbsp;meters compared to USB&nbsp;2.0, which provides 2.5&nbsp;W with a maximum cable length of 5&nbsp;meters. This has made PoE popular for [[Voice over IP]] telephones, [[security camera]]s, [[wireless access point]]s, 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&nbsp;V&nbsp;AC or 2250&nbsp;V&nbsp;DC for 60&nbsp;seconds.<ref>{{cite web | url = http://standards.ieee.org/getieee802/download/802.3-2008_section1.pdf | title = 802.3, Section 14.3.1.1 | publisher = IEEE | url-status=dead | archive-url = https://web.archive.org/web/20101206030247/http://standards.ieee.org/getieee802/download/802.3-2008_section1.pdf | archive-date = 6 December 2010}}</ref> 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.<ref>{{cite web|date=8 March 2010|title=Powerbook Explodes After Comcast Plugs in Wrong Cable|url=http://consumerist.com/2006/12/powerbook-explodes-after-comcast-plugs-in-wrong-cable.html|url-status=dead|archive-url=https://web.archive.org/web/20100625052120/http://consumerist.com/2006/12/powerbook-explodes-after-comcast-plugs-in-wrong-cable.html|archive-date=25 June 2010|access-date=22 June 2010|publisher=Consumerist}}</ref><ref>{{Cite web|date=2021|title=Technical Note. Galvanic Isolation|url=https://www.isystem.com/files/content/downloads/documents/technical-notes/iSYSTEM_TN_Galvanic_Isolation.pdf#page=4|website=iSYSTEM|format=PDF|access-date=13 February 2022|archive-date=21 December 2021|archive-url=https://web.archive.org/web/20211221080208/https://www.isystem.com/files/content/downloads/documents/technical-notes/iSYSTEM_TN_Galvanic_Isolation.pdf#page=4|url-status=live}}</ref>

=== MIDI ===
The ''USB Device Class Definition for MIDI Devices'' transmits Music Instrument Digital Interface ([[MIDI]]) music data over USB.<ref>{{cite web |url=https://www.usb.org/sites/default/files/midi10.pdf |title=Universal Serial Bus Device Class Definition for MIDI Devices |website=usb.org |date=1 November 1999 |access-date=21 July 2021 |archive-date=2 November 2021 |archive-url=https://web.archive.org/web/20211102080622/https://www.usb.org/sites/default/files/midi10.pdf |url-status=live}}</ref> The MIDI capability is extended to allow up to sixteen simultaneous ''virtual MIDI cables'', each of which can carry the usual MIDI sixteen channels and clocks.

USB is competitive for low-cost and physically adjacent 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 (electricity)|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 {{gaps|500|V}} 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&nbsp;Gbit/s) is similar to that of USB&nbsp;3.0 (up to 5&nbsp;Gbit/s) and USB&nbsp;3.1 (up to 10&nbsp;Gbit/s). 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&nbsp;3.0's 4.5&nbsp;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, a.k.a. 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&nbsp;V to power a 2.5-inch HDD/SSD; on a desktop workstation it can additionally supply 12&nbsp;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 ===
{{Main|Thunderbolt (interface)}}
Thunderbolt combines [[PCI Express]] and [[DisplayPort]] into a new serial data interface. Original Thunderbolt implementations have two channels, each with a transfer speed of 10&nbsp;Gbit/s, resulting in an aggregate unidirectional bandwidth of 20&nbsp;Gbit/s.<ref>{{cite web |url=https://thunderbolttechnology.net/tech/how-it-works |title=How Thunderbolt Technology Works: Thunderbolt Technology Community |website=ThunderboltTechnology.net |access-date=22 January 2014 |url-status=live |archive-url=https://web.archive.org/web/20140210063142/https://thunderbolttechnology.net/tech/how-it-works |archive-date=10 February 2014 }}</ref>

[[Thunderbolt 2]] uses link aggregation to combine the two 10&nbsp;Gbit/s channels into one bidirectional 20&nbsp;Gbit/s channel.<ref>{{cite web |title=What you need to know about Thunderbolt 2 |url=https://www.macworld.com/article/222636/what-you-need-to-know-about-thunderbolt-2.html#:~:text=What%20is%20Thunderbolt%202%3F,20%20Gbps%20bi%2Ddirectional%20channel. |first=Jim |last=Galbraith |date=2 January 2014 |access-date=18 June 2021 |website=Macworld |publisher=IDG Communications, Inc. |archive-date=24 June 2021 |archive-url=https://web.archive.org/web/20210624202741/https://www.macworld.com/article/222636/what-you-need-to-know-about-thunderbolt-2.html#:~:text=What%20is%20Thunderbolt%202%3F,20%20Gbps%20bi%2Ddirectional%20channel. |url-status=live }}</ref>

[[Thunderbolt 3]] and [[Thunderbolt 4]] use [[USB-C]].<ref>{{cite web|url=https://www.cnet.com/news/thunderbolt-3-and-usb-type-c-join-forces-for-one-port-to-rule-them-all/|title=One port to rule them all: Thunderbolt&nbsp;3 and USB Type-C join forces|archive-url=https://web.archive.org/web/20150602195337/http://www.cnet.com/news/thunderbolt-3-and-usb-type-c-join-forces-for-one-port-to-rule-them-all/|archive-date=2 June 2015|url-status=live|access-date=2 June 2015}}</ref><ref>{{cite web |url=https://www.engadget.com/2015/06/02/thunderbolt-3-usb-c/ |title=Thunderbolt&nbsp;3 is twice as fast and uses reversible USB-C |date=2 June 2015 |access-date=2 June 2015 |url-status=live |archive-url=https://web.archive.org/web/20150603000428/http://www.engadget.com/2015/06/02/thunderbolt-3-usb-c/ |archive-date=3 June 2015 }}</ref><ref>{{cite web |url=https://arstechnica.com/gadgets/2015/06/thunderbolt-3-embraces-usb-type-c-connector-doubles-bandwidth-to-40gbps/ |title=Thunderbolt&nbsp;3 embraces USB Type-C connector, doubles bandwidth to 40&nbsp;Gbps |author=Sebastian Anthony |date=2 June 2015|website=Ars Technica |access-date=2 June 2015 |url-status=live |archive-url=https://web.archive.org/web/20150609183247/https://arstechnica.com/gadgets/2015/06/thunderbolt-3-embraces-usb-type-c-connector-doubles-bandwidth-to-40gbps/ |archive-date=9 June 2015 }}</ref> Thunderbolt&nbsp;3 has two physical 20&nbsp;Gbit/s bi-directional channels, aggregated to appear as a single logical 40&nbsp;Gbit/s bi-directional channel. Thunderbolt 3 controllers can incorporate a USB&nbsp;3.1 Gen&nbsp;2 controller to provide compatibility with USB devices. They are also capable of providing DisplayPort Alternate Mode as well as DisplayPort over USB4 Fabric, making the function of a Thunderbolt&nbsp;3 port a superset of that of a USB&nbsp;3.1 Gen&nbsp;2 port.

DisplayPort Alternate Mode 2.0: USB4 (requiring USB-C) requires that hubs support DisplayPort 2.0 over a USB-C Alternate Mode. DisplayPort 2.0 can support 8K resolution at 60&nbsp;Hz with HDR10 color.<ref name="displayport">{{cite web |title=New DisplayPort spec enables 16K video over USB-C |url=https://www.theverge.com/2020/4/30/21242445/vesa-displayport-alt-mode-2-0-usb-4-4k-144hz-hdr-8k-16k-displays |first=Jon |last=Porter |date=30 April 2020 |access-date=18 June 2021 |website=The Verge |publisher=Vox Media, LLC |archive-date=15 April 2021 |archive-url=https://web.archive.org/web/20210415051447/https://www.theverge.com/2020/4/30/21242445/vesa-displayport-alt-mode-2-0-usb-4-4k-144hz-hdr-8k-16k-displays |url-status=live }}</ref> DisplayPort 2.0 can use up to 80&nbsp;Gbit/s, which is double the amount available to USB data, because it sends all the data in one direction (to the monitor) and can thus use all eight data wires at once.<ref name="displayport"/>

After the specification was made royalty-free and custodianship of the Thunderbolt protocol was transferred from Intel to the USB Implementers Forum, Thunderbolt 3 has been effectively implemented in the USB4 specification – with compatibility with Thunderbolt 3 optional but encouraged for USB4 products.<ref>{{cite web|title=USB4 Thunderbolt3 Compatibility Requirements Specification|url=https://www.usb.org/sites/default/files/USB4%E2%84%A2%20Thunderbolt3%E2%84%A2%20Compatibility%20Requirements%20Specification%20Rev%201.0%20-%2020210129_0.pdf|date=January 2021|access-date=1 January 2021|website=USB|publisher=USB.org|archive-date=19 October 2021|archive-url=https://web.archive.org/web/20211019074211/https://usb.org/sites/default/files/USB4%E2%84%A2%20Thunderbolt3%E2%84%A2%20Compatibility%20Requirements%20Specification%20Rev%201.0%20-%2020210129_0.pdf|url-status=live}}</ref>

== Interoperability ==
{{Main|USB-to-serial adapter}}
Various [[protocol converter]]s are available that convert USB data signals to and from other communications standards.

== Security threats ==
Due to the prevalency of the USB standard, there are many exploits using the USB standard. One of the biggest instances of this today is known as the [[USB killer]], a device that damages USB devices by sending high voltage pulses across the data lines.

In versions of [[Microsoft Windows]] before [[Windows XP]], Windows would automatically run a script (if present) on certain devices via [[AutoRun]], one of which are USB mass storage devices, which may contain malicious software.<ref>{{cite web |url=https://www.samlogic.net/articles/autorun-usb-flash-drive.htm |title=Using AutoRun with a USB Flash Drive (USB stick) |website=Positive Technologies |date=25 June 2022 |access-date=26 July 2022 |archive-date=26 April 2022 |archive-url=https://web.archive.org/web/20220426181327/https://www.samlogic.net/articles/autorun-usb-flash-drive.htm |url-status=live }}</ref>


== See also ==
== See also ==
{{Portal|Electronics}}


=== USB ===
* [[ACCESS.bus]]
{{Div col|colwidth=24em}}
* [[FireWire]] (also known as [[IEEE]] 1394, or [[I.link]])
* [[USB Flash Drive]]
* [[USB communications]]
* [[USB streaming]]
* [[USB hardware]]
* [[U3]]
* [[USB-C]]
* [[USB hub]]
* [[Serial cable]] (obsoleted by USB and [[Wi-Fi]])
* [[Extensible Host Controller Interface]] (XHCI)
* {{section link|List of interface bit rates|Peripheral}}
* [[WebUSB]]
{{Div col end}}

=== Derived and related standards ===
{{Div col|colwidth=24em}}
* [[DockPort]]
* [[LIO Target]]
* [[Media Transfer Protocol]]
* [[Mobile High-Definition Link]]
* [[Thunderbolt (interface)]]
* [[Windows Easy Transfer]]
{{Div col end}}

== References ==
{{Reflist |refs=
<ref name="spec_3.0">{{cite book | url=http://www.usb.org/developers/docs/documents_archive/usb_30_spec_070113.zip | title=Universal Serial Bus 3.0 Specification | date=6 June 2011 | via=www.usb.org | publisher=[[Hewlett-Packard Company]] [[Intel Corporation]] [[Microsoft Corporation]] [[NEC Corporation]] [[ST-Ericsson]] [[Texas Instruments]] | format=[[ZIP (file format)|ZIP]] | url-status=live | archive-url=https://web.archive.org/web/20140519092924/http://www.usb.org/developers/docs/documents_archive/usb_30_spec_070113.zip | archive-date=19 May 2014}}<br />{{cite web |title= Universal Serial Bus 3.0 Specification |url= http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf |date= 12 November 2008 |access-date= 29 December 2012 |via= www.gaw.ru |archive-date= 6 October 2012 |archive-url= https://web.archive.org/web/20121006160059/http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf |url-status= live }}</ref>
<ref name="usb.org 3.1">{{cite web |title=USB 3.1 Specification&nbsp;— Language Usage Guidelines from USB-IF |url=http://www.usb.org/developers/ssusb/USB_3_1_Language_Product_and_Packaging_Guidelines_FINAL.pdf |via=www.usb.org |url-status=live |archive-url=https://web.archive.org/web/20160312135950/http://www.usb.org/developers/ssusb/USB_3_1_Language_Product_and_Packaging_Guidelines_FINAL.pdf |archive-date=12 March 2016 }}</ref>
<ref name="xmos2015">{{Cite web
|url=http://www.epsglobal.com/downloads/XMOS/Why-do-you-need-USB-Audio-Class-2.pdf
|title=Why do you need USB Audio Class 2? |last=Strong |first=Laurence |date=2015 |publisher=XMOS |url-status=dead |archive-url=https://web.archive.org/web/20171124080752/http://www.epsglobal.com/downloads/XMOS/Why-do-you-need-USB-Audio-Class-2.pdf |archive-date=24 November 2017 |access-date=11 December 2020 |quote=In applications where streaming latency is important, UAC2 offers up to an 8x reduction over UAC1. ... Each clocking method has pros and cons and best-fit applications.}}</ref>
}}

== Further reading ==
* {{Cite book | first = Jan | last = Axelson | date = 1 September 2006 | title = USB Mass Storage: Designing and Programming Devices and Embedded Hosts | publisher = [[Lakeview Research]] | edition = 1st | isbn = 978-1-931-44804-8 | url = https://archive.org/details/isbn_9781931448048 | url-access = registration }}
* {{Cite book| first = Jan | last = Axelson | author-mask = 3 | date = 1 December 2007 | title = Serial Port Complete: COM Ports, USB Virtual COM Ports, and Ports for Embedded Systems | publisher = Lakeview Research | edition = 2nd | isbn = 978-1-931-44806-2 | url = http://janaxelson.com/spc.htm}}
* {{Cite book| first = Jan | last = Axelson | author-mask = 3 | year = 2015 | title = USB Complete: The Developer's Guide | publisher = Lakeview Research | edition = 5th | isbn = 978-1-931448-28-4 | url = http://janaxelson.com/usbc.htm}}
* {{Cite book| first = John | last = Hyde | date = February 2001 | title = USB Design by Example: A Practical Guide to Building I/O Devices | publisher = [[Intel Press]] | edition = 2nd | isbn = 978-0-970-28465-5 | url = http://www.intel.com/intelpress/usb/}}
* {{Cite journal|title=Debugging USB 2.0 for Compliance: It's Not Just a Digital World|publisher=Keysight|series=Technologies Application Note|issue=1382–3|journal=Keysight Technologies|url=http://literature.cdn.keysight.com/litweb/pdf/5988-4794EN.pdf}}


== External links ==
== External links ==
{{Commons|Universal Serial Bus}}
{{Wikibooks|Serial Programming:USB Technical Manual|USB connectors}}


=== General overview ===
{{Wikibookspar||Serial Programming:USB Technical Manual}}
* {{cite web |url = https://www.fastcompany.com/3060705/an-oral-history-of-the-usb |title = The unlikely origins of USB, the port that changed everything |author = Joel Johnson |publisher = [[Fast Company]] |date = 29 May 2019 }}
* {{cite AV media |url = https://www.youtube.com/watch?v=36CKsP9YQ1E |title = Why Does USB Keep Changing? |first=Peter |last=Leigh |date = 24 May 2020 |medium = video }}
* {{cite news |last=Parikh |first=Bijal |title=USB (Universal Serial Bus): An Overview |url=https://www.engineersgarage.com/usb-universal-serial-bus-an-overview/ |access-date=7 May 2022 |work=Engineers Garage |publisher=WTWH Media}}
* {{cite AV media |url = https://www.youtube.com/watch?v=PctX3kcTj5U |title = Explaining USB: From 1.0 to USB4 V2.0 (ExplainingComputers)|first=Christopher |last=Barnatt |date = 25 September 2022 |medium = video }}


=== Technical documents ===
* [http://www.usb.org/ Home of USB Implementers Forum, Inc.], including [http://www.usb.org/developers/docs/ the USB 2.0 specification]
* [http://www.lvr.com/usb.htm USB Central] for developers of USB devices and hosts
* {{cite web |url = https://www.usb.org/ |title = USB Implementers Forum (USB-IF) |website = USB.org }}
* {{cite web |url = https://www.usb.org/documents |title = USB Document Library (USB&nbsp;3.2, USB&nbsp;2.0, Wireless USB, USB-C, USB Power Delivery) |website = USB.org }}
* [http://www.bootdisk.com/usb.htm USB for DOS]
* {{cite web |url = http://stuff.mit.edu/afs/sipb/contrib/doc/specs/protocol/usb/UHCI11D.PDF |title = Universal Host Controller Interface (UHCI) |publisher = [[Intel]] |via=mit.edu}}
* [http://www.linux-usb.org/ Linux USB Project], containing much technical information and documentation
* {{cite web |url = http://pinoutsguide.com/Slots/usb_3_0_connector_pinout.shtml |title = USB 3.0 Standard-A, Standard-B, Powered-B connectors |website=Pinouts guide |archive-url=https://web.archive.org/web/20160514121804/http://pinoutsguide.com/Slots/usb_3_0_connector_pinout.shtml |archive-date=14 May 2016}}
* [http://www.windowsnetworking.com/articles_tutorials/usbmain.html USB Networking Introduction]
* {{cite web |url = https://www.electronicdesign.com/boards/how-create-and-program-usb-devices |title = How To Create And Program USB Devices |first=Henk |last=Muller |publisher = [[Electronic Design]] |date = July 2012 }}
* [http://usbmount.alioth.debian.org/ Linux usbmount].
* {{cite web |url = https://usb.org/sites/default/files/bwpaper2.pdf |title = An Analysis of Throughput Characteristics of Universal Serial Bus |first=John |last=Garney |date = June 1996 }}
* [http://www.beyondlogic.org/usbnutshell/usb-in-a-nutshell.pdf USB in a NutShell] - a primer for developers
* {{cite web |url=https://engineering.biu.ac.il/files/engineering/shared/PE_project_book_0.pdf |title=USB&nbsp;2.0 Protocol Engine |first1=Razi |last1=Hershenhoren |first2=Omer |last2=Reznik |date=October 2010 |access-date=30 January 2019 |archive-date=4 August 2020 |archive-url=https://web.archive.org/web/20200804030543/https://engineering.biu.ac.il/files/engineering/shared/PE_project_book_0.pdf |url-status=dead }}
* [http://developer.intel.com/technology/usb/uhci11d.htm Universal Host Controller Interface (UHCI)]
* [[IEC]] 62680 (Universal Serial Bus interfaces for data and power):
** [https://webstore.iec.ch/publication/23281 IEC 62680-1.1:2015 - Part 1-1: Common components - USB Battery Charging Specification, Revision 1.2]
** [https://webstore.iec.ch/publication/60944 IEC 62680-1-2:2018 - Part 1-2: Common components - USB Power Delivery specification]
** [https://webstore.iec.ch/publication/61599 IEC 62680-1-3:2018 - Part 1-3: Common components - USB Type-C Cable and Connector Specification]
** [https://webstore.iec.ch/publication/60748 IEC 62680-1-4:2018 - Part 1-4: Common components - USB Type-C Authentication Specification]
** [https://webstore.iec.ch/publication/23313 IEC 62680-2-1:2015 - Part 2-1: Universal Serial Bus Specification, Revision 2.0]
** [https://webstore.iec.ch/publication/23282 IEC 62680-2-2:2015 - Part 2-2: Micro-USB Cables and Connectors Specification, Revision 1.01]
** [https://webstore.iec.ch/publication/23283 IEC 62680-2-3:2015 - Part 2-3: Universal Serial Bus Cables and Connectors Class Document Revision 2.0]
** [https://webstore.iec.ch/publication/29943 IEC 62680-3-1:2017 - Part 3-1: Universal Serial Bus 3.1 Specification]


{{List of IEC standards}}
[[Category:Computer buses]]
{{Basic computer components}}
[[Category:USB]]
{{Computer bus}}
{{DC power delivery standards}}
{{USB}}
{{Solid-state drive}}


{{Authority control}}
[[bg:USB]]

[[bs:USB]]
[[Category:USB| ]]
[[ca:Bus sèrie universal]]
[[Category:American inventions]]
[[cs:USB]]
[[Category:Computer buses]]
[[da:Universal Serial Bus]]
[[Category:Computer connectors]]
[[de:Universal Serial Bus]]
[[Category:Computer-related introductions in 1996]]
[[es:USB]]
[[Category:Japanese inventions]]
[[eo:USB]]
[[Category:Physical layer protocols]]
[[fr:Universal Serial Bus]]
[[Category:Serial buses]]
[[gl:USB]]
[[ko:USB]]
[[hr:USB]]
[[id:Universal Serial Bus]]
[[it:Universal Serial Bus]]
[[he:USB]]
[[ms:USB]]
[[nl:Universal Serial Bus]]
[[ja:Universal Serial Bus]]
[[no:USB]]
[[pl:USB]]
[[pt:Universal Serial Bus]]
[[ru:USB]]
[[simple:Universal Serial Bus]]
[[sk:USB]]
[[sl:Univerzalno serijsko vodilo]]
[[fi:USB]]
[[sv:USB]]
[[th:ยูเอสบี]]
[[tr:USB]]
[[zh:USB]]

Latest revision as of 18:59, 26 December 2024

USB
Universal Serial Bus
The current connector for USB, Thunderbolt, and other protocols, USB-C (plug and receptacle shown)
Type Bus
Production history
Designer
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 FireWire (IEEE 1394)

Universal Serial Bus (USB) is an industry standard, developed by USB Implementers Forum (USB-IF), that allows data exchange and delivery of power between many types of electronics. It specifies its architecture, in particular its physical interface, and communication protocols for data transfer and power delivery to and from hosts, such as personal computers, to and from peripheral devices, e.g. displays, keyboards, and mass storage devices, and to and from intermediate hubs, which multiply the number of a host's ports.[2]

Introduced in 1996, USB was originally designed to standardize the connection of peripherals to computers, replacing various interfaces such as serial ports, parallel ports, game ports, and ADB ports.[3] Early versions of USB became commonplace on a wide range of devices, such as keyboards, mice, cameras, printers, scanners, flash drives, smartphones, game consoles, and power banks.[4] USB has since evolved into a standard to replace virtually all common ports on computers, mobile devices, peripherals, power supplies, and manifold other small electronics.

In the current standard, the USB-C connector replaces the many various connectors for power (up to 240 W), displays (e.g. DisplayPort, HDMI), and many other uses, as well as all previous USB connectors.

As of 2024, USB consists of four generations of specifications: USB 1.x, USB 2.0, USB 3.x, and USB4. USB4 enhances the data transfer and power delivery functionality with

... a connection-oriented, tunneling architecture designed to combine multiple protocols onto a single physical interface so that the total speed and performance of the USB4 Fabric can be dynamically shared.[2]

USB4 particularly supports the tunneling of the Thunderbolt 3 protocols, namely PCI Express (PCIe, load/store interface) and DisplayPort (display interface). USB4 also adds host-to-host interfaces.[2]

Each specification sub-version supports different signaling rates from 1.5 and 12 Mbit/s total in USB 1.0 to 80 Gbit/s (in each direction) in USB4.[5][6][7][2] USB also provides power to peripheral devices; the latest versions of the standard extend the power delivery limits for battery charging and devices requiring up to 240 watts (USB Power Delivery (USB-PD)).[8] Over the years, USB(-PD) has been adopted as the standard power supply and charging format for many mobile devices, such as mobile phones, reducing the need for proprietary chargers.[9]

Overview

[edit]

USB was designed to standardize the connection of peripherals to personal computers, both to exchange data and to supply electric power. It has largely replaced interfaces such as serial ports and parallel ports and has become commonplace on various devices. Peripherals connected via USB include computer keyboards and mice, video cameras, printers, portable media players, mobile (portable) digital telephones, disk drives, and network adapters.

USB connectors have been increasingly replacing other types of charging cables for portable devices.

USB connector interfaces are classified into three types: the many various legacy Type-A (upstream) and Type-B (downstream) connectors found on hosts, hubs, and peripheral devices, and the modern Type-C (USB-C) connector, which replaces the many legacy connectors as the only applicable connector for USB4.

The Type-A and Type-B connectors came in Standard, Mini, and Micro sizes. The standard format was the largest and was mainly used for desktop and larger peripheral equipment. The Mini-USB connectors (Mini-A, Mini-B, Mini-AB) were introduced for mobile devices. Still, they were quickly replaced by the thinner Micro-USB connectors (Micro-A, Micro-B, Micro-AB). The Type-C connector, also known as USB-C, is not exclusive to USB, is the only current standard for USB, is required for USB4, and is required by other standards, including modern DisplayPort and Thunderbolt. It is reversible and can support various functionalities and protocols, including USB; some are mandatory, and many are optional, depending on the type of hardware: host, peripheral device, or hub.[10][11]

USB specifications provide backward compatibility, usually resulting in decreased signaling rates, maximal power offered, and other capabilities. The USB 1.1 specification replaces USB 1.0. The USB 2.0 specification is backward-compatible with USB 1.0/1.1. The USB 3.2 specification replaces USB 3.1 (and USB 3.0) while including the USB 2.0 specification. USB4 "functionally replaces" USB 3.2 while retaining the USB 2.0 bus operating in parallel.[5][6][7][2]

The USB 3.0 specification defined a new architecture and protocol named SuperSpeed (aka SuperSpeed USB, marketed as SS), which included a new lane for a new signal coding scheme (8b/10b symbols, 5 Gbit/s; later also known as Gen 1) providing full-duplex data transfers that physically required five additional wires and pins, while preserving the USB 2.0 architecture and protocols and therefore keeping the original four pins/wires for the USB 2.0 backward-compatibility resulting in 9 wires (with 9 or 10 pins at connector interfaces; ID-pin is not wired) in total.

The USB 3.1 specification introduced an Enhanced SuperSpeed System – while preserving the SuperSpeed architecture and protocol (SuperSpeed USB) – with an additional SuperSpeedPlus architecture and protocol (aka SuperSpeedPlus USB) adding a new coding schema (128b/132b symbols, 10 Gbit/s; also known as Gen 2); for some time marketed as SuperSpeed+ (SS+).

The USB 3.2 specification[7] added a second lane to the Enhanced SuperSpeed System besides other enhancements so that the SuperSpeedPlus USB system part implements the Gen 1×2, Gen 2×1, and Gen 2×2 operation modes. However, the SuperSpeed USB part of the system still implements the one-lane Gen 1×1 operation mode. Therefore, two-lane operations, namely USB 3.2 Gen 1×2 (10 Gbit/s) and Gen 2×2 (20 Gbit/s), are only possible with Full-Featured USB-C. As of 2023, they are somewhat rarely implemented; Intel, however, started to include them in its 11th-generation SoC processor models, but Apple never provided them. On the other hand, USB 3.2 Gen 1(×1) (5 Gbit/s) and Gen 2(×1) (10 Gbit/s) have been quite common for some years.

Connector type quick reference

[edit]

Each USB connection is made using two connectors: a receptacle and a plug. Pictures show only receptacles:

Available connectors by USB standard
Standard USB 1.0
1996
USB 1.1
1998
USB 2.0
2000
USB 2.0
Revised
USB 3.0
2008
USB 3.1
2013
USB 3.2
2017
USB4
2019
USB4 2.0
2022
Max Speed Current marketing name Basic-Speed High-Speed USB 5Gbps USB 10Gbps USB 20Gbps USB 40Gbps USB 80Gbps
Original label Low-Speed & Full-Speed SuperSpeed, or SS SuperSpeed+, or SS+ SuperSpeed USB 20Gbps
Operation mode USB 3.2 Gen 1×1 USB 3.2 Gen 2×1 USB 3.2 Gen 2×2 USB4 Gen 3×2 USB4 Gen 4×2
Signaling rate 1.5 Mbit/s & 12 Mbit/s 480 Mbit/s 5 Gbit/s 10 Gbit/s 20 Gbit/s 40 Gbit/s 80 Gbit/s
Connector Standard-A [rem 1]
Standard-B [rem 1]
Mini-A [rem 2]
Mini-AB[rem 3][rem 4]
Mini-B
Micro-A[rem 5]  [rem 2][rem 6] [rem 1]
Micro-AB[rem 3][rem 7] [rem 1]
Micro-B [rem 1]
Type-C (USB-C) [rem 6]
(Enlarged to show detail)
Remarks:
  1. ^ a b c d e Limited to max speed at 10 Gbit/s, since only one-lane (×1) operation mode is possible.
  2. ^ a b Backward compatibility given.
  3. ^ a b Only as receptacle.
  4. ^ Accepts both Mini-A and Mini-B plugs.
  5. ^ Only as plug.
  6. ^ a b Backward compatibility given by USB 2.0 implementation.
  7. ^ Accepts both Micro-A and Micro-B plugs.

Objectives

[edit]

The Universal Serial Bus was developed to simplify and improve the interface between personal computers and peripheral devices, such as cell phones, computer accessories, and monitors, when compared with previously existing standard or ad hoc proprietary interfaces.[12]

From the computer user's perspective, the USB interface improves ease of use in several ways:

  • The USB interface is self-configuring, eliminating the need for the user to adjust the device's settings for speed or data format, or configure interrupts, input/output addresses, or direct memory access channels.[13]
  • USB connectors are standardized at the host, so any peripheral can use most available receptacles.
  • USB takes full advantage of the additional processing power that can be economically put into peripheral devices so that they can manage themselves. As such, USB devices often do not have user-adjustable interface settings.
  • The USB interface is hot-swappable (devices can be exchanged without shutting the host computer down).
  • Small devices can be powered directly from the USB interface, eliminating the need for additional power supply cables.
  • Because use of the USB logo 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.[12]
  • Installing a device that relies on the USB standard requires minimal operator action. When a user plugs a device into a port on a running computer, it either entirely automatically configures using existing device drivers, or the system prompts the user to locate a driver, which it then installs and configures automatically.

The USB standard also provides multiple benefits for hardware manufacturers and software developers, specifically in the relative ease of implementation:

  • 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.[12]

Limitations

[edit]

As with all standards, USB possesses multiple limitations to its design:

  • USB cables are limited in length, as the standard was intended for peripherals on the same tabletop, not between rooms or buildings. However, a USB port can be connected to a gateway that accesses distant devices.
  • USB data transfer rates are slower than those of other interconnects such as 100 Gigabit Ethernet.
  • USB has a strict tree network topology and master/slave protocol for addressing peripheral devices; slave 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, Dual-Role-Devices[14] and protocol bridge.
  • A host cannot broadcast signals to all peripherals at once; each must be addressed individually.
  • While converters exist between certain legacy interfaces and USB, they might not provide a full implementation of the legacy hardware. For example, a USB-to-parallel-port converter might work well with a printer, but not with a scanner that requires bidirectional use of the data pins.

For a product developer, using USB requires the 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 that they pay a fee to the USB Implementers Forum (USB-IF). Developers of products that use the USB specification must sign an agreement with the USB-IF. Use of the USB logos on the product requires annual fees and membership in the organization.[12]

History

[edit]
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[15]

A group of seven companies began the development of USB in 1995:[16] Compaq, DEC, IBM, Intel, Microsoft, NEC, and Nortel. The goal was to make it fundamentally easier to connect external devices to PCs by replacing the multitude of connectors at the back of PCs, addressing the usability issues of existing interfaces, and simplifying software configuration of all devices connected to USB, as well as permitting greater data transfer rates for external devices and plug and play features.[17] Ajay Bhatt and his team worked on the standard at Intel;[18][19] the first integrated circuits supporting USB were produced by Intel in 1995.[20]

USB 1.x

[edit]
The Basic-Speed USB logo

Released in January 1996, USB 1.0 specified signaling rates of 1.5 Mbit/s (Low Bandwidth or Low Speed) and 12 Mbit/s (Full Speed).[21] It did not allow for extension cables, 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".[22][23][24]

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 miniaturized type B connector appeared on many peripherals, conformity to the USB 1.x standard was hampered by treating peripherals that had miniature connectors as though they had a tethered connection (that is: no plug or receptacle at the peripheral end). There was no known miniature type A connector until USB 2.0 (revision 1.01) introduced one.

USB 2.0

[edit]
The Hi-Speed USB logo

USB 2.0 was released in April 2000, adding a higher maximum signaling rate of 480 Mbit/s (maximum theoretical data throughput 53 MByte/s[25]) named High Speed or High Bandwidth, in addition to the USB 1.x Full Speed signaling rate of 12 Mbit/s (maximum theoretical data throughput 1.2 MByte/s).[26]

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

  • Mini-A and Mini-B Connector
  • Micro-USB Cables and Connectors Specification 1.01
  • InterChip USB Supplement
  • On-The-Go Supplement 1.3 USB On-The-Go makes it possible for two USB devices to communicate with each other without requiring a separate USB host
  • Battery Charging Specification 1.1 Added support for dedicated chargers, host chargers behavior for devices with dead batteries
  • Battery Charging Specification 1.2:[28] with increased current of 1.5 A on charging ports for unconfigured devices, allowing high-speed communication while having a current up to 1.5 A
  • Link Power Management Addendum ECN, which adds a sleep power state

USB 3.x

[edit]
Deprecated 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 new architecture and protocol named SuperSpeed, 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 architecture provides for an operation mode at a rate of 5.0 Gbit/s, in addition to the three existing operation modes. Its efficiency is dependent on a number of factors including physical symbol encoding and link-level overhead. At a 5 Gbit/s signaling rate with 8b/10b encoding, each byte needs 10 bits to transmit, so the raw throughput is 500 MB/s. When flow control, packet framing and protocol overhead are considered, it is realistic for about two thirds of the raw throughput, or 330 MB/s to transmit to an application.[30]: 4–19  SuperSpeed's architecture is full-duplex; all earlier implementations, USB 1.0-2.0, are all half-duplex, arbitrated by the host.[31]

Low-power and high-power devices remain operational with this standard, but devices implementing SuperSpeed can provide increased current of between 150 mA and 900 mA, by discrete steps of 150 mA.[30]: 9–9 

USB 3.0 also introduced the USB Attached SCSI protocol (UASP), which provides generally faster transfer speeds than the BOT (Bulk-Only-Transfer) protocol.

USB 3.1, released in July 2013 has two variants. The first one preserves USB 3.0's SuperSpeed architecture and protocol and its operation mode is newly named USB 3.1 Gen 1,[32][33] and the second version introduces a distinctively new SuperSpeedPlus architecture and protocol with a second operation mode named as USB 3.1 Gen 2 (marketed as SuperSpeed+ USB). SuperSpeed+ doubles the maximum signaling rate to 10 Gbit/s (later marketed as SuperSpeed USB 10 Gbps by the USB 3.2 specification), while reducing line encoding overhead to just 3% by changing the encoding scheme to 128b/132b.[32][34]

USB 3.2, released in September 2017,[35] preserves existing USB 3.1 SuperSpeed and SuperSpeedPlus architectures and protocols and their respective operation modes, but introduces two additional SuperSpeedPlus operation modes (USB 3.2 Gen 1×2 and USB 3.2 Gen 2×2) with the new USB-C Fabric with signaling rates of 10 and 20 Gbit/s (raw data rates of 1212 and 2424 MB/s). The increase in bandwidth is a result of two-lane operation over existing wires that were originally intended for flip-flop capabilities of the USB-C connector.[36]

Naming scheme

[edit]

Starting with the USB 3.2 specification, USB-IF introduced a new naming scheme.[37] To help companies with the branding of the different operation modes, USB-IF recommended branding the 5, 10, and 20 Gbit/s capabilities as SuperSpeed USB 5Gbps, SuperSpeed USB 10 Gbps, and SuperSpeed USB 20 Gbps, respectively.[38]

In 2023, they were replaced again,[39] removing "SuperSpeed", with USB 5Gbps, USB 10Gbps, and USB 20Gbps. With new Packaging and Port logos.[40]

USB4

[edit]
Deprecated Certified USB4 logo

The USB4 specification was released on 29 August 2019 by the USB Implementers Forum.[41]

The USB4 2.0 specification was released on 1 September 2022 by the USB Implementers Forum.[42]

USB4 is based on the Thunderbolt 3 protocol.[43] It supports 40 Gbit/s throughput, is compatible with Thunderbolt 3, and backward compatible with USB 3.2 and USB 2.0.[44][45] The architecture defines a method to share a single high-speed link with multiple end device types dynamically that best serves the transfer of data by type and application.

During CES 2020, USB-IF and Intel stated their intention to allow USB4 products that support all the optional functionality as Thunderbolt 4 products.

USB4 2.0 with 80 Gbit/s speeds was to be revealed in November 2022.[46][47] Further technical details were to be released at two USB developer days scheduled for November 2022.[48][needs update]

The USB4 specification states that the following technologies shall be supported by USB4:[41]

Connection Mandatory for Remarks
host hub device
USB 2.0 (480 Mbit/s) Yes Yes Yes Contrary to other functions – which use the multiplexing of high-speed links – USB 2.0 over USB-C utilizes its own differential pair of wires.
Tunneled USB 3.2 Gen 2×1 (10 Gbit/s) Yes Yes No
Tunneled USB 3.2 Gen 2×2 (20 Gbit/s) No No No
Tunneled USB 3 Gen T (5–80 Gbit/s) No No No A type of USB 3 Tunneling architecture where the Enhanced SuperSpeed System is extended to allow operation at the maximum bandwidth available on the USB4 Link.
USB4 Gen 2 (10 or 20 Gbit/s) Yes Yes Yes Either one or two lanes
USB4 Gen 3 (20 or 40 Gbit/s) No Yes No
Tunneled DisplayPort 1.4a Yes Yes No The specification requires that hosts and hubs support the DisplayPort Alternate Mode.
Tunneled PCI Express 3.0 No Yes No The PCI Express function of USB4 replicates the functionality of previous versions of the Thunderbolt specification.
Host-to-Host communications Yes Yes A LAN-like connection between two peers.
Thunderbolt 3 Alternate Mode No Yes No Thunderbolt 3 uses USB-C cables; the USB4 specification allows hosts and devices and requires hubs to support interoperability with the standard using the Thunderbolt 3 Alternate Mode (namely DisplayPort and PCIe).
Other Alternate Modes No No No USB4 products may optionally offer interoperability with the HDMI, MHL, and VirtualLink Alternate Modes.

September 2022 naming scheme

[edit]
An overview of USB naming scheme that was put in place in September 2022
(A mix of USB specifications and their marketing names are being displayed
because specifications are sometimes wrongly used as marketing names.)[disputed (for: USB4 20 Gbit/s does not exist; USB4 2×2 is not interchangeable with USB 3.2 2×2 as
indicated by the logo; logos for USB 3.x and USB4 are different.)  – discuss
]

Because of the previous confusing naming schemes, USB-IF decided to change it once again. As of 2 September 2022, marketing names follow the syntax "USB xGbps", where x is the speed of transfer in Gbit/s.[49] Overview of the updated names and logos can be seen in the adjacent table.

The operation modes USB 3.2 Gen 2×2 and USB4 Gen 2×2 – or: USB 3.2 Gen 2×1 and USB4 Gen 2×1 – are not interchangeable or compatible; all participating controllers must operate with the same mode.

Version history

[edit]

Release versions

[edit]
Name Release date Maximum signaling rate Note
USB 0.7 November 1994 ? Pre-release.
USB 0.8 December 1994 ?
USB 0.9 April 1995 12 Mbit/s: Full Speed (FS)
USB 0.99 August 1995 ?
USB 1.0-RC November 1995 ? Release Candidate.
USB 1.0 January 1996 1.5 Mbit/s: Low Speed (LS)
12 Mbit/s: Full Speed (FS)
Renamed to Basic-Speed.
USB 1.1 September 1998
USB 2.0 April 2000 480 Mbit/s: High Speed (HS)
USB 3.0 November 2008 5 Gbit/s: SuperSpeed (SS) Renamed to USB 3.1 Gen 1,[32] and later to USB 3.2 Gen 1×1.
USB 3.1 July 2013 10 Gbit/s: SuperSpeed+ (SS+) Renamed to USB 3.1 Gen 2,[32] and later to USB 3.2 Gen 2×1.
USB 3.2 August 2017 20 Gbit/s: SuperSpeed+ two-lane Includes new USB 3.2 Gen 1×2 and Gen 2×2 two-lane modes.[50] Requires Full-Featured USB-C.
USB4 August 2019 40 Gbit/s: two-lane Includes new USB4 Gen 2×2 (64b/66b encoding) and Gen 3×2 (128b/132b encoding) modes and introduces USB4 routing for tunneling of USB 3.2, DisplayPort 1.4a and PCI Express traffic and host-to-host transfers, based on the Thunderbolt 3 protocol; requires USB4 Fabric.
USB4 2.0 September 2022 120 ⇄ 40 Gbit/s: asymmetric Includes new USB4 Gen 4×2 (PAM-3 encoding) mode to get 80 and 120 Gbit/s over Type-C connector.[51] Requires USB4 Fabric.
[edit]
Release name Release date Max. power Note
USB Battery Charging Rev. 1.0 2007-03-08 7.5 W (5 V, 1.5 A)
USB Battery Charging Rev. 1.1 2009-04-15 7.5 W (5 V, 1.5 A) Page 28, Table 5–2, but with limitation on paragraph 3.5. In ordinary USB 2.0's standard-A port, 1.5 A only.[52]
USB Battery Charging Rev. 1.2 2010-12-07 7.5 W (5 V, 1.5 A) [53]
USB Power Delivery Rev. 1.0 (V. 1.0) 2012-07-05 100 W (20 V, 5 A) Using FSK protocol over bus power (VBUS)
USB Power Delivery Rev. 1.0 (V. 1.3) 2014-03-11 100 W (20 V, 5 A)
USB Type-C Rev. 1.0 2014-08-11 15 W (5 V, 3 A) New connector and cable specification
USB Power Delivery Rev. 2.0 (V. 1.0) 2014-08-11 100 W (20 V, 5 A) Using BMC protocol over communication channel (CC) on USB-C cables.
USB Type-C Rev. 1.1 2015-04-03 15 W (5 V, 3 A)
USB Power Delivery Rev. 2.0 (V. 1.1) 2015-05-07 100 W (20 V, 5 A)
USB Type-C Rev. 1.2 2016-03-25 15 W (5 V, 3 A)
USB Power Delivery Rev. 2.0 (V. 1.2) 2016-03-25 100 W (20 V, 5 A)
USB Power Delivery Rev. 2.0 (V. 1.3) 2017-01-12 100 W (20 V, 5 A)
USB Power Delivery Rev. 3.0 (V. 1.1) 2017-01-12 100 W (20 V, 5 A)
USB Type-C Rev. 1.3 2017-07-14 15 W (5 V, 3 A)
USB Power Delivery Rev. 3.0 (V. 1.2) 2018-06-21 100 W (20 V, 5 A)
USB Type-C Rev. 1.4 2019-03-29 15 W (5 V, 3 A)
USB Type-C Rev. 2.0 2019-08-29 15 W (5 V, 3 A) Enabling USB4 over USB Type-C connectors and cables.
USB Power Delivery Rev. 3.0 (V. 2.0) 2019-08-29 100 W (20 V, 5 A) [54]
USB Power Delivery Rev. 3.1 (V. 1.0) 2021-05-24 240 W (48 V, 5 A)
USB Type-C Rev. 2.1 2021-05-25 15 W (5 V, 3 A) [55]
USB Power Delivery Rev. 3.1 (V. 1.1) 2021-07-06 240 W (48 V, 5 A) [56]
USB Power Delivery Rev. 3.1 (V. 1.2) 2021-10-26 240 W (48 V, 5 A) Including errata through October 2021[56]

This version incorporates the following ECNs:

  • Clarify use of Retries
  • Battery Capabilities
  • FRS timing problem
  • PPS power rule clarifications
  • Peak current support for EPR AVS APDO

System design

[edit]

A USB system consists of a host with one or more downstream facing ports (DFP),[57] 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.[58][30]: 8–29  USB devices are linked in series through hubs. The hub built into the host controller is called 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 a compound device, in which the host assigns each logical device a distinct 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 connects by a logical pipe to a host controller. Data in each pipe flows in one direction, though 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 connects the host controller to a logical entity within a device, called an endpoint. Because pipes correspond to endpoints, the terms are sometimes used interchangeably. Each USB device can have up to 32 endpoints (16 in and 16 out), though it is rare to have so many. Endpoints are defined and numbered by the device during initialization (the period after physical connection called "enumeration") and so are relatively permanent, whereas pipes 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 for status responses from the device, 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,[59] interrupt, or bulk transfer:
    Isochronous transfers
    At some guaranteed data rate (for fixed-bandwidth streaming data) 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 receptacles (left) and two USB 2.0 Standard-A receptacles (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 signaling 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 signaling rates regardless of USB 2.0 or earlier devices connected to that host. Operating signaling rates for earlier devices are set in the legacy manner.

Device classes

[edit]

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:[60]

Class
(hexadecimal)
Usage Description Examples, or exception
00 Device Unspecified[61] Device class is unspecified, interface descriptors are used to determine needed drivers
01 Interface Audio Speaker, microphone, sound card, MIDI
02 Both Communications and CDC control UART and RS-232 serial adapter, modem, Wi-Fi adapter, Ethernet adapter. Used together with class 0Ah (CDC-Data) below
03 Interface Human interface device (HID) Keyboard, mouse, joystick
05 Interface Physical interface device (PID) Force feedback joystick
06 Interface Media (PTP/MTP) Scanner, Camera
07 Interface Printer Laser printer, inkjet printer, CNC machine
08 Interface USB mass storage, USB Attached SCSI USB flash drive, memory card reader, digital audio player, digital camera, external drive
09 Device USB hub High speed USB hub
0A Interface CDC-Data Used together with class 02h (Communications and CDC Control) above
0B Interface Smart card USB smart card reader
0D Interface Content security Fingerprint reader
0E Interface Video Webcam
0F Interface Personal healthcare device class (PHDC) Pulse monitor (watch)
10 Interface Audio/Video (AV) Webcam, TV
11 Device Billboard Describes USB-C alternate modes supported by device
DC Both Diagnostic device USB compliance testing device
E0 Interface Wireless Controller Bluetooth adapter
EF Both Miscellaneous ActiveSync device
FE Interface Application-specific IrDA Bridge, RNDIS, Test & Measurement Class (USBTMC),[62] USB DFU (Device Firmware Upgrade)[63]
FFh Both Vendor-specific Indicates that a device needs vendor-specific drivers

USB mass storage / USB drive

[edit]
A flash drive, a typical USB mass-storage device
An M.2 (2242) solid-state-drive (SSD) connected into USB 3.0 adapter and connected to computer

The 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 and SD card readers. 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 early 2005 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.

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 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.[64][65]

Media Transfer Protocol

[edit]

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

[edit]

A USB mouse or keyboard can usually be used with older computers that have PS/2 ports with the aid of a small USB-to-PS/2 adapter. For mice and keyboards with dual-protocol support, a passive adapter that contains no logic circuitry may be used: the USB hardware in the keyboard or mouse is designed to detect whether it is connected to a USB or PS/2 port, and communicate using the appropriate protocol.[citation needed] Active converters that connect USB keyboards and mice (usually one of each) to PS/2 ports also exist.[66]

Device Firmware Upgrade mechanism

[edit]

Device Firmware Upgrade (DFU) is a generic 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. Doing so allows use of DFU-compatible host tools to update the device.[63][67][68]

DFU is sometimes used as a flash memory programming protocol in microcontrollers with built-in USB bootloader functionality. [69]

Audio streaming

[edit]

The USB Device Working Group has laid out specifications for audio streaming, and specific standards have been developed and implemented for audio class uses, such as microphones, speakers, headsets, telephones, musical instruments, etc. The working group has published three versions of audio device specifications:[70][71] USB Audio 1.0, 2.0, and 3.0, referred to as "UAC"[72] or "ADC".[73]

UAC 3.0 primarily introduces improvements for portable devices, such as reduced power usage by bursting the data and staying in low power mode more often, and power domains for different components of the device, allowing them to be shut down when not in use.[74]

UAC 2.0 introduced support for High Speed USB (in addition to Full Speed), allowing greater bandwidth for multi-channel interfaces, higher sample rates,[75] lower inherent latency,[76][72] and 8× improvement in timing resolution in synchronous and adaptive modes.[72] UAC2 also introduced the concept of clock domains, which provides information to the host about which input and output terminals derive their clocks from the same source, as well as improved support for audio encodings like DSD, audio effects, channel clustering, user controls, and device descriptions.[72][77]

UAC 1.0 devices are still common, however, due to their cross-platform driverless compatibility,[75] and also partly due to Microsoft's failure to implement UAC 2.0 for over a decade after its publication, having finally added support to Windows 10 through the Creators Update on 20 March 2017.[78][79][77] UAC 2.0 is also supported by macOS, iOS, and Linux,[72] however Android only implements a subset of the UAC 1.0 specification.[80]

USB provides three isochronous (fixed-bandwidth) synchronization types,[81] all of which are used by audio devices:[82]

  • Asynchronous — The ADC or DAC are not synced to the host computer's clock at all, operating off a free-running clock local to the device.
  • Synchronous — The device's clock is synced to the USB start-of-frame (SOF) or Bus Interval signals. For instance, this can require syncing an 11.2896 MHz clock to a 1 kHz SOF signal, a large frequency multiplication.[83][84]
  • Adaptive — The device's clock is synced to the amount of data sent per frame by the host[85]

While the USB spec originally described asynchronous mode being used in "low cost speakers" and adaptive mode in "high-end digital speakers",[86] the opposite perception exists in the hi-fi world, where asynchronous mode is advertised as a feature, and adaptive/synchronous modes have a bad reputation.[87][88][80] In reality, all types can be high-quality or low-quality, depending on the quality of their engineering and the application.[84][72][89] Asynchronous has the benefit of being untied from the computer's clock, but the disadvantage of requiring sample rate conversion when combining multiple sources.

Connectors

[edit]

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.[30]: 2-5–2-6  The official USB specification documents also periodically define the term male to represent the plug, and female to represent the receptacle.[90]

USB Type-A plug
The legacy USB Type-A plug. This is one of many legacy types of USB connector.

The design is intended to make it 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.[30] The USB-C plug however 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 some 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

[edit]
A variety of USB cables for sale in Hong Kong

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

USB 2.0 provides for a maximum cable length of 5 meters (16 ft 5 in) for devices running at high speed (480 Mbit/s).[93]

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 ft 10 in).[94]

USB bridge cables

[edit]

USB bridge cables, or data transfer cables can be found within the market, offering direct PC to PC connections. A bridge cable is a special cable with a chip and active electronics in the middle of the cable. The chip in the middle of the cable acts as a peripheral to both computers and allows for peer-to-peer communication between the computers. The USB bridge cables are used to transfer files between two computers via their USB ports.

Popularized by Microsoft as Windows Easy Transfer, the Microsoft utility used a special USB bridge cable to transfer personal files and settings from a computer running an earlier version of Windows to a computer running a newer version. In the context of the use of Windows Easy Transfer software, the bridge cable can sometimes be referenced as Easy Transfer cable.

Many USB bridge / data transfer cables are still USB 2.0, but there are also a number of USB 3.0 transfer cables. Despite USB 3.0 being 10 times faster than USB 2.0, USB 3.0 transfer cables are only 2 to 3 times faster given their design.[clarification needed]

The USB 3.0 specification introduced an A-to-A cross-over cable without power for connecting two PCs. These are not meant for data transfer but are aimed at diagnostic uses.

Dual-role USB connections

[edit]

USB bridge cables have become less important with USB dual-role-device capabilities introduced with the USB 3.1 specification. Under the most recent specifications, USB supports most scenarios connecting systems directly with a Type-C cable. For the capability to work, however, connected systems must support role-switching. Dual-role capabilities requires there be two controllers within the system, as well as a role controller. While this can be expected in a mobile platform such as a tablet or a phone, desktop PCs and laptops often will not support dual roles.[95]

Power

[edit]

Upstream USB connectors supply power at a nominal 5 V DC via the V_BUS pin to downstream USB devices.

Low-power and high-power devices

[edit]

This section describes the power distribution model of USB that existed before Power-Delivery (USB-PD). On devices that do not use PD, USB provides up to 7.5 W through Type-A and Type-B connectors, and up to 15 W through USB-C. All pre-PD USB power is provided at 5 V.

For a host providing power to devices, USB has a concept of the unit load. Any device may draw power of one unit, and devices may request more power in these discrete steps. It is not required that the host provide requested power, and a device may not draw more power than negotiated.

Devices that draw no more than one unit are said to be low-power devices. All devices must act as low-power devices when starting out as unconfigured. For USB devices up to USB 2.0 a unit load is 100 mA (or 500 mW), while USB 3.0 defines a unit load as 150 mA (750 mW). Full-featured USB-C can support low-power devices with a unit load of 250 mA (or 1250 mW).

Devices that draw more than one unit are high-power devices (such as typical 2.5-inch hard disk drives). USB up to 2.0 allows a host or hub to provide up to 2.5 W to each device, in five discrete steps of 100 mA, and SuperSpeed devices (USB 3.0 and up) allows a host or a hub to provide up to 4.5 W in six steps of 150 mA. USB-C supports high-power devices with up to 7.5 W, in six steps of 250 mA. Full-featured USB-C can support up to 15 W.

USB power standards
Specification Current Voltage Power (max.)
Low-power device
100 mA
5 V
[a]
0.50 W
Low-power SuperSpeed (USB 3.0) device
150 mA
5 V
[a]
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
USB 3.2 Gen 2×1 device
1.5 A
[d]
5 V
7.5 W
Battery Charging (BC) 1.1
1.5 A
5 V
7.5 W
Battery Charging (BC) 1.2
1.5 A
5 V
7.5 W
USB-C (single-lane)
1.5 A
[d]
5 V
7.5 W
USB-C (multi-lane)
3 A
5 V
15 W
Power Delivery 1.0/2.0/3.0 Type-C
5 A
[e]
20 V
100 W
Power Delivery 3.1 Type-C
5 A
[e]
48 V
[f]
240 W
  1. ^ a b 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. ^ a b Up to six unit loads; with multi-lane devices, one unit load is 250 mA.
  5. ^ a b >3 A (>60 W) operation requires an electronically marked cable rated at 5 A.
  6. ^ >20 V (>100 W) operation requires an electronically marked Extended Power Range (EPR) cable.

To recognize Battery Charging mode, a dedicated charging port places a resistance not exceeding 200 Ω across the D+ and D− terminals. Shorted or near-shorted data lanes with less than 200 Ω of resistance across the D+ and D− terminals signify a dedicated charging port (DCP) with indefinite charging rates.[96][97]

In addition to standard USB, there is a proprietary high-powered system known as PoweredUSB, developed in the 1990s, and mainly used in point-of-sale terminals such as cash registers.

Signaling

[edit]

USB signals are transmitted using differential signaling on twisted-pair data wires with 90 Ω ± 15% characteristic impedance.[98] USB 2.0 and earlier specifications define a single pair in half-duplex (HDx). USB 3.0 and later specifications define one dedicated pair for USB 2.0 compatibility and two or four pairs for data transfer: two pairs in full-duplex (FDx) for single lane variants require at least SuperSpeed (SS) connectors; four pairs in full-duplex for two lane (×2) variants require USB-C connectors. USB4 Gen 4 requires the use of all four pairs but allow for asymmetrical pairs configuration.[99] In this case one lane is used for the upstream data and the other three for the downstream data or vice-versa. USB4 Gen 4 use pulse amplitude modulation on 3 levels, providing a trit of information every baud transmitted, the transmission frequency of 12.8 GHz translate to a transmission rate of 25.6 GBd[100] and the 11-bit–to–7-trit translation provides a theoretical maximum transmission speed just over 40.2 Gbit/s.[101]

Operation mode name Introduced in Lanes Encoding # data wires Nominal signaling rate Original label USB-IF current[102]
current old marketing name logo
Low-Speed Does not appear USB 1.0 1 HDx NRZI 2 1.5 Mbit/s
half-duplex
Low-Speed USB (LS) Basic-Speed USB
Full-Speed 12 Mbit/s
half-duplex
Full-Speed USB (FS)
High-Speed USB 2.0 480 Mbit/s
half-duplex
Hi-Speed USB (HS)
USB 3.2 Gen 1×1 USB 3.0,
USB 3.1 Gen 1
USB 3.0 1 FDx (+ 1 HDx)[a] 8b/10b 6 5 Gbit/s
symmetric
SuperSpeed USB (SS) USB 5Gbps
USB 3.2 Gen 2×1 USB 3.1 Gen 2 USB 3.1 128b/132b 10 Gbit/s
symmetric
SuperSpeed+ (SS+) USB 10Gbps
USB 3.2 Gen 1×2 Does not appear USB 3.2 2 FDx (+ 1 HDx)[a] 8b/10b 10 10 Gbit/s
symmetric
USB 3.2 Gen 2×2 128b/132b 20 Gbit/s
symmetric
SuperSpeed USB 20Gbps USB 20Gbps
USB4 Gen 2×1 USB4 1 FDx (+ 1 HDx)[a] 64b/66b[b] 6 (used of 10) 10 Gbit/s
symmetric
USB 10Gbps
USB4 Gen 2×2 2 FDx (+ 1 HDx)[a] 10 20 Gbit/s
symmetric
USB 20Gbps
USB4 Gen 3×1 1 FDx (+ 1 HDx)[a] 128b/132b[b] 6 (used of 10) 20 Gbit/s
symmetric
USB4 Gen 3×2 2 FDx (+ 1 HDx)[a] 10 40 Gbit/s
symmetric
USB 40Gbps
USB4 Gen 4×2 USB4 2.0 2 FDx (+ 1 HDx)[a] PAM-3 11b/7t 10 80 Gbit/s
symmetric
USB 80Gbps
asymmetric 40 Gbit/s up
120 Gbit/s down
120 Gbit/s up
40 Gbit/s down
  1. ^ a b c d e f g USB 2.0 implementation
  2. ^ a b USB4 can use optional Reed–Solomon forward error correction (RS FEC). In this mode, 12 × 16 B (128 bit) symbols are assembled together with 2 B (12 bit + 4 bit reserved) synchronization bits indicating the respective symbol types and 4 B of RS FEC to allow to correct up to 1 B of errors anywhere in the total 198 B block.
  • Low-speed (LS) and Full-speed (FS) modes use a single data wire pair, labeled D+ and D−, in half-duplex. Transmitted signal levels are 0.0–0.3 V for logical low, and 2.8–3.6 V for logical high level. The signal lines are not terminated.
  • High-speed (HS) uses the same wire pair, but with different electrical conventions. Lower signal voltages of −10 to 10 mV for low and 360 to 440 mV for logical high level, and termination of 45 Ω to ground or 90 Ω differential to match the data cable impedance.
  • SuperSpeed (SS) adds two additional pairs of shielded twisted data wires (and new, mostly compatible expanded connectors) besides another grounding wire. These are dedicated to full-duplex SuperSpeed operation. The SuperSpeed link operates independently from the USB 2.0 channel and takes precedence on connection. Link configuration is performed using LFPS (Low Frequency Periodic Signaling, approximately at 20 MHz frequency), and electrical features include voltage de-emphasis at the transmitter side, and adaptive linear equalization on the receiver side to combat electrical losses in transmission lines, and thus the link introduces the concept of link training.
  • SuperSpeed+ (SS+) uses a new coding scheme with an increased signaling rate (Gen 2×1 mode) and/or the additional lane of USB-C (Gen 1×2 and Gen 2×2 modes).

A USB connection is always between an A end, either a host or a downstream port of a hub, and a B end, either a peripheral device or the upstream port of a hub. Historically this was made clear by the fact that hosts had only Type-A ports and peripheral devices had only Type-B, and every (valid) cable had one Type-A plug and one Type-B plug. USB-C (Type-C) is a single connector that replaces all Type-A and Type-B connectors (legacy connectors), so when both sides are modern equipment with USB-C ports they negotiate which is the host (A) and which is the device (B).

Protocol layer

[edit]

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.

Transactions

[edit]

The basic transactions of USB are:

  • OUT transaction
  • IN transaction
  • SETUP transaction
  • Control transfer exchange
[edit]
The Wireless USB logo

Media Agnostic USB

[edit]

The USB Implementers Forum introduced the Media Agnostic USB (MA-USB) v.1.0 wireless communication standard based on the USB protocol on 29 July 2015. Wireless USB is a cable-replacement technology, and uses ultra-wideband wireless technology for data rates of up to 480 Mbit/s.[103]

The USB-IF used WiGig Serial Extension v1.2 specification as its initial foundation for the MA-USB specification and is compliant with SuperSpeed USB (3.0 and 3.1) and Hi-Speed USB (USB 2.0). Devices that use MA-USB will be branded as "Powered by MA-USB", provided the product qualifies its certification program.[104]

InterChip USB

[edit]

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.[105] It is an alternative standard to SPI and I2C.

USB-C

[edit]

USB-C (officially USB Type-C) is a standard that defines a new connector, and several new connection features. Among them it supports Alternate Mode, which allows transporting other protocols via the USB-C connector and cable. This is commonly used to support the DisplayPort or HDMI protocols, which allows connecting a display, such as a computer monitor or television set, via USB-C.

All other connectors are not capable of two-lane operations (Gen 1×2 and Gen 2×2) in USB 3.2, but can be used for one-lane operations (Gen 1×1 and Gen 2×1).[106]

[edit]

DisplayLink is a technology which allows multiple displays to be connected to a computer via USB. It was introduced around 2006, and before the advent of Alternate Mode over USB-C it was the only way to connect displays via USB. It is a proprietary technology, not standardized by the USB Implementers Forum and typically requires a separate device driver on the computer.

Comparisons with other connection methods

[edit]

FireWire (IEEE 1394)

[edit]

At first, USB was considered a complement to FireWire (IEEE 1394) 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:

  • USB networks use a tiered-star topology, while IEEE 1394 networks use a tree topology.
  • USB 1.0, 1.1, and 2.0 use a "speak-when-spoken-to" protocol, meaning that each peripheral communicates with the host when the host specifically requests communication. USB 3.0 allows for device-initiated communications towards the host. A FireWire device can communicate with any other node at any time, subject to network conditions.
  • A USB network relies on a single host at the top of the tree to control the network. All communications are between the host and one peripheral. In a FireWire network, any capable node can control the network.
  • USB runs with a 5 V power line, while FireWire supplies 12 V and theoretically can supply up to 30 V.
  • Standard USB hub ports can provide from the typical 500 mA/2.5 W of current, only 100 mA from non-hub ports. USB 3.0 and USB On-The-Go supply 1.8 A/9.0 W (for dedicated battery charging, 1.5 A/7.5 W full bandwidth or 900 mA/4.5 W high bandwidth), while FireWire can in theory supply up to 60 watts of power, although 10 to 20 watts is more typical.

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 signaling rate, FireWire 400 is faster than USB 2.0 high-bandwidth in real-use,[107] especially in high-bandwidth use such as external hard drives.[108][109][110][111] The newer FireWire 800 standard is twice as fast as FireWire 400 and faster than USB 2.0 high-bandwidth both theoretically and practically.[112] 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.[113]

Ethernet

[edit]

The IEEE 802.3af, 802.3at, and 802.3bt Power over Ethernet (PoE) standards specify more elaborate power negotiation schemes than powered USB. They operate at 48 V DC and can supply more power (up to 12.95 W for 802.3af, 25.5 W for 802.3at, a.k.a. PoE+, 71 W for 802.3bt, a.k.a. 4PPoE) 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 Voice over IP 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.[114] 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.[115][116]

MIDI

[edit]

The USB Device Class Definition for MIDI Devices transmits Music Instrument Digital Interface (MIDI) music data over USB.[117] The MIDI capability is extended to allow up to sixteen simultaneous virtual MIDI cables, each of which can carry the usual MIDI sixteen channels and clocks.

USB is competitive for low-cost and physically adjacent 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

[edit]

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) and USB 3.1 (up to 10 Gbit/s). 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, a.k.a. 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

[edit]

Thunderbolt combines PCI Express and 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.[118]

Thunderbolt 2 uses link aggregation to combine the two 10 Gbit/s channels into one bidirectional 20 Gbit/s channel.[119]

Thunderbolt 3 and Thunderbolt 4 use USB-C.[120][121][122] Thunderbolt 3 has two physical 20 Gbit/s bi-directional channels, aggregated to appear as a single logical 40 Gbit/s bi-directional channel. Thunderbolt 3 controllers can incorporate a USB 3.1 Gen 2 controller to provide compatibility with USB devices. They are also capable of providing DisplayPort Alternate Mode as well as DisplayPort over USB4 Fabric, making the function of a Thunderbolt 3 port a superset of that of a USB 3.1 Gen 2 port.

DisplayPort Alternate Mode 2.0: USB4 (requiring USB-C) requires that hubs support DisplayPort 2.0 over a USB-C Alternate Mode. DisplayPort 2.0 can support 8K resolution at 60 Hz with HDR10 color.[123] DisplayPort 2.0 can use up to 80 Gbit/s, which is double the amount available to USB data, because it sends all the data in one direction (to the monitor) and can thus use all eight data wires at once.[123]

After the specification was made royalty-free and custodianship of the Thunderbolt protocol was transferred from Intel to the USB Implementers Forum, Thunderbolt 3 has been effectively implemented in the USB4 specification – with compatibility with Thunderbolt 3 optional but encouraged for USB4 products.[124]

Interoperability

[edit]

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

Security threats

[edit]

Due to the prevalency of the USB standard, there are many exploits using the USB standard. One of the biggest instances of this today is known as the USB killer, a device that damages USB devices by sending high voltage pulses across the data lines.

In versions of Microsoft Windows before Windows XP, Windows would automatically run a script (if present) on certain devices via AutoRun, one of which are USB mass storage devices, which may contain malicious software.[125]

See also

[edit]

USB

[edit]
[edit]

References

[edit]
  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.
  2. ^ a b c d e "USB4 Specification v2.0" (ZIP) (Version 2.0 ed.). USB. 30 June 2023. Retrieved 23 October 2023.
  3. ^ "About USB-IF". USB Implementers Forum. Retrieved 27 April 2023.
  4. ^ "USB deserves more support". Business. Boston Globe Online. Simson. 31 December 1995. Archived from the original on 6 April 2012. Retrieved 12 December 2011.
  5. ^ a b "Universal Serial Bus 3.1 Specification" (ZIP). USB Implementers Forum. Retrieved 27 April 2023.[permanent dead link]
  6. ^ a b "Universal Serial Bus 2.0 Specification" (ZIP) (Revision 2.0 ed.). USB Implementers Forum. 27 April 2000. Retrieved 27 April 2023.[permanent dead link]
  7. ^ a b c "USB 3.2 Revision 1.1 - June 2022" (HTML) (Revision 1.01 ed.). October 2023. Retrieved 14 April 2024.
  8. ^ "Universal Serial Bus Power Delivery Specification Revision 3.0 Version 2.0a (Released)" (ZIP). USB Implementers Forum. Retrieved 27 April 2023.[permanent dead link]
  9. ^ "Universal Charging Solution". GSMA. 17 February 2009. Archived from the original on 30 November 2011. Retrieved 12 December 2011.
  10. ^ "Universal Serial Bus Cables and Connectors Class Document Revision 2.0" (PDF). USB Implementers Forum. Retrieved 27 April 2023.[permanent dead link]
  11. ^ "Universal Serial Bus Type-C Cable and Connector Specification Revision 1.0" (PDF). USB Implementers Forum. Retrieved 27 April 2023.[permanent dead link]
  12. ^ a b c d Axelson, Jan (2015). USB Complete: The Developer's Guide, Fifth Edition, Lakeview Research LLC, ISBN 1931448280, pp. 1-7.
  13. ^ "Definition of: how to install a PC peripheral". PC. Ziff Davis. Archived from the original on 22 March 2018. Retrieved 17 February 2018.
  14. ^ Huang, Eric (3 May 2018). "To USB or Not to USB: USB Dual Role replaces USB On-The-Go". synopsys.com. Archived from the original on 25 July 2021. Retrieved 21 July 2021.
  15. ^ "Icon design recommendation for Identifying USB 2.0 Ports on PCs, Hosts and Hubs" (PDF). USB. Archived (PDF) from the original on 3 October 2016. Retrieved 26 April 2013..
  16. ^ "Members". Archived from the original on 7 November 2021. Retrieved 7 November 2021.
  17. ^ "Two decades of "plug and play": How USB became the most successful interface in the history of computing". Archived from the original on 15 June 2021. Retrieved 14 June 2021.
  18. ^ "Intel Fellow: Ajay V. Bhatt". Intel Corporation. Archived from the original on 4 November 2009.
  19. ^ 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.
  20. ^ 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.
  21. ^ "4.2.1". Universal Serial Bus Specification (PDF) (Technical report). 1996. p. 29. v1.0. Archived (PDF) from the original on 30 January 2018.
  22. ^ "Eight ways the iMac changed computing". Macworld. 15 August 2008. Archived from the original on 22 December 2011. Retrieved 5 September 2017.
  23. ^ "The PC Follows iMac's Lead". Business week. 1999. Archived from the original on 23 September 2015.
  24. ^ "High Speed USB Maximum Theoretical Throughput". Microchip Technology Incorporated. 23 March 2021. Archived from the original on 26 March 2021. Retrieved 23 March 2021.
  25. ^ "Full Speed USB Maximum Theoretical Throughput". Microchip Technology Incorporated. 23 March 2021. Archived from the original on 26 March 2021. Retrieved 23 March 2021.
  26. ^ "USB 2.0 Specification". USB Implementers Forum. Archived from the original on 3 December 2017. Retrieved 28 April 2019.
  27. ^ "Battery Charging v1.2 Spec and Adopters Agreement" (ZIP). USB Implementers Forum. 7 March 2012. Archived from the original on 6 October 2014. Retrieved 13 May 2021.
  28. ^ "USB 3.0 Specification Now Available" (PDF) (Press release). San Jose, Calif. 17 November 2008. Archived from the original (PDF) on 31 March 2010. Retrieved 22 June 2010 – via usb.org.
  29. ^ a b c d e Universal Serial Bus 3.0 Specification (ZIP). Hewlett-Packard Company Intel Corporation Microsoft Corporation NEC Corporation ST-Ericsson Texas Instruments. 6 June 2011. Archived from the original on 19 May 2014 – via www.usb.org.
    "Universal Serial Bus 3.0 Specification" (PDF). 12 November 2008. Archived (PDF) from the original on 6 October 2012. Retrieved 29 December 2012 – via www.gaw.ru.
  30. ^ "USB 3.0 Technology" (PDF). HP. 2012. Archived from the original on 19 February 2015. Retrieved 2 January 2014.
  31. ^ a b c d "USB 3.1 Specification — Language Usage Guidelines from USB-IF" (PDF). Archived (PDF) from the original on 12 March 2016 – via www.usb.org.
  32. ^ Silvia (5 August 2015). "USB 3.1 Gen 1 & Gen 2 explained". www.msi.org. Archived from the original on 8 July 2018. Retrieved 5 April 2018.
  33. ^ Universal Serial Bus 3.1 Specification. Hewlett-Packard Company Intel Corporation Microsoft Corporation Renesas Corporation ST-Ericsson Texas Instruments. 26 July 2013. Archived from the original (ZIP) on 21 November 2014. Retrieved 19 November 2014 – via Usb.org.
  34. ^ "The USB 3.2 Specification released on September 22, 2017 and ECNs". usb.org. 22 September 2017. Archived from the original on 6 July 2019. Retrieved 4 September 2019.
  35. ^ "USB 3.0 Promoter Group Announces USB 3.2 Update" (PDF) (Press release). Beaverton, Oregon, US. 25 July 2017. Archived (PDF) from the original on 21 September 2017. Retrieved 27 July 2017 – via www.usb.org.
  36. ^ "USB 3.2 Specification Language Usage Guidelines from USB-IF" (PDF). usb.org. 26 February 2019. Archived (PDF) from the original on 3 November 2021. Retrieved 4 September 2019.
  37. ^ Ravencraft, Jeff (19 November 2019). "USB DevDays 2019 – Branding Session" (PDF). USB Implementers Forum (Presentation). p. 16. Archived from the original (PDF) on 22 March 2020. Retrieved 22 March 2020.
  38. ^ USB Data Performance Language Usage Guidelines from USB-IF
  39. ^ Trademark Requirements Chart
  40. ^ a b "USB Promoter Group USB4 Specification". usb.org. 29 August 2019. Archived from the original on 13 February 2021. Retrieved 30 August 2019.
  41. ^ "USB Promoter Group Announces USB4 Version 2.0 Specification defines delivering up to 80 Gbps over USB Type-C" (PDF).
  42. ^ Bright, Peter (4 March 2019). "Thunderbolt 3 becomes USB4, as Intel's interconnect goes royalty-free". Ars Technica. Archived from the original on 13 February 2021. Retrieved 4 March 2019.
  43. ^ Grunin, Lori (4 March 2019). "USB4 Marries Thunderbolt 3 for Faster Speeds and Smarter Transfers". CNET. Archived from the original on 4 March 2019. Retrieved 4 March 2019.
  44. ^ Brant, Tom (4 March 2019). "Thunderbolt 3 Merges With USB to Become USB4". PC Magazine. Archived from the original on 5 March 2019. Retrieved 4 March 2019.
  45. ^ Szewczyk, Chris (5 September 2022). "USB4 Version 2.0 with 80Gbps speeds is coming". PC Gamer. Retrieved 20 September 2024.
  46. ^ Saunders, Brad; Balich, Joe (1 September 2022). "USB Promoter Group Announces USB4® Version 2.0" (PDF) (Press release). Beaverton, OR, USA: USB Implementers Forum. Retrieved 20 September 2024.
  47. ^ Balich, Joe (18 October 2022). "USB-IF Announces Publication of New USB4® Specification to Enable USB 80Gbps Performance" (PDF) (Press release). Beaverton, OR, USA: USB Implementers Forum. Retrieved 20 September 2024.
  48. ^ "USB Data Performance, Language Usage Guidelines from USB-IF" (PDF). Archived from the original (PDF) on 1 October 2022. Retrieved 2 September 2022.
  49. ^ Matt Elliot (11 March 2019). "USB 3.2 explained: Making sense of current and confusing USB standards". CNET. Archived from the original on 7 July 2021. Retrieved 26 July 2022.
  50. ^ "USB4 Specification v2.0 | USB-IF".
  51. ^ "Battery Charging v1.1 Spec and Adopters Agreement". USB.org. Archived from the original on 11 January 2021. Retrieved 31 July 2019.
  52. ^ "Battery Charging v1.2 Spec and Adopters Agreement". USB.org. Archived from the original on 31 July 2019. Retrieved 31 July 2019.
  53. ^ "USB Power Delivery". USB.org. Archived from the original on 3 September 2019. Retrieved 3 September 2019.
  54. ^ "USB Type-C Cable and Connector Specification Revision 2.1". USB.org. Archived from the original on 27 May 2021. Retrieved 27 May 2021.
  55. ^ a b "USB Power Delivery". USB.org. Archived from the original on 27 May 2021. Retrieved 27 May 2021.
  56. ^ "Type-C CC and VCONN Signals". Microchip Technology, Inc. Retrieved 18 August 2023.
  57. ^ "Universal Serial Bus Specification Revision 2.0". USB.org. 11 October 2011. pp. 13, 30, 256. Archived from the original (ZIP) on 28 May 2012. Retrieved 8 September 2012.
  58. ^ Dan Froelich (20 May 2009). "Isochronous Protocol" (PDF). USB.org. Archived from the original (PDF) on 17 August 2014. Retrieved 21 November 2014.
  59. ^ "USB Class Codes". 22 September 2018. Archived from the original on 22 September 2018 – via www.usb.org.
  60. ^ 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.
  61. ^ "Universal Serial Bus Test and Measurement Class Specification (USBTMC) Revision 1.0" (PDF). USB Implementers Forum. 14 April 2003. Archived (PDF) from the original on 23 December 2018. Retrieved 10 May 2018 – via sdpha2.ucsd.edu.
  62. ^ a b "Universal Serial Bus Device Class Specification for Device Firmware Upgrade, Version 1.1". USB Implementers Forum. 15 October 2004. pp. 8–9. Archived (PDF) from the original on 11 October 2014. Retrieved 8 September 2014.
  63. ^ "100 Portable Apps for your USB Stick (both for Mac and Win)". Archived from the original on 2 December 2008. Retrieved 30 October 2008.
  64. ^ "Skype VoIP USB Installation Guide". Archived from the original on 6 July 2014. Retrieved 30 October 2008.
  65. ^ "PS/2 to USB Keyboard and Mouse Adapter". StarTech.com. Archived from the original on 12 November 2014. Retrieved 21 May 2023.
  66. ^ "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.
  67. ^ "rpms/dfu-util: USB Device Firmware Upgrade tool". fedoraproject.org. 14 May 2014. Archived from the original on 8 September 2014. Retrieved 8 September 2014.
  68. ^ "AN3156: USB DFU protocol used in the STM32 bootloader" (PDF). st.com. 7 February 2023. Retrieved 28 January 2024.
  69. ^ "USB-IF Announces USB Audio Device Class 3.0 Specification". Business Wire (Press release). Houston, Texas & Beaverton, Oregon. 27 September 2016. Archived from the original on 4 May 2018. Retrieved 4 May 2018.
  70. ^ "USB Device Class Specifications". www.usb.org. Archived from the original on 13 August 2014. Retrieved 4 May 2018.
  71. ^ a b c d e f Strong, Laurence (2015). "Why do you need USB Audio Class 2?" (PDF). XMOS. Archived from the original (PDF) on 24 November 2017. Retrieved 11 December 2020. In applications where streaming latency is important, UAC2 offers up to an 8x reduction over UAC1. ... Each clocking method has pros and cons and best-fit applications.
  72. ^ "USB Audio 2.0 Drivers". Microsoft Hardware Dev Center. Archived from the original on 4 May 2018. Retrieved 4 May 2018. ADC-2 refers to the USB Device Class Definition for Audio Devices, Release 2.0.
  73. ^ "New USB Audio Class for USB Type-C Digital Headsets". Synopsys.com. Archived from the original on 7 May 2018. Retrieved 7 May 2018.
  74. ^ a b Kars, Vincent (May 2011). "USB". The Well-Tempered Computer. Archived from the original on 7 May 2018. Retrieved 7 May 2018. All operating systems (Win, OSX, and Linux) support USB Audio Class 1 natively. This means you don't need to install drivers, it is plug&play.
  75. ^ "Fundamentals of USB Audio" (PDF). www.xmos.com. XMOS Ltd. 2015. Retrieved 10 December 2020. Note that Full Speed USB has a much higher intrinsic latency of 2ms
  76. ^ a b "This Just In: Microsoft Launches Native Class 2 USB Audio Support. Wait, What?". Computer Audiophile. 2 May 2017. Archived from the original on 2 September 2018. Retrieved 7 May 2018. Class 2 support enables much higher sample rates such as PCM 24 bit / 384 kHz and DSD (DoP) up through DSD256.
  77. ^ "Announcing Windows 10 Insider Preview Build 14931 for PC". Windows Experience Blog. 21 September 2016. Archived from the original on 23 September 2016. Retrieved 7 May 2018. We now have native support for USB Audio 2.0 devices with an inbox class driver! This is an early version of the driver that does not have all features enabled
  78. ^ Plummer, Gregg (20 September 2017). "Ampliozone: USB Audio Class 2.0 Support in Windows 10, FINALLY!!!!". Ampliozone. Archived from the original on 7 May 2018. Retrieved 7 May 2018.
  79. ^ a b "USB Digital Audio". Android Open Source Project. Retrieved 16 February 2023. Synchronous sub-mode is not commonly used with audio because both host and peripheral are at the mercy of the USB clock.
  80. ^ "32-bit Atmel Microcontroller Application Note" (PDF). Atmel Corporation. 2011. Archived (PDF) from the original on 6 May 2016. Retrieved 13 April 2016.
  81. ^ "PCM2906C datasheet" (PDF). Texas Instruments. November 2011. Archived (PDF) from the original on 4 May 2018. Retrieved 4 May 2018. The PCM2906C employs SpAct architecture, TI's unique system that recovers the audio clock from USB packet data.
  82. ^ Castor-Perry, Kendall (October 2010). "Designing Modern USB Audio Systems". Cypress Semiconductor. Archived from the original on 5 May 2018. Retrieved 4 May 2018.
  83. ^ a b Castor-Perry, Kendall (2011). "Programmable Clock Generation and Synchronization for USB Audio Systems". Cypress Semiconductor. Archived from the original on 4 May 2018. Retrieved 4 May 2018. Early USB replay interfaces used synchronous mode but acquired a reputation for poor quality of the recovered clock (and resultant poor replay quality). This was primarily due to deficiencies of clocking implementation rather than inherent shortcomings of the approach.
  84. ^ Kondoh, Hitoshi (20 February 2002). "The D/A diaries: A personal memoir of engineering heartache and triumph" (PDF). Archived (PDF) from the original on 12 December 2019. Retrieved 4 May 2018. The fact that there is no clock line within the USB cable leads to a thinner cable, which is an advantage. But, no matter how good the crystal oscillators are at the send and receive ends, there will always be some difference between the two...
  85. ^ "USB 2.0 Documents". www.usb.org. Archived from the original on 3 December 2017. Retrieved 7 May 2018.
  86. ^ "Our Guide to USB Audio - Why Should I Use it?". Cambridge Audio. 9 May 2016. Archived from the original on 7 May 2018. Retrieved 7 May 2018. Synchronous USB DAC is the lowest quality of the three ... Adaptive ... means that there is no continuous, accurate master clock in the DAC, which causes jitter in the audio stream. ... Asynchronous – this is the most complex to implement but it is a huge improvement on the other types.
  87. ^ Kars, Vincent (July 2012). "USB versus USB". The Well-Tempered Computer. Archived from the original on 22 April 2018. Retrieved 7 May 2018. Synchronous is not used in a quality DAC as it is very jittery. ... asynchronous is the better of these modes.
  88. ^ "Low-Jitter USB: Dan Lavry, Michael Goodman, Adaptive, Asynchronous". Headphone Reviews and Discussion - Head-Fi.org. Archived from the original on 7 May 2018. Retrieved 7 May 2018. Some manufacturers may lead you to believe that Asynchronous USB transfers are superior to Adaptive USB transfers and that therefore you must believe in the asynchronous solution. This no more true than saying that you "must" hold the fork in your left hand. In fact, if you know what you are doing, you will feed yourself with either hand. The issue is really about good engineering practices.
  89. ^ "USB 2.0 Specification Engineering Change Notice (ECN) #1: Mini-B connector" (PDF). 20 October 2000. Archived (PDF) from the original on 12 April 2015. Retrieved 29 December 2014 – via www.usb.org.
  90. ^ "USB Cable Length Limitations" (PDF). CablesPlusUSA.com. 3 November 2010. Archived from the original (PDF) on 11 October 2014. Retrieved 2 February 2014.
  91. ^ "What Is the Maximum Length of a USB Cable?". Techwalla.com. Archived from the original on 1 December 2017. Retrieved 18 November 2017.
  92. ^ a b "Cables and Long-Haul Solutions". USB 2.0 Frequently Asked Questions. USB Implementers Forum. Archived from the original on 18 January 2011. Retrieved 28 April 2019.
  93. ^ Axelson, Jan. "USB 3.0 Developers FAQ". Archived from the original on 20 December 2016. Retrieved 20 October 2016.
  94. ^ "USB 3.1 - Type-C Host to Host". superuser.com. Archived from the original on 14 October 2021. Retrieved 21 July 2021.
  95. ^ "Parameter Values". Battery Charging Specification, Revision 1.2. USB Implementers Forum. 7 December 2010. p. 45. Archived from the original on 28 March 2016. Retrieved 29 March 2016.
  96. ^ "OVERVIEW OF USB BATTERY CHARGING REVISION 1.2 AND THE IMPORTANT ROLE OF ADAPTER EMULATORS" (PDF). maxim integrated. 2014. p. 3. Archived (PDF) from the original on 4 July 2021. Retrieved 12 August 2021.
  97. ^ "USB in a NutShell — Chapter 2: Hardware". Beyond Logic.org. Archived from the original on 20 August 2007. Retrieved 25 August 2007.
  98. ^ "USB4 Specification v2.0 | USB-IF". www.usb.org. Retrieved 22 July 2023.
  99. ^ "USB4 Version 2.0 from Simulation to Tx, Rx, and Interconnect Test | Signal Integrity Journal". www.signalintegrityjournal.com. Retrieved 22 July 2023.
  100. ^ "Welcome to the 80Gpbs Ultra-High Speed Era of USB4 | GraniteRiverLabs". www.graniteriverlabs.com. Retrieved 22 July 2023.
  101. ^ USB Data Performance Language Usage Guidelines from USB-IF
  102. ^ "Media Agnostic USB v1.0a Spec and Adopters Agreement". usb.org. Archived from the original on 31 July 2021. Retrieved 21 July 2021.
  103. ^ Shaikh, Roshan Ashraf (3 November 2020). "USB-IF releases final specification of Media Agnostic USB". tweaktown.com. Archived from the original on 15 March 2021. Retrieved 21 July 2021.
  104. ^ Shuler, Kurt (31 March 2011). "Interchip Connectivity: HSIC, UniPro, HSI, C2C, LLI... oh my!". Arteris IP. Archived from the original on 19 June 2011. Retrieved 24 June 2011.
  105. ^ "USB 3.2 and Beyond". Black Box. Retrieved 4 March 2023.
  106. ^ "FireWire vs. USB 2.0" (PDF). QImaging. Archived (PDF) from the original on 11 October 2010. Retrieved 20 July 2010.
  107. ^ "FireWire vs. USB 2.0 – Bandwidth Tests". Archived from the original on 12 August 2007. Retrieved 25 August 2007.
  108. ^ "USB 2.0 vs FireWire". Pricenfees. Archived from the original on 16 October 2016. Retrieved 25 August 2007.
  109. ^ 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.
  110. ^ Heron, Robert. "USB 2.0 Versus FireWire". TechTV. Archived from the original on 29 September 2007. Retrieved 25 August 2007.
  111. ^ "FireWire vs. USB 2.0". USB Ware. Archived from the original on 16 March 2007. Retrieved 19 March 2007.
  112. ^ Key, Gary (15 November 2005). "Firewire and USB Performance". Archived from the original on 23 April 2008. Retrieved 1 February 2008.
  113. ^ "802.3, Section 14.3.1.1" (PDF). IEEE. Archived from the original (PDF) on 6 December 2010.
  114. ^ "Powerbook Explodes After Comcast Plugs in Wrong Cable". Consumerist. 8 March 2010. Archived from the original on 25 June 2010. Retrieved 22 June 2010.
  115. ^ "Technical Note. Galvanic Isolation" (PDF). iSYSTEM. 2021. Archived (PDF) from the original on 21 December 2021. Retrieved 13 February 2022.
  116. ^ "Universal Serial Bus Device Class Definition for MIDI Devices" (PDF). usb.org. 1 November 1999. Archived (PDF) from the original on 2 November 2021. Retrieved 21 July 2021.
  117. ^ "How Thunderbolt Technology Works: Thunderbolt Technology Community". ThunderboltTechnology.net. Archived from the original on 10 February 2014. Retrieved 22 January 2014.
  118. ^ Galbraith, Jim (2 January 2014). "What you need to know about Thunderbolt 2". Macworld. IDG Communications, Inc. Archived from the original on 24 June 2021. Retrieved 18 June 2021.
  119. ^ "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.
  120. ^ "Thunderbolt 3 is twice as fast and uses reversible USB-C". 2 June 2015. Archived from the original on 3 June 2015. Retrieved 2 June 2015.
  121. ^ Sebastian Anthony (2 June 2015). "Thunderbolt 3 embraces USB Type-C connector, doubles bandwidth to 40 Gbps". Ars Technica. Archived from the original on 9 June 2015. Retrieved 2 June 2015.
  122. ^ a b Porter, Jon (30 April 2020). "New DisplayPort spec enables 16K video over USB-C". The Verge. Vox Media, LLC. Archived from the original on 15 April 2021. Retrieved 18 June 2021.
  123. ^ "USB4 Thunderbolt3 Compatibility Requirements Specification" (PDF). USB. USB.org. January 2021. Archived (PDF) from the original on 19 October 2021. Retrieved 1 January 2021.
  124. ^ "Using AutoRun with a USB Flash Drive (USB stick)". Positive Technologies. 25 June 2022. Archived from the original on 26 April 2022. Retrieved 26 July 2022.

Further reading

[edit]
[edit]

General overview

[edit]

Technical documents

[edit]