Firearms

Reference / Paper · 2000

Universal Serial Bus Specification, Revision 2.0

Read the PDF ↗

The core USB 2.0 specification (usb_20.pdf from the USB-IF's 2025-06-03 package): cable impedance and delay, conductor resistance, VBUS and back-drive rules, suspend, bInterval.

Author
Compaq, Hewlett-Packard, Intel, Lucent, Microsoft, NEC, Philips (USB-IF)
Year
2000
Type
Reference / Paper
Credit
USB Implementers Forum (usb.org), from usb_20_20250603.zip
  • usb 2.0
  • specification
  • cable
  • vbus

← Back to the Reference Library

Universal Serial Bus Specification, Revision 2.0

Universal Serial Bus Specification Compaq Hewlett-Packard Intel Lucent Microsoft NEC Philips Revision 2.0 April 27, 2000 Universal Serial Bus Specification Revision 2.0 Scope of this Revision The 2.0 revision of the specification is intended for product design. Every attempt has been made to ensure a consistent and implementable specification. Implementations should ensure compliance with this revision. Revision History Revision Issue Date Comments 0.7 November 11, 1994 Supersedes 0.6e. 0.8 December 30, 1994 Revisions to Chapters 3-8, 10, and 11. Added appendixes. 0.9 April 13, 1995 Revisions to all the chapters. 0.99 August 25, 1995 Revisions to all the chapters. 1.0 FDR November 13, 1995 Revisions to Chapters 1, 2, 5-11. 1.0 January 15, 1996 Edits to Chapters 5, 6, 7, 8, 9, 10, and 11 for consistency. 1.1 September 23, 1998 Updates to all chapters to fix problems identified. 2.0 (draft 0.79) October 5, 1999 Revisions to chapters 5, 7, 8, 9, 11 to add high speed. 2.0 (draft 0.9) December 21, 1999 Revisions to all chapters to add high speed. 2.0 April 27, 2000 Revisions for high-speed mode. Universal Serial Bus Specification Copyright © 2000, Compaq Computer Corporation, Hewlett-Packard Company, Intel Corporation, Lucent Technologies Inc, Microsoft Corporation, NEC Corporation, Koninklijke Philips Electronics N.V. All rights reserved. INTELLECTUAL PROPERTY DISCLAIMER THIS SPECIFICATION IS PROVIDED TO YOU “AS IS” WITH NO WARRANTIES WHATSOEVER, INCLUDING ANY WARRANTY OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR INFRINGEMENT OF ANY PROPRIETARY RIGHTS, RELATING TO USE OR IMPLEMENTATION OF INFORMATION IN THIS SPECIFICATION. THE PROVISION OF THIS SPECIFICATION TO YOU DOES NOT PROVIDE YOU WITH ANY LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS. All product names are trademarks, registered trademarks, or servicemarks of their respective owners. Please send comments via electronic mail to [email protected] For industry information, refer to the USB Implementers Forum web page at http://www.usb.org ii Universal Serial Bus Specification Revision 2.0 Acknowledgement of USB 2.0 Technical Contribution The authors of this specification would like to recognize the following people who participated in the USB 2.0 Promoter Group technical working groups. We would also like to thank others in the USB 2.0 Promoter companies and throughout the industry who contributed to the development of this specification. Hub Working Group John Garney Ken Stufflebeam David Wooten Matt Nieberger John Howard Venkat Iyer Steve McGowan Geert Knapen Zong Liang Wu Jim Clee Jim Guziak Dave Thompson John Fuller Nathan Sherman Mark Williams Nobuo Furuya Toshimi Sakurai Moto Sato Katsuya Suzuki Intel Corporation (Chair/Editor) Compaq Computer Corporation Compaq Computer Corporation Hewlett-Packard Company Intel Corporation Intel Corporation Intel Corporation Royal Philips Electronics Royal Philips Electronics Lucent Technologies Inc Lucent Technologies Inc Lucent Technologies Inc Microsoft Corporation Microsoft Corporation Microsoft Corporation NEC Corporation NEC Corporation NEC Corporation NEC Corporation Electrical Working Group Jon Lueker David Wooten Matt Nieberger Larry Taugher Venkat Iyer Steve McGowan Mike Pennell Todd West Gerrit den Besten Marq Kole Zong Liang Wu Jim Clee Jim Guziak Par Parikh Dave Thompson Ed Giaimo Mark Williams Toshihiko Ohtani Kugao Ouchi Katsuya Suzuki Toshio Tasaki Intel Corporation (Chair/Editor) Compaq Computer Corporation Hewlett-Packard Company Hewlett-Packard Company Intel Corporation Intel Corporation Intel Corporation Intel Corporation Royal Philips Electronics Royal Philips Electronics Royal Philips Electronics Lucent Technologies Inc Lucent Technologies Inc Lucent Technologies Inc Lucent Technologies Inc Microsoft Corporation Microsoft Corporation NEC Corporation NEC Corporation NEC Corporation NEC Corporation iii Universal Serial Bus Specification Revision 2.0 iv Universal Serial Bus Specification Revision 2.0 Contents CHAPTER 1 INTRODUCTION 1.1 Motivation .............................................................................................................................................. 1 1.2 Objective of the Specification ............................................................................................................... 1 1.3 Scope of the Document .......................................................................................................................... 2 1.4 USB Product Compliance ..................................................................................................................... 2 1.5 Document Organization ........................................................................................................................ 2 CHAPTER 2 TERMS AND ABBREVIATIONS CHAPTER 3 BACKGROUND 3.1 Goals for the Universal Serial Bus ..................................................................................................... 11 3.2 Taxonomy of Application Space......................................................................................................... 12 3.3 Feature List .......................................................................................................................................... 13 CHAPTER 4 ARCHITECTURAL OVERVIEW 4.1 USB System Description ..................................................................................................................... 15 4.1.1 Bus Topology ................................................................................................................................. 16 4.2 Physical Interface ................................................................................................................................ 17 4.2.1 Electrical......................................................................................................................................... 17 4.2.2 Mechanical ..................................................................................................................................... 18 4.3 Power .................................................................................................................................................... 18 4.3.1 Power Distribution ......................................................................................................................... 18 4.3.2 Power Management ........................................................................................................................ 18 4.4 Bus Protocol ......................................................................................................................................... 18 4.5 Robustness............................................................................................................................................ 19 4.5.1 Error Detection ............................................................................................................................... 19 4.5.2 Error Handling................................................................................................................................ 19 4.6 System Configuration.......................................................................................................................... 19 4.6.1 Attachment of USB Devices........................................................................................................... 20 4.6.2 Removal of USB Devices............................................................................................................... 20 4.6.3 Bus Enumeration ............................................................................................................................ 20 v Universal Serial Bus Specification Revision 2.0 4.7 Data Flow Types ...................................................................................................................................20 4.7.1 Control Transfers.............................................................................................................................21 4.7.2 Bulk Transfers .................................................................................................................................21 4.7.3 Interrupt Transfers...........................................................................................................................21 4.7.4 Isochronous Transfers .....................................................................................................................21 4.7.5 Allocating USB Bandwidth.............................................................................................................21 4.8 USB Devices ..........................................................................................................................................22 4.8.1 Device Characterizations.................................................................................................................22 4.8.2 Device Descriptions ........................................................................................................................22 4.9 USB Host: Hardware and Software...................................................................................................24 4.10 Architectural Extensions......................................................................................................................24 CHAPTER 5 USB DATA FLOW MODEL 5.1 Implementer Viewpoints......................................................................................................................25 5.2 Bus Topology ........................................................................................................................................27 5.2.1 USB Host ........................................................................................................................................27 5.2.2 USB Devices ...................................................................................................................................28 5.2.3 Physical Bus Topology....................................................................................................................29 5.2.4 Logical Bus Topology.....................................................................................................................30 5.2.5 Client Software-to-function Relationship........................................................................................31 5.3 USB Communication Flow ..................................................................................................................31 5.3.1 Device Endpoints ............................................................................................................................33 5.3.2 Pipes ................................................................................................................................................34 5.3.3 Frames and Microframes.................................................................................................................36 5.4 Transfer Types......................................................................................................................................36 5.4.1 Table Calculation Examples............................................................................................................37 5.5 Control Transfers .................................................................................................................................38 5.5.1 Control Transfer Data Format .........................................................................................................38 5.5.2 Control Transfer Direction ..............................................................................................................39 5.5.3 Control Transfer Packet Size Constraints........................................................................................39 5.5.4 Control Transfer Bus Access Constraints........................................................................................40 5.5.5 Control Transfer Data Sequences....................................................................................................43 5.6 Isochronous Transfers..........................................................................................................................44 5.6.1 Isochronous Transfer Data Format..................................................................................................44 5.6.2 Isochronous Transfer Direction.......................................................................................................44 5.6.3 Isochronous Transfer Packet Size Constraints ................................................................................44 5.6.4 Isochronous Transfer Bus Access Constraints ................................................................................47 5.6.5 Isochronous Transfer Data Sequences.............................................................................................47 5.7 Interrupt Transfers ..............................................................................................................................48 5.7.1 Interrupt Transfer Data Format .......................................................................................................48 5.7.2 Interrupt Transfer Direction ............................................................................................................48 5.7.3 Interrupt Transfer Packet Size Constraints......................................................................................48 5.7.4 Interrupt Transfer Bus Access Constraints......................................................................................49 5.7.5 Interrupt Transfer Data Sequences ..................................................................................................52 vi Universal Serial Bus Specification Revision 2.0 5.8 Bulk Transfers ..................................................................................................................................... 52 5.8.1 Bulk Transfer Data Format............................................................................................................. 52 5.8.2 Bulk Transfer Direction.................................................................................................................. 52 5.8.3 Bulk Transfer Packet Size Constraints ........................................................................................... 53 5.8.4 Bulk Transfer Bus Access Constraints ........................................................................................... 53 5.8.5 Bulk Transfer Data Sequences ....................................................................................................... 55 5.9 High-Speed, High Bandwidth Endpoints........................................................................................... 56 5.9.1 High Bandwidth Interrupt Endpoints ............................................................................................. 56 5.9.2 High Bandwidth Isochronous Endpoints ........................................................................................ 57 5.10 Split Transactions ................................................................................................................................ 58 5.11 Bus Access for Transfers..................................................................................................................... 58 5.11.1 Transfer Management..................................................................................................................... 59 5.11.2 Transaction Tracking...................................................................................................................... 61 5.11.3 Calculating Bus Transaction Times................................................................................................ 63 5.11.4 Calculating Buffer Sizes in Functions and Software ...................................................................... 65 5.11.5 Bus Bandwidth Reclamation .......................................................................................................... 65 5.12 Special Considerations for Isochronous Transfers ........................................................................... 65 5.12.1 Example Non-USB Isochronous Application................................................................................. 66 5.12.2 USB Clock Model .......................................................................................................................... 69 5.12.3 Clock Synchronization ................................................................................................................... 71 5.12.4 Isochronous Devices....................................................................................................................... 71 5.12.5 Data Prebuffering ........................................................................................................................... 80 5.12.6 SOF Tracking ................................................................................................................................. 81 5.12.7 Error Handling................................................................................................................................ 81 5.12.8 Buffering for Rate Matching .......................................................................................................... 82 CHAPTER 6 MECHANICAL 6.1 Architectural Overview....................................................................................................................... 85 6.2 Keyed Connector Protocol.................................................................................................................. 85 6.3 Cable ..................................................................................................................................................... 86 6.4 Cable Assembly.................................................................................................................................... 86 6.4.1 Standard Detachable Cable Assemblies ......................................................................................... 86 6.4.2 High-/full-speed Captive Cable Assemblies................................................................................... 88 6.4.3 Low-speed Captive Cable Assemblies ........................................................................................... 90 6.4.4 Prohibited Cable Assemblies.......................................................................................................... 92 6.5 Connector Mechanical Configuration and Material Requirements................................................ 93 6.5.1 USB Icon Location ......................................................................................................................... 93 6.5.2 USB Connector Termination Data ................................................................................................. 94 6.5.3 Series “A” and Series “B” Receptacles .......................................................................................... 94 6.5.4 Series “A” and Series “B” Plugs .................................................................................................... 98 vii Universal Serial Bus Specification Revision 2.0 6.6 Cable Mechanical Configuration and Material Requirements ......................................................102 6.6.1 Description ....................................................................................................................................102 6.6.2 Construction ..................................................................................................................................103 6.6.3 Electrical Characteristics...............................................................................................................105 6.1.4 Cable Environmental Characteristics ............................................................................................106 6.1.5 Listing ...........................................................................................................................................106 6.7 Electrical, Mechanical, and Environmental Compliance Standards .............................................106 6.7.1 Applicable Documents ..................................................................................................................114 6.8 USB Grounding ..................................................................................................................................114 6.9 PCB Reference Drawings...................................................................................................................114 CHAPTER 7 ELECTRICAL 7.1 Signaling ..............................................................................................................................................119 7.1.1 USB Driver Characteristics ...........................................................................................................123 7.1.2 Data Signal Rise and Fall, Eye Patterns ........................................................................................129 7.1.3 Cable Skew....................................................................................................................................139 7.1.4 Receiver Characteristics ................................................................................................................139 7.1.5 Device Speed Identification ..........................................................................................................141 7.1.6 Input Characteristics......................................................................................................................142 7.1.7 Signaling Levels............................................................................................................................144 7.1.8 Data Encoding/Decoding ..............................................................................................................157 7.1.9 Bit Stuffing....................................................................................................................................157 7.1.10 Sync Pattern ..................................................................................................................................159 7.1.11 Data Signaling Rate.......................................................................................................................159 7.1.12 Frame Interval ...............................................................................................................................159 7.1.13 Data Source Signaling ...................................................................................................................160 7.1.14 Hub Signaling Timings .................................................................................................................162 7.1.15 Receiver Data Jitter .......................................................................................................................164 7.1.16 Cable Delay...................................................................................................................................165 7.1.17 Cable Attenuation..........................................................................................................................167 7.1.18 Bus Turn-around Time and Inter-packet Delay.............................................................................168 7.1.19 Maximum End-to-end Signal Delay..............................................................................................168 7.1.20 Test Mode Support ........................................................................................................................169 7.2 Power Distribution .............................................................................................................................171 7.2.1 Classes of Devices.........................................................................................................................171 7.2.2 Voltage Drop Budget ....................................................................................................................175 7.2.3 Power Control During Suspend/Resume.......................................................................................176 7.2.4 Dynamic Attach and Detach..........................................................................................................177 7.3 Physical Layer.....................................................................................................................................178 7.3.1 Regulatory Requirements ..............................................................................................................178 7.3.2 Bus Timing/Electrical Characteristics ...........................................................................................178 7.3.3 Timing Waveforms .......................................................................................................................191 viii Universal Serial Bus Specification Revision 2.0 CHAPTER 8 PROTOCOL LAYER 8.1 Byte/Bit Ordering .............................................................................................................................. 195 8.2 SYNC Field......................................................................................................................................... 195 8.3 Packet Field Formats......................................................................................................................... 195 8.3.1 Packet Identifier Field .................................................................................................................. 195 8.3.2 Address Fields .............................................................................................................................. 197 8.3.3 Frame Number Field..................................................................................................................... 197 8.3.4 Data Field ..................................................................................................................................... 197 8.3.5 Cyclic Redundancy Checks .......................................................................................................... 198 8.4 Packet Formats .................................................................................................................................. 199 8.4.1 Token Packets............................................................................................................................... 199 8.4.2 Split Transaction Special Token Packets...................................................................................... 199 8.4.3 Start-of-Frame Packets ................................................................................................................. 204 8.4.4 Data Packets ................................................................................................................................. 206 8.4.5 Handshake Packets ....................................................................................................................... 206 8.4.6 Handshake Responses .................................................................................................................. 207 8.5 Transaction Packet Sequences.......................................................................................................... 209 8.5.1 NAK Limiting via Ping Flow Control.......................................................................................... 217 8.5.2 Bulk Transactions......................................................................................................................... 221 8.5.3 Control Transfers.......................................................................................................................... 225 8.5.4 Interrupt Transactions................................................................................................................... 228 8.5.5 Isochronous Transactions ............................................................................................................. 229 8.6 Data Toggle Synchronization and Retry ......................................................................................... 232 8.6.1 Initialization via SETUP Token ................................................................................................... 233 8.6.2 Successful Data Transactions ....................................................................................................... 233 8.6.3 Data Corrupted or Not Accepted .................................................................................................. 233 8.6.4 Corrupted ACK Handshake.......................................................................................................... 234 8.6.5 Low-speed Transactions............................................................................................................... 235 8.7 Error Detection and Recovery.......................................................................................................... 236 8.7.1 Packet Error Categories................................................................................................................ 236 8.7.2 Bus Turn-around Timing.............................................................................................................. 237 8.7.3 False EOPs ................................................................................................................................... 237 8.7.4 Babble and Loss of Activity Recovery......................................................................................... 238 ix Universal Serial Bus Specification Revision 2.0 CHAPTER 9 USB DEVICE FRAMEWORK 9.1 USB Device States...............................................................................................................................239 9.1.1 Visible Device States.....................................................................................................................239 9.1.2 Bus Enumeration ...........................................................................................................................243 9.2 Generic USB Device Operations .......................................................................................................244 9.2.1 Dynamic Attachment and Removal...............................................................................................244 9.2.2 Address Assignment......................................................................................................................244 9.2.3 Configuration ................................................................................................................................244 9.2.4 Data Transfer.................................................................................................................................245 9.2.5 Power Management.......................................................................................................................245 9.2.6 Request Processing........................................................................................................................245 9.2.7 Request Error ................................................................................................................................247 9.3 USB Device Requests..........................................................................................................................248 9.3.1 bmRequestType.............................................................................................................................248 9.3.2 bRequest........................................................................................................................................249 9.3.3 wValue ..........................................................................................................................................249 9.3.4 wIndex...........................................................................................................................................249 9.3.5 wLength.........................................................................................................................................249 9.4 Standard Device Requests .................................................................................................................250 9.4.1 Clear Feature .................................................................................................................................252 9.4.2 Get Configuration..........................................................................................................................253 9.4.3 Get Descriptor ...............................................................................................................................253 9.4.4 Get Interface..................................................................................................................................254 9.4.5 Get Status ......................................................................................................................................254 9.4.6 Set Address....................................................................................................................................256 9.4.7 Set Configuration ..........................................................................................................................257 9.4.8 Set Descriptor................................................................................................................................257 9.4.9 Set Feature.....................................................................................................................................258 9.4.10 Set Interface...................................................................................................................................259 9.4.11 Synch Frame..................................................................................................................................260 9.5 Descriptors ..........................................................................................................................................260 9.6 Standard USB Descriptor Definitions...............................................................................................261 9.6.1 Device ...........................................................................................................................................261 9.6.2 Device_Qualifier ...........................................................................................................................264 9.6.3 Configuration ................................................................................................................................264 9.6.4 Other_Speed_Configuration..........................................................................................................266 9.6.5 Interface.........................................................................................................................................267 9.6.6 Endpoint ........................................................................................................................................269 9.6.7 String .............................................................................................................................................273 9.7 Device Class Definitions .....................................................................................................................274 9.7.1 Descriptors ....................................................................................................................................274 9.7.2 Interface(s) and Endpoint Usage ...................................................................................................274 9.7.3 Requests ........................................................................................................................................274 x Universal Serial Bus Specification Revision 2.0 CHAPTER 10 USB HOST: HARDWARE AND SOFTWARE 10.1 Overview of the USB Host ................................................................................................................ 275 10.1.1 Overview ...................................................................................................................................... 275 10.1.2 Control Mechanisms..................................................................................................................... 278 10.1.3 Data Flow ..................................................................................................................................... 278 10.1.4 Collecting Status and Activity Statistics....................................................................................... 279 10.1.5 Electrical Interface Considerations............................................................................................... 279 10.2 Host Controller Requirements ......................................................................................................... 279 10.2.1 State Handling .............................................................................................................................. 280 10.2.2 Serializer/Deserializer .................................................................................................................. 280 10.2.3 Frame and Microframe Generation .............................................................................................. 280 10.2.4 Data Processing ............................................................................................................................ 281 10.2.5 Protocol Engine ............................................................................................................................ 281 10.2.6 Transmission Error Handling ....................................................................................................... 282 10.2.7 Remote Wakeup ........................................................................................................................... 282 10.2.8 Root Hub ...................................................................................................................................... 282 10.2.9 Host System Interface................................................................................................................... 283 10.3 Overview of Software Mechanisms .................................................................................................. 283 10.3.1 Device Configuration ................................................................................................................... 283 10.3.2 Resource Management ................................................................................................................. 285 10.3.3 Data Transfers .............................................................................................................................. 286 10.3.4 Common Data Definitions............................................................................................................ 286 10.4 Host Controller D