`Specification
`
`Compaq
`
`Digital Equipment Corporation
`
`IBM PC Company
`
`Intel
`
`Microsoft
`
`NEC
`
`Northern Telecom
`
`Revision 1.0
`January 15, 1996
`
`BLACKBERRY Ex. 1013, page 1
`
`
`
`Universal Serial Bus Specification Revision 1.0
`
`Scope of this Revision
`The 1.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
`
`Issue Date
`
`Comments
`
`Revision History
`
`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
`
`January 15, 1996
`
`Edits to Chapters 5, 6, 7, 8, 9, 10, and 11 for
`consistency.
`
`Proposal for Universal Serial Bus Specification
`Copyright © 1996, Compaq Computer Corporation, Digital Equipment Corporation,
`IBM PC Company, Intel Corporation, Microsoft Corporation, NEC, Northern Telecom.
`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 USB@fes.fm.intel.com
`For industry information, refer to the USB Implementers Forum web page at http://www.teleport.com/~USB
`
`2
`
`BLACKBERRY Ex. 1013, page 2
`
`
`
`Universal Serial Bus Specification Revision 1.0
`
`Contents
`
`CHAPTER 1 INTRODUCTION
`
`1.1 Motivation .......................................................................................................................................... 11
`
`1.2 Objective of the Specification............................................................................................................ 11
`
`1.3 Scope of the Document....................................................................................................................... 12
`
`1.4 Document Organization..................................................................................................................... 12
`
`CHAPTER 2 TERMS AND ABBREVIATIONS
`
`CHAPTER 3 BACKGROUND
`
`3.1 Goals for the Universal Serial Bus ................................................................................................ .... 23
`
`3.2 Taxonomy of Application Space........................................................................................................ 23
`
`3.3 Feature List........................................................................................................................................ 24
`
`3.4 Some Existing Technologies............................................................................................................... 26
`
`CHAPTER 4 ARCHITECTURAL OVERVIEW
`
`4.1 USB System Description .................................................................................................................... 27
`4.1.1 Bus Topology................................................................................................................................ 28
`
`4.2 Physical Interface............................................................................................................................... 29
`4.2.1 Electrical....................................................................................................................................... 29
`4.2.2 Mechanical ................................................................................................................................... 30
`
`4.3 Power.................................................................................................................................................. 30
`4.3.1 Power Distribution ........................................................................................................................ 30
`4.3.2 Power Management....................................................................................................................... 30
`
`4.4 Bus Protocol ....................................................................................................................................... 30
`
`4.5 Robustness.......................................................................................................................................... 31
`4.5.1 Error Detection ............................................................................................................................. 31
`4.5.2 Error Handling .............................................................................................................................. 31
`
`3
`
`BLACKBERRY Ex. 1013, page 3
`
`
`
`Universal Serial Bus Specification Revision 1.0
`
`4.6 System Configuration.........................................................................................................................31
`4.6.1 Attachment of USB Device ...........................................................................................................31
`4.6.2 Removal of USB Device ...............................................................................................................32
`4.6.3 Bus Enumeration...........................................................................................................................32
`4.6.4 Inter-Layer Relationship................................................................................................................32
`
`4.7 Data Flow Types.................................................................................................................................32
`4.7.1 Control Transfers ..........................................................................................................................33
`4.7.2 Bulk Transfers...............................................................................................................................33
`4.7.3 Interrupt Transfers.........................................................................................................................33
`4.7.4 Isochronous Transfers....................................................................................................................33
`4.7.5 Allocating USB Bandwidth ...........................................................................................................34
`
`4.8 USB Devices........................................................................................................................................34
`4.8.1 Device Characterizations...............................................................................................................34
`4.8.2 Device Descriptions ......................................................................................................................35
`
`4.9 USB Host: Hardware and Software .................................................................................................37
`
`4.10 Architectural Extensions..................................................................................................................37
`
`CHAPTER 5 USB DATA FLOW MODEL
`
`5.1 Implementer Viewpoints....................................................................................................................39
`
`5.2 Bus Topology......................................................................................................................................41
`5.2.1 USB Host ......................................................................................................................................41
`5.2.2 USB Devices.................................................................................................................................42
`5.2.3 Physical Bus Topology..................................................................................................................42
`5.2.4 Logical Bus Topology ...................................................................................................................43
`5.2.5 Client Software to Function Relationship ......................................................................................44
`
`5.3 USB Communication Flow.................................................................................................................44
`5.3.1 Device Endpoints ..........................................................................................................................46
`5.3.2 Pipes .............................................................................................................................................47
`
`5.4 Transfer Types ...................................................................................................................................49
`
`5.5 Control Transfers...............................................................................................................................50
`5.5.1 Data Format ..................................................................................................................................50
`5.5.2 Direction .......................................................................................................................................51
`5.5.3 Packet Size Constraints .................................................................................................................51
`5.5.4 Bus Access Constraints .................................................................................................................52
`5.5.5 Data Sequences .............................................................................................................................53
`
`5.6 Isochronous Transfers........................................................................................................................54
`5.6.1 Data Format ..................................................................................................................................54
`5.6.2 Direction .......................................................................................................................................54
`5.6.3 Packet Size Constraints .................................................................................................................54
`5.6.4 Bus Access Constraints .................................................................................................................55
`5.6.5 Data Sequences .............................................................................................................................56
`
`4
`
`BLACKBERRY Ex. 1013, page 4
`
`
`
`Universal Serial Bus Specification Revision 1.0
`
`5.7 Interrupt Transfers............................................................................................................................ 56
`5.7.1 Data Format .................................................................................................................................. 56
`5.7.2 Direction....................................................................................................................................... 56
`5.7.3 Packet Size Constraints ................................................................................................................. 56
`5.7.4 Bus Access Constraints ................................................................................................................. 57
`5.7.5 Data Sequences ............................................................................................................................. 58
`
`5.8 Bulk Transfers ................................................................................................................................... 58
`5.8.1 Data Format .................................................................................................................................. 59
`5.8.2 Direction....................................................................................................................................... 59
`5.8.3 Packet Size Constraints ................................................................................................................. 59
`5.8.4 Bus Access Constraints ................................................................................................................. 59
`5.8.5 Data Sequences ............................................................................................................................. 60
`
`5.9 Bus Access for Transfers ................................................................................................................... 61
`5.9.1 Transfer Management ................................................................................................................... 61
`5.9.2 Transaction Tracking .................................................................................................................... 64
`5.9.3 Calculating Bus Transaction Times............................................................................................... 65
`5.9.4 Calculating Buffer Sizes in Functions/Software............................................................................. 67
`5.9.5 Bus Bandwidth Reclamation ......................................................................................................... 67
`
`5.10 Special Considerations for Isochronous Transfers ......................................................................... 67
`5.10.1 Example Non-USB Isochronous Application............................................................................... 68
`5.10.2 USB Clock Model ....................................................................................................................... 71
`5.10.3 Clock Synchronization ................................................................................................................ 73
`5.10.4 Isochronous Devices.................................................................................................................... 73
`5.10.5 Data Prebuffering........................................................................................................................ 81
`5.10.6 SOF Tracking.............................................................................................................................. 82
`5.10.7 Error Handling ............................................................................................................................ 82
`5.10.8 Buffering for Rate Matching ....................................................................................................... 83
`
`CHAPTER 6 MECHANICAL
`
`6.1 Architectural Overview ..................................................................................................................... 85
`
`6.2 Dimensioning Requirements.............................................................................................................. 85
`
`6.3 Cable................................................................................................................................................... 86
`6.3.1 Cable Specification ....................................................................................................................... 86
`6.3.2 Connector (Series A)..................................................................................................................... 90
`6.3.3 Connector (Series B) ..................................................................................................................... 96
`6.3.4 Serial Bus Icon............................................................................................................................ 101
`6.3.5 Plug/Receptacle Mechanical and Electrical Requirements........................................................... 102
`
`6.4 Cable Voltage Drop Requirements.................................................................................................. 107
`
`6.5 Propagation Delay............................................................................................................................ 108
`
`6.6 Grounding ........................................................................................................................................ 108
`
`6.7 Regulatory Information................................................................................................................... 109
`
`5
`
`BLACKBERRY Ex. 1013, page 5
`
`
`
`Universal Serial Bus Specification Revision 1.0
`
`CHAPTER 7 ELECTRICAL
`
`7.1 Signaling ...........................................................................................................................................111
`7.1.1 USB Driver Characteristics .........................................................................................................111
`7.1.2 Receiver Characteristics ..............................................................................................................113
`7.1.3 Signal Termination......................................................................................................................114
`7.1.4 Signaling Levels..........................................................................................................................115
`7.1.5 Data Encoding/Decoding.............................................................................................................121
`7.1.6 Bit Stuffing .................................................................................................................................122
`7.1.7 Sync Pattern ................................................................................................................................123
`7.1.8 Initial Frame Interval and Frame Adjustability ............................................................................124
`7.1.9 Data Signaling Rate.....................................................................................................................124
`7.1.10 Data Signal Rise and Fall Time .................................................................................................124
`7.1.11 Data Source Signaling ...............................................................................................................125
`7.1.12 Hub Signaling Timings..............................................................................................................126
`7.1.13 Receiver Data Jitter ...................................................................................................................127
`7.1.14 Cable Delay...............................................................................................................................129
`7.1.15 Bus Turnaround Time/Interpacket Delay...................................................................................129
`7.1.16 Maximum End to End Signal Delay ..........................................................................................130
`
`7.2 Power Distribution...........................................................................................................................131
`7.2.1 Classes of Devices.......................................................................................................................131
`7.2.2 Voltage Drop Budget...................................................................................................................135
`7.2.3 Power Control During Suspend/Resume ......................................................................................136
`7.2.4 Dynamic Attach and Detach........................................................................................................136
`
`7.3 Physical Layer..................................................................................................................................137
`7.3.1 Environmental.............................................................................................................................137
`7.3.2 Bus Timing/Electrical Characteristics .........................................................................................138
`7.3.3 Timing Waveforms .....................................................................................................................142
`
`CHAPTER 8 PROTOCOL LAYER
`
`8.1 Bit Ordering .....................................................................................................................................145
`
`8.2 SYNC Field.......................................................................................................................................145
`
`8.3 Packet Field Formats .......................................................................................................................145
`8.3.1 Packet Identifier Field .................................................................................................................145
`8.3.2 Address Fields.............................................................................................................................146
`8.3.3 Frame Number Field ...................................................................................................................147
`8.3.4 Data Field ...................................................................................................................................147
`8.3.5 Cyclic Redundancy Checks .........................................................................................................147
`
`8.4 Packet Formats ................................................................................................................................148
`8.4.1 Token Packets .............................................................................................................................148
`8.4.2 Start of Frame Packets.................................................................................................................149
`8.4.3 Data Packets................................................................................................................................149
`8.4.4 Handshake Packets......................................................................................................................149
`8.4.5 Handshake Responses..................................................................................................................150
`
`6
`
`BLACKBERRY Ex. 1013, page 6
`
`
`
`Universal Serial Bus Specification Revision 1.0
`
`8.5 Transaction Formats........................................................................................................................ 152
`8.5.1 Bulk Transactions ....................................................................................................................... 152
`8.5.2 Control Transfers ........................................................................................................................ 153
`8.5.3 Interrupt Transactions ................................................................................................................. 155
`8.5.4 Isochronous Transactions ............................................................................................................ 156
`
`8.6 Data Toggle Synchronization and Retry ......................................................................................... 157
`8.6.1 Initialization via SETUP Token .................................................................................................. 157
`8.6.2 Successful Data Transactions ...................................................................................................... 157
`8.6.3 Data Corrupted or Not Accepted ................................................................................................. 158
`8.6.4 Corrupted ACK Handshake......................................................................................................... 158
`8.6.5 Low Speed Transactions ............................................................................................................. 159
`
`8.7 Error Detection and Recovery ........................................................................................................ 161
`8.7.1 Packet Error Categories............................................................................................................... 161
`8.7.2 Bus Turnaround Timing .............................................................................................................. 161
`8.7.3 False EOPs.................................................................................................................................. 162
`8.7.4 Babble and Loss of Activity Recovery ........................................................................................ 163
`
`CHAPTER 9 USB DEVICE FRAMEWORK
`
`9.1 USB Device States ............................................................................................................................ 165
`9.1.1 Visible Device States .................................................................................................................. 165
`9.1.2 Bus Enumeration......................................................................................................................... 169
`
`9.2 Generic USB Device Operations ..................................................................................................... 170
`9.2.1 Dynamic Attachment and Removal............................................................................................. 170
`9.2.2 Address Assignment.................................................................................................................... 170
`9.2.3 Configuration.............................................................................................................................. 170
`9.2.4 Data Transfer .............................................................................................................................. 171
`9.2.5 Power Management..................................................................................................................... 171
`
`9.3 USB Device Requests ....................................................................................................................... 172
`9.3.1 bmRequestType .......................................................................................................................... 172
`9.3.2 bRequest ..................................................................................................................................... 173
`9.3.3 wValue........................................................................................................................................ 173
`9.3.4 wIndex ........................................................................................................................................ 173
`9.3.5 wLength...................................................................................................................................... 173
`
`9.4 Standard Device Requests ............................................................................................................... 173
`9.4.1 Clear Feature............................................................................................................................... 176
`9.4.2 Get Configuration ....................................................................................................................... 176
`9.4.3 Get Descriptor............................................................................................................................. 176
`9.4.4 Get Interface ............................................................................................................................... 177
`9.4.5 Get Status.................................................................................................................................... 177
`9.4.6 Set Address ................................................................................................................................. 179
`9.4.7 Set Configuration ........................................................................................................................ 179
`9.4.8 Set Descriptor ............................................................................................................................. 179
`9.4.9 Set Feature .................................................................................................................................. 180
`9.4.10 Set Interface.............................................................................................................................. 180
`9.4.11 Synch Frame ............................................................................................................................. 180
`
`7
`
`BLACKBERRY Ex. 1013, page 7
`
`
`
`Universal Serial Bus Specification Revision 1.0
`
`9.5 Descriptors .......................................................................................................................................181
`
`9.6 Standard USB Descriptor Definitions .............................................................................................182
`9.6.1 Device.........................................................................................................................................182
`9.6.2 Configuration ..............................................................................................................................184
`9.6.3 Interface......................................................................................................................................185
`9.6.4 Endpoint......................................................................................................................................187
`9.6.5 String ..........................................................................................................................................188
`
`9.7 Device Class Definitions...................................................................................................................189
`9.7.1 Descriptors ..................................................................................................................................189
`9.7.2 Interface(s) and Endpoint Usage..................................................................................................189
`9.7.3 Requests......................................................................................................................................189
`
`9.8 Device Communications...................................................................................................................190
`9.8.1 Basic Communication Mechanisms.............................................................................................192
`
`CHAPTER 10 USB HOST: HARDWARE AND SOFTWARE
`
`10.1 Overview of the USB Host .............................................................................................................195
`10.1.2 Control Mechanisms..................................................................................................................198
`10.1.3 Data Flow..................................................................................................................................198
`10.1.4 Collecting Status and Activity Statistics ....................................................................................199
`