`Specification
`
`Compaq
`
`Intel
`
`Microsoft
`
`NEC
`
`Revision 1.1
`September 23, 1998
`
`Petitioners Ex. 1008
`IPR USP 7,834,586
`Page 1 of 327
`
`
`
`Universal Serial Bus Specification Revision 1.1
`
`Scope of this Revision
`The 1.1 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
`
`0.8
`
`0.9
`
`0.99
`
`November 11, 1994
`
`Supersedes 0.6e.
`
`December 30, 1994
`
`Revisions to Chapters 3-8, 10, and 11. Added
`appendixes.
`
`April 13, 1995
`
`Revisions to all the chapters.
`
`August 25, 1995
`
`Revisions to all the chapters.
`
`1.0 FDR
`
`November 13, 1995
`
`Revisions to Chapters 1, 2, 5-11.
`
`1.0
`
`1.1
`
`January 15, 1996
`
`Edits to Chapters 5, 6, 7, 8, 9, 10, and 11 for
`consistency.
`
`September 23, 1998
`
`Updates to all chapters to fix problems identified.
`
`Universal Serial Bus Specification
`Copyright © 1998, Compaq Computer Corporation,
`Intel Corporation, Microsoft Corporation, NEC Corporation.
`All rights reserved.
`
`INTELLECTUAL PROPERTY DISCLAIMER
`THIS SPECIFICATION IS PROVIDED “AS IS” WITH NO WARRANTIES WHATSOEVER INCLUDING
`ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR ANY PARTICULAR PURPOSE, OR ANY
`WARRANTY OTHERWISE ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE.
`A LICENSE IS HEREBY GRANTED TO REPRODUCE AND DISTRIBUTE THIS SPECIFICATION FOR
`INTERNAL USE ONLY. NO OTHER LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR
`OTHERWISE, TO ANY OTHER INTELLECTUAL PROPERTY RIGHTS IS GRANTED OR INTENDED
`HEREBY.
`AUTHORS OF THIS SPECIFICATION DISCLAIM ALL LIABILITY, INCLUDING LIABILITY FOR
`INFRINGEMENT OF PROPRIETARY RIGHTS, RELATING TO IMPLEMENTATION OF
`INFORMATION IN THIS SPECIFICATION. AUTHORS OF THIS SPECIFICATION ALSO DO NOT
`WARRANT OR REPRESENT THAT SUCH IMPLEMENTATION(S) WILL NOT INFRINGE SUCH
`RIGHTS.
`
`GeoPort and Apple Desktop Bus are trademarks of Apple Computer, Inc.
`Windows and Windows NT are trademarks and Microsoft and Win32 are registered trademarks of Microsoft Corporation.
`IBM, PS/2, and Micro Channel are registered trademarks of International Business Machines Corporation.
`AT&T is a registered trademark of American Telephone and Telegraph Company.
`Compaq is a registered trademark of Compaq Computer Corporation.
`UNIX is a registered trademark of UNIX System Laboratories.
`I2C is a trademark of Phillips Semiconductors.
`DEC is a trademark of Digital Equipment Corporation.
`All other product names are trademarks, registered trademarks, or servicemarks of their respective owners.
`
`Please send comments via electronic mail to techsup@usb.org
`For industry information, refer to the USB Implementers Forum web page at http://www.usb.org
`
`ii
`
`Petitioners Ex. 1008
`IPR USP 7,834,586
`Page 2 of 327
`
`
`
`Universal Serial Bus Specification Revision 1.1
`
`Contents
`
`CHAPTER 1 INTRODUCTION ................................................................................. 1
`
`1.1 Motivation .................................................................................................................. .............................1
`
`1.2 Objective of the Specification .............................................................................................. ..................1
`
`1.3
`
`Scope of the Document ....................................................................................................... ....................2
`
`1.4 Document Organization....................................................................................................... ..................2
`
`CHAPTER 2 TERMS AND ABBREVIATIONS .......................................................... 3
`
`CHAPTER 3 BACKGROUND.................................................................................. 11
`
`3.1 Goals for the Universal Serial Bus .......................................................................................... ............11
`
`3.2
`
`Taxonomy of Application Space............................................................................................... ...........12
`
`3.3
`
`Feature List ...........................................................................................................................................12
`
`CHAPTER 4 ARCHITECTURAL OVERVIEW ........................................................ 15
`
`4.1 USB System Description ......................................................................................................................15
`4.1.1
`Bus Topology ..................................................................................................................................16
`
`Physical Interface .................................................................................................................................17
`4.2
`4.2.1
`Electrical .........................................................................................................................................17
`4.2.2 Mechanical ......................................................................................................................................17
`
`Power .....................................................................................................................................................18
`4.3
`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
`
`System Configuration...........................................................................................................................19
`4.6
`4.6.1 Attachment of USB Devices ...........................................................................................................19
`4.6.2
`Removal of USB Devices................................................................................................................20
`4.6.3
`Bus Enumeration .............................................................................................................................20
`
`4.7 Data Flow Types ...................................................................................................................................20
`4.7.1
`Control Transfers.............................................................................................................................20
`
`iii
`
`Petitioners Ex. 1008
`IPR USP 7,834,586
`Page 3 of 327
`
`
`
`Universal Serial Bus Specification Revision 1.1
`
`Bulk Transfers.................................................................................................................................20
`4.7.2
`Interrupt Transfers...........................................................................................................................21
`4.7.3
`Isochronous Transfers .....................................................................................................................21
`4.7.4
`4.7.5 Allocating USB Bandwidth.............................................................................................................21
`
`4.8 USB Devices ..........................................................................................................................................21
`4.8.1 Device Characterizations.................................................................................................................21
`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................................................................ 25
`
`5.1
`
`Implementer Viewpoints......................................................................................................................25
`
`Bus Topology ........................................................................................................................................27
`5.2
`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........................................................................................30
`
`5.3 USB Communication Flow ..................................................................................................................31
`5.3.1 Device Endpoints ............................................................................................................................32
`5.3.2
`Pipes................................................................................................................................................33
`
`5.4
`
`Transfer Types......................................................................................................................................35
`
`5.5 Control Transfers.................................................................................................................................36
`5.5.1
`Control Transfer Data Format .........................................................................................................36
`5.5.2
`Control Transfer Direction ..............................................................................................................37
`5.5.3
`Control Transfer Packet Size Constraints........................................................................................37
`5.5.4
`Control Transfer Bus Access Constraints........................................................................................38
`5.5.5
`Control Transfer Data Sequences....................................................................................................40
`
`Isochronous Transfers .........................................................................................................................41
`5.6
`5.6.1
`Isochronous Transfer Data Format..................................................................................................41
`5.6.2
`Isochronous Transfer Direction.......................................................................................................41
`5.6.3
`Isochronous Transfer Packet Size Constraints ................................................................................41
`5.6.4
`Isochronous Transfer Bus Access Constraints ................................................................................42
`5.6.5
`Isochronous Transfer Data Sequences.............................................................................................43
`
`Interrupt Transfers ..............................................................................................................................43
`5.7
`5.7.1
`Interrupt Transfer Data Format .......................................................................................................43
`5.7.2
`Interrupt Transfer Direction ............................................................................................................43
`5.7.3
`Interrupt Transfer Packet Size Constraints......................................................................................43
`5.7.4
`Interrupt Transfer Bus Access Constraints......................................................................................44
`5.7.5
`Interrupt Transfer Data Sequences ..................................................................................................46
`
`Bulk Transfers ......................................................................................................................................46
`5.8
`5.8.1
`Bulk Transfer Data Format .............................................................................................................47
`5.8.2
`Bulk Transfer Direction ..................................................................................................................47
`5.8.3
`Bulk Transfer Packet Size Constraints ............................................................................................47
`
`iv
`
`Petitioners Ex. 1008
`IPR USP 7,834,586
`Page 4 of 327
`
`
`
`Universal Serial Bus Specification Revision 1.1
`
`5.8.4
`5.8.5
`
`Bulk Transfer Bus Access Constraints ............................................................................................47
`Bulk Transfer Data Sequences ........................................................................................................48
`
`Bus Access for Transfers......................................................................................................................49
`5.9
`5.9.1
`Transfer Management......................................................................................................................49
`5.9.2
`Transaction Tracking.......................................................................................................................52
`5.9.3
`Calculating Bus Transaction Times.................................................................................................54
`5.9.4
`Calculating Buffer Sizes in Functions and Software.......................................................................55
`5.9.5
`Bus Bandwidth Reclamation ...........................................................................................................55
`
`5.10 Special Considerations for Isochronous Transfers............................................................................55
`5.10.1 Example Non-USB Isochronous Application..................................................................................56
`5.10.2 USB Clock Model ...........................................................................................................................59
`5.10.3 Clock Synchronization ....................................................................................................................61
`5.10.4 Isochronous Devices........................................................................................................................61
`5.10.5 Data Prebuffering ............................................................................................................................69
`5.10.6 SOF Tracking ..................................................................................................................................70
`5.10.7 Error Handling.................................................................................................................................70
`5.10.8 Buffering for Rate Matching ...........................................................................................................71
`
`CHAPTER 6 MECHANICAL.................................................................................... 73
`
`6.1 Architectural Overview........................................................................................................................73
`
`6.2 Keyed Connector Protocol...................................................................................................................73
`
`6.3 Cable......................................................................................................................................................74
`
`6.4 Cable Assembly.....................................................................................................................................74
`6.4.1 Detachable Cable Assemblies .........................................................................................................74
`6.4.2
`Full-speed Captive Cable Assemblies .............................................................................................76
`6.4.3
`Low-speed Captive Cable Assemblies ............................................................................................78
`6.4.4
`Prohibited Cable Assemblies...........................................................................................................80
`
`6.5 Connector Mechanical Configuration and Material Requirements ................................................80
`6.5.1 USB Icon Location..........................................................................................................................81
`6.5.2 USB Connector Termination Data ..................................................................................................82
`6.5.3
`Series “A” and Series “B” Receptacles ...........................................................................................82
`6.5.4
`Series “A” and Series “B” Plugs .....................................................................................................86
`
`6.6 Cable Mechanical Configuration and Material Requirements ........................................................90
`6.6.1 Description ......................................................................................................................................90
`6.6.2
`Construction ....................................................................................................................................91
`6.6.3
`Electrical Characteristics.................................................................................................................93
`6.6.4
`Cable Environmental Characteristics ..............................................................................................93
`6.6.5
`Listing .............................................................................................................................................94
`
`Electrical, Mechanical and Environmental Compliance Standards ................................................94
`6.7
`6.7.1 Applicable Documents ..................................................................................................................102
`
`6.8 USB Grounding ..................................................................................................................................102
`
`6.9
`
`PCB Reference Drawings...................................................................................................................102
`
`v
`
`Petitioners Ex. 1008
`IPR USP 7,834,586
`Page 5 of 327
`
`
`
`Universal Serial Bus Specification Revision 1.1
`
`CHAPTER 7 ELECTRICAL................................................................................... 107
`
`Signaling................................................................................................................... ...........................107
`7.1
`7.1.1 USB Driver Characteristics................................................................................................ ...........107
`7.1.2 Data Signal Rise and Fall ..............................................................................................................110
`7.1.3
`Cable Skew....................................................................................................................................112
`7.1.4
`Receiver Characteristics................................................................................................................112
`7.1.5 Device Speed Identification ..........................................................................................................113
`7.1.6
`Input Characteristics......................................................................................................................114
`7.1.7
`Signaling Levels............................................................................................................................115
`7.1.8 Data Encoding/Decoding ..............................................................................................................123
`7.1.9
`Bit Stuffing....................................................................................................................................124
`7.1.10 Sync Pattern ..................................................................................................................................126
`7.1.11 Data Signaling Rate.......................................................................................................................126
`7.1.12 Frame Interval and Frame Interval Adjustment ............................................................................126
`7.1.13 Data Source Signaling...................................................................................................................127
`7.1.14 Hub Signaling Timings .................................................................................................................128
`7.1.15 Receiver Data Jitter .......................................................................................................................130
`7.1.16 Cable Delay...................................................................................................................................132
`7.1.17 Cable Attenuation..........................................................................................................................133
`7.1.18 Bus Turn-around Time and Inter-packet Delay.............................................................................133
`7.1.19 Maximum End-to-end Signal Delay..............................................................................................133
`
`Power Distribution .............................................................................................................................134
`7.2
`7.2.1
`Classes of Devices.........................................................................................................................134
`7.2.2 Voltage Drop Budget ....................................................................................................................138
`7.2.3
`Power Control During Suspend/Resume.......................................................................................139
`7.2.4 Dynamic Attach and Detach..........................................................................................................140
`
`Physical Layer ....................................................................................................................................141
`7.3
`7.3.1
`Regulatory Requirements..............................................................................................................142
`7.3.2
`Bus Timing/Electrical Characteristics...........................................................................................142
`7.3.3
`Timing Waveforms .......................................................................................................................151
`
`CHAPTER 8 PROTOCOL LAYER ........................................................................ 155
`
`8.1
`
`Bit Ordering................................................................................................................ ........................155
`
`8.2
`
`SYNC Field .................................................................................................................. .......................155
`
`Packet Field Formats ........................................................................................................ .................155
`8.3
`8.3.1
`Packet Identifier Field ................................................................................................... ................155
`8.3.2 Address Fields............................................................................................................ ...................156
`8.3.3
`Frame Number Field ........................................................................................................ .............157
`8.3.4 Data Field......................................................................................................................................157
`8.3.5
`Cyclic Redundancy Checks...........................................................................................................158
`
`Packet Formats...................................................................................................................................158
`8.4
`8.4.1
`Token Packets ...............................................................................................................................159
`8.4.2
`Start-of-Frame Packets..................................................................................................................159
`8.4.3 Data Packets..................................................................................................................................160
`8.4.4 Handshake Packets........................................................................................................................160
`8.4.5 Handshake Responses ...................................................................................................................161
`
`vi
`
`Petitioners Ex. 1008
`IPR USP 7,834,586
`Page 6 of 327
`
`
`
`Universal Serial Bus Specification Revision 1.1
`
`Transaction Formats ..........................................................................................................................162
`8.5
`8.5.1
`Bulk Transactions..........................................................................................................................163
`8.5.2
`Control Transfers...........................................................................................................................164
`8.5.3
`Interrupt Transactions....................................................................................................................167
`8.5.4
`Isochronous Transactions ..............................................................................................................168
`
`8.6 Data Toggle Synchronization and Retry ..........................................................................................168
`8.6.1
`Initialization via SETUP Token ....................................................................................................169
`8.6.2
`Successful Data Transactions ........................................................................................................169
`8.6.3 Data Corrupted or Not Accepted...................................................................................................170
`8.6.4
`Corrupted ACK Handshake...........................................................................................................170
`8.6.5
`Low-speed Transactions................................................................................................................171
`
`Error Detection and Recovery...........................................................................................................172
`8.7
`8.7.1
`Packet Error Categories.................................................................................................................172
`8.7.2
`Bus Turn-around Timing...............................................................................................................172
`8.7.3
`False EOPs ....................................................................................................................................173
`8.7.4
`Babble and Loss of Activity Recovery..........................................................................................174
`
`CHAPTER 9 USB DEVICE FRAMEWORK ........................................................... 175
`
`9.1 USB Device States........................................................................................................... ....................175
`9.1.1 Visible Device States.....................................................................................................................175
`9.1.2
`Bus Enumeration ........................................................................................................... ................179
`
`9.2 Generic USB Device Operations .......................................................................................................180
`9.2.1 Dynamic Attachment and Removal...............................................................................................180
`9.2.2 Address Assignment......................................................................................................................180
`9.2.3
`Configuration ................................................................................................................................180
`9.2.4 Data Transfer.................................................................................................................................181
`9.2.5
`Power Management.......................................................................................................................181
`9.2.6
`Request Processing........................................................................................................................181
`9.2.7
`Request Error.................................................................................................................................182
`
`9.3 USB Device Requests..........................................................................................................................183
`9.3.1
`bmRequestType.............................................................................................................................183
`9.3.2
`bRequest........................................................................................................................................184
`9.3.3 wValue ..........................................................................................................................................184
`9.3.4 wIndex...........................................................................................................................................184
`9.3.5 wLength.........................................................................................................................................184
`
`Standard Device Requests..................................................................................................................185
`9.4
`9.4.1
`Clear Feature .................................................................................................................................188
`9.4.2 Get Configuration..........................................................................................................................189
`9.4.3 Get Descriptor ...............................................................................................................................189
`9.4.4 Get Interface..................................................................................................................................190
`9.4.5 Get Status ......................................................................................................................................190
`9.4.6
`Set Address....................................................................................................................................192
`9.4.7
`Set Configuration ..........................................................................................................................193
`9.4.8
`Set Descriptor................................................................................................................................193
`9.4.9
`Set Feature.....................................................................................................................................194
`9.4.10 Set Interface..............................................................................................