USB Type-C Specification Overview

advertisement
USB Developer Days 2015
USB Type-C™
Specification Overview
Developer Days 2015
Taipei
November 17 – 18, 2015
November 17 – 18, 2015
USB Implementers Forum © 2015
1
USB Developer Days 2015
Agenda: USB Type-C Specification Overview
• Overview
• Technical Solution and Requirements
•
•
•
•
•
•
Electro-Mechanical
Signals and Pin-out
Discovery and configuration
Power
Electronically Marked Cables
Functional Extensions
• Implementation Model
•
•
•
•
USB Type-C State Machine Operation
USB Type-C Port Chip Architecture and Interface
USB Power Delivery on USB Type-C
System Level Perspective
November 17 – 18, 2015
USB Implementers Forum © 2015
2
USB Developer Days 2015
Overview
• System Perspective
• Key Aspects and Characteristics
• Functional Highlights
Brad Saunders
Intel
November 17 – 18, 2015
USB Implementers Forum © 2015
3
USB Developer Days 2015
System Perspective
xHCI
Device
Class
Drivers
USB 2.0
USB 2.0
USB 3.1
USB 3.1
USB PD
USB PD
USB
Type-C
USB
Type-C
HOST
xHCI
Device
Class
Drivers
HUB
USB 2.0
USB 2.0
USB 2.0
USB PD
USB 3.1
USB
Type-C
USB PD
USB
Type-C
Device
HUB
USB PD
USB
Type-C
Device
USB PD
USB
Type-C
Charger
USB 2.0
USB 3.1
USB 2.0
USB 3.1
HUB
USB 2.0
USB 2.0
USB 3.1
Device
USB 2.0
Device
HUB
USB 2.0
BC 1.2
Charger
HOST
USB 3.1
November 17 – 18, 2015
USB 2.0
USB Implementers Forum © 2015
4
USB Developer Days 2015
USB Type-C Specification Structure
1. Normative References
•
•
•
•
•
USB 2.0 Specification
USB 3.1 Specification
USB Power Delivery Specification, Revision 2.0
USB Billboard Device Class Specification, Revision 1.0
USB Battery Charging Specification, Revision 1.2
These specs are the foundation
on which USB Type-C is defined
2. Overview
• Informative functional overview
3. Mechanical Requirements
• Connector and cable definitions
• Includes electro-mechanical performance requirements
4. Functional Requirements
• Pin and signal requirements
• Configuration channel requirements
• Power requirements
5. Functional Extensions
• Alternate Modes
• Managed Active Cables
November 17 – 18, 2015
USB Implementers Forum © 2015
5
USB Developer Days 2015
USB Type-C – Key Aspects
• Entirely new design
• Tailored for emerging product designs
• New smaller size
• Similar to size of USB 2.0 Micro-B
• Usability enhancements
• Reversible plug orientation & cable direction
USB 3.1
Type-C
• Supports scalable power charging
• Future Scalability
• Designed to establish future USB performance needs
Artist renderings courtesy of Foxconn
November 17 – 18, 2015
USB 3.1
Micro-B
USB Implementers Forum © 2015
6
USB Developer Days 2015
USB Type-C – General Characteristics
• Mechanical specs:
•
•
•
•
USB 3.1
Type-C
Receptacle opening: ~8.3mm x ~2.5mm
Durability: 10,000 cycles
Improved EMI and RFI mitigation features
Power delivery capacity: 3A for standard cables
5A for connectors
• Functional capabilities:
• USB 2.0: LS/FS/HS
• USB 3.1: Gen1 (5Gbps)/Gen2 (10Gbps)
• Enhanced power delivery options
USB 3.1
Type-C
• Extended 5V current ranges plus USB PD
• Docking support
USB 3.1
Standard-A
• USB PD-based interface configuration option
Artist renderings courtesy of Foxconn
November 17 – 18, 2015
USB Implementers Forum © 2015
USB 3.1
Micro-B
7
USB Developer Days 2015
USB Type-C Functional Highlights
• Flipping and swapping
• Both plug and cable orientation no longer keyed
• Hosts and devices require logic to resolve their roles for proper USB bus operation
• “Dual-role” products capable of host and device roles supported
• Lots of new pins
• Required to enable plug orientation flipping
• Offers path to higher performance and extensibility
• Two power sources
• VBUS – definition expanded with USB Type-C Current
• VCONN – a dedicated source for powering cable electronics
• Functional Extensions
• A USB-defined method for enabling innovation in the form of Alternate Modes and
Accessory Modes
• Functional support for identifying and managing passive and active cables
November 17 – 18, 2015
USB Implementers Forum © 2015
8
USB Developer Days 2015
Technical
Solution and
Requirements
• Electro-Mechanical
• Signals and Pin-out
• Discovery and configuration
• Power
• Electronically Marked Cables
• Functional Extensions
Brad Saunders
Intel
November 17 – 18, 2015
USB Implementers Forum © 2015
9
USB Developer Days 2015
USB Type-C Plug and Receptacle
2.56 mm
Implementation
Example
Implementation
Example
November 17 – 18, 2015
USB Implementers Forum © 2015
10
USB Developer Days 2015
USB Type-C Standard Cable Assemblies
• Two USB Type-C to Type-C cables defined
USB 3.1 Type-C to Type-C Cable Assembly
15 wires†
or
USB 2.0 Type-C to Type-C Cable Assembly
5 wires†
†Minimum number, count may differ depending on power/ground/shielding approach
Artist renderings courtesy of Foxconn
November 17 – 18, 2015
USB Implementers Forum © 2015
11
USB Developer Days 2015
Legacy Cable Assemblies and Adapters
The most common cables:
Plug 1
Plug 2
USB Version
Cable Length
Current Rating
A
C
USB 2.0
≤4m
3A
A
C
USB 3.1 (10 Gbps)
≤1m
3A
C
B
USB 2.0
≤4m
3A
C
B
USB 3.1 (10 Gbps)
≤1m
3A
C
Micro-B
USB 2.0
≤2m
3A
C
Micro-B
USB 3.1 (10 Gbps)
≤1m
3A
New devices with
legacy host
Legacy peripherals
with new host
The only defined adapters:
Plug
Receptacle
USB Version
Cable Length
Current Rating
C
Micro-B
USB 2.0
≤ 0.15 m
3A
C
A
USB 3.1 (5 Gbps)
≤ 0.15 m
3A
November 17 – 18, 2015
Legacy Micro-B chargers
with new devices
Legacy “thumb drives” with
new hosts
USB Implementers Forum © 2015
12
USB Developer Days 2015
Mechanical Robustness
Optional hold down strap
Plug wrenching
strength testing is
mandatory
Deep-drawn or
formed shell
Metal re-enforced tongue and tight
tolerance/fit between plug and
receptacle shells
• Durability cycle:
10,000 min
• Mating force:
5 N to 20 N
• Un-mating force:
8 N to 20 N
November 17 – 18, 2015
Side (Retention) Latch in plug
Recess on receptacle tongue
USB Implementers Forum © 2015
13
USB Developer Days 2015
Cable Assembly Insertion Loss Requirements
• USB 3.1 Gen 2 Type-C to Type-C cable assembly is allocated with −5.8 dB loss at 5
GHz, supporting a cable about 1-meter long
• Control the loss at 10 GHz (20 GHz) to be ≤ −11 dB for future scalability
• USB 3.1 Gen 1 Type-C to Type-C cable assembly is allocated with −7 dB loss at 2.5
GHz, supporting a cable about
2-meter long
Insertion loss
−5.8 dB
Raw cable may be coax or twisted pairs
November 17 – 18, 2015
USB Implementers Forum © 2015
14
USB Developer Days 2015
Other High Speed Requirements
• All SuperSpeed TDR impedance and S-parameters specs are informative,
except for Differential-to-Common-Mode Conversion
• The normative spec is the integrated S-parameters meet certain thresholds
Informative
Differential Return Loss
Informative
Differential NEXT
November 17 – 18, 2015
USB Implementers Forum © 2015
15
USB Developer Days 2015
Low Speed Signal Requirements
•
•
•
•
Pay attention to cable
wire bundle design!
Low speed signals include CC, SBU and VBUS
Impedance for CC is from 32 – 93 ohms, SBU is from 32 – 53 ohms
The VBUS line loop inductance is 900 nH max to manage load release
Couplings between low speed signals are specified
Requirement for Differential Coupling between CC and D+/D−
Requirement for Differential Coupling between V BUS and D+/D−
November 17 – 18, 2015
USB Implementers Forum © 2015
16
USB Developer Days 2015
EMC Shielding Solutions and Requirements
Internal EMC springs in plug
EMC pad in receptacle
Footprint
shielding
Normative shielding effectiveness test over
frequency ranges of interests
Optional external
EMC springs
November 17 – 18, 2015
USB Implementers Forum © 2015
17
USB Developer Days 2015
USB Type-C Signal Summary
Signal Group
USB 3.1
USB 2.0
Configuration
Auxiliary signals
Signal
SSTXp1, SSTXn1
SSRXp1, SSRXn1
SSTXp2, SSTXn2
SSRXp2, SSRXn2
SuperSpeed USB serial data interface: one transmit
diff pair and one receive diff pair
Two pin sets to enable plug flipping
Dp1, Dn1
USB 2.0 serial data interface
Dp2, Dn2
Two pin sets to enable plug flipping
CC1, CC2 (receptacle)
CC (plug)
SBU1, SBU2
VBUS
Power
Description
VCONN (plug)
GND
CC channel in the plug used for connection detect,
interface configuration and VCONN
Sideband Use
USB cable bus power
USB plug power
USB cable return current path
November 17 – 18, 2015
USB Implementers Forum © 2015
18
USB Developer Days 2015
USB Type-C Configuration Channel (CC)
 Detect attach of USB ports
 Establish “source” and “sink” roles between two attached ports
• Initially synonymous with “host” and “device” roles
 Discover and configure VBUS
 Discover and configure VCONN
 Resolve cable orientation and twist connections to establish USB
data bus routing
 Discover and configure optional Alternate and Accessory modes
November 17 – 18, 2015
USB Implementers Forum © 2015
19
USB Developer Days 2015
USB Type-C Functional Pin-out
Looking into the product receptacle:
Looking into the cable or product plug:
November 17 – 18, 2015
USB Implementers Forum © 2015
20
USB Developer Days 2015
USB Type-C Functional Model
Implementation without
Switch
Implementation with Switch
SSTX1
SSRX1
CC1
Host
USB

USB D+/−
CC Logic
& VCONN
Switch
CC2

This version of
the model
illustrates a
traditional
host to device
SSTX1
SSRX1

Device
USB
CC1
USB D+/−

SSTX2
SSRX2
MUX
USB Type-C
Receptacles
CC2
SSTX2
SSRX2
CC Logic
MUX
• Platform implementation impact varies based on capabilities
chosen and level of integration
November 17 – 18, 2015
USB Implementers Forum © 2015
21
USB Developer Days 2015
USB Type-C Functional Model
Implementation without
Switch
SSTX1
SSTX1
SSRX1
SSRX1
CC1
Host
USB
Implementation with Switch
Full-Featured Cable


USB D+/−
CC Logic
& VCONN
Switch
CC2
MUX
Device
USB
CC1
USB D+/−


CC2
SSTX2
SSTX2
SSRX2
SSRX2
CC Logic
MUX
USB Type-C Plugs
• CC wire determines orientation through the cable
November 17 – 18, 2015
USB Implementers Forum © 2015
22
USB Developer Days 2015
USB Type-C Functional Model
Implementation without
Switch
SSTX1
SSTX1
SSRX1
SSRX1
CC1
Host
USB
Implementation with Switch
Full-Featured Cable


USB D+/−
CC Logic
& VCONN
Switch
CC2
MUX
Device
USB
CC1
USB D+/−


CC2
SSTX2
SSTX2
SSRX2
SSRX2
CC Logic
MUX
•  Un-flipped straight through – Position   Position 
November 17 – 18, 2015
USB Implementers Forum © 2015
23
USB Developer Days 2015
USB Type-C Functional Model
Implementation without
Switch
SSTX1
SSTX1
SSRX1
SSRX1
CC1
Host
USB
Implementation with Switch
Full-Featured Cable


USB D+/−
CC Logic
& VCONN
Switch
CC2
MUX
Device
USB
CC1
USB D+/−


CC2
SSTX2
SSTX2
SSRX2
SSRX2
CC Logic
MUX
•  Un-flipped twisted through – Position   Position 
November 17 – 18, 2015
USB Implementers Forum © 2015
24
USB Developer Days 2015
USB Type-C Functional Model
Implementation without
Switch
SSTX1
SSTX1
SSRX1
SSRX1
CC1
Host
USB
Implementation with Switch
Full-Featured Cable


USB D+/−
CC Logic
& VCONN
Switch
CC2
MUX
Device
USB
CC1
USB D+/−


CC2
SSTX2
SSTX2
SSRX2
SSRX2
CC Logic
MUX
•  Flipped straight through – Position   Position 
November 17 – 18, 2015
USB Implementers Forum © 2015
25
USB Developer Days 2015
USB Type-C Functional Model
Implementation without
Switch
SSTX1
SSTX1
SSRX1
SSRX1
CC1
Host
USB
Implementation with Switch
Full-Featured Cable


USB D+/−
CC Logic
& VCONN
Switch
CC2
MUX
Device
USB
CC1
USB D+/−


CC2
SSTX2
SSTX2
SSRX2
SSRX2
CC Logic
MUX
•  Flipped twisted through – Position   Position 
November 17 – 18, 2015
USB Implementers Forum © 2015
26
USB Developer Days 2015
Direct Connect Functional Model
Implementation without
Switch
SSTX1
SSRX
SSRX1
SSTX
CC1
Host
USB
“Thumb Drive” Implementation

CC2
CC
USB D+/−
USB D+/−
CC Logic
& VCONN
Switch
Device
USB

USB Type-C
Plug
SSTX2
SSRX2
• Platform implementation impact varies based on capabilities
chosen and level of integration
November 17 – 18, 2015
USB Implementers Forum © 2015
27
USB Developer Days 2015
Direct Connect Functional Model
Implementation without
Switch
SSTX1
SSRX
SSRX1
SSTX
CC1
Host
USB
“Thumb Drive” Implementation

USB D+/−
USB D+/−
CC Logic
& VCONN
Switch
CC2
CC
Device
USB

SSTX2
SSRX2
•  Un-flipped – Position 
November 17 – 18, 2015
USB Implementers Forum © 2015
28
USB Developer Days 2015
Direct Connect Functional Model
Implementation without
Switch
“Thumb Drive” Implementation
SSTX1
SSRX1
CC1
Host
USB

USB D+/−
CC Logic
& VCONN
Switch
CC2
USB D+/−

CC
SSTX2
SSRX
SSRX2
SSTX
Device
USB
•  Flipped – Position 
November 17 – 18, 2015
USB Implementers Forum © 2015
29
USB Developer Days 2015
Understanding USB Type-C port behaviors
• Power roles:
• Source – typical of Standard-A host or hub ports
• Sink – typical of Standard-B or Micro-B device ports
• Dual-Role Power – can be either a Source or a Sink
• Data roles:
• DFP-mode only – typical of Standard-A host or hub ports
• UFP-mode only – typical of Standard-B or Micro-B device ports
• Dual-Role Data – typical of “on-the-go” ports
• Roles can be dynamically swapped using USB PD
• Power role swap, data role swap
November 17 – 18, 2015
USB Implementers Forum © 2015
30
USB Developer Days 2015
USB Type-C – Pull-Up/Pull-Down CC Model
• Host side can substitute current sources for Rp
• Powered cables introduce Ra at the “unwired” CC pins which are used
to indicate the need for VCONN over one of those pins
November 17 – 18, 2015
USB Implementers Forum © 2015
31
USB Developer Days 2015
USB Type-C – Source (Host) Detected Connection States
No device attached
Most common
states
 Not flipped
Device attached
 Flipped
The CC pins magic decoder ring from the Source perspective
November 17 – 18, 2015
USB Implementers Forum © 2015
32
USB Developer Days 2015
Source-Only Functional Model for CC1/CC2
• Defaults to being a
power Source and USB
host
• No support for USB PD
power or data role swaps
• Rp used to sense Sink
attach and advertise
USB Type-C Current
November 17 – 18, 2015
USB Implementers Forum © 2015
33
USB Developer Days 2015
Source-Only Connection State Diagram
• Mandatory states:
• Unattached.SRC
• AttachWait.SRC
• Attached.SRC
• Optional states (not shown):
• Disabled
• ErrorRecovery
• Accessory states
November 17 – 18, 2015
USB Implementers Forum © 2015
34
USB Developer Days 2015
Sink-Only Functional Model for CC1/CC2
• Defaults to being a
power Sink and USB
device
• No support for USB PD
power or data role swaps
• Rd allows Source to
sense Sink attach and
advertise USB Type-C
Current
November 17 – 18, 2015
USB Implementers Forum © 2015
35
USB Developer Days 2015
Sink-Only Connection State Diagram
• Mandatory states:
• Unattached.SNK
• AttachWait.SNK
• Attached.SNK
• Optional states (not shown):
• Disabled
• ErrorRecovery
• Accessory states
November 17 – 18, 2015
USB Implementers Forum © 2015
36
USB Developer Days 2015
Source-Only Meets Sink-Only
Source
Full-Featured Cable
(showing CC and power only)
November 17 – 18, 2015
Sink
USB Implementers Forum © 2015
37
USB Developer Days 2015
DRP Functional Model for CC1/CC2
• DRP = Source + Sink
• Aligns to correct role based
on whatever gets attached
• For discovery, toggles
between presenting as a
Source or Sink
• Cycles 10 – 20 times per
second
November 17 – 18, 2015
USB Implementers Forum © 2015
38
USB Developer Days 2015
DRP Connection State Diagram
• Mandatory states:
•
•
•
•
•
•
Unattached.SNK
AttachWait.SNK
Attached.SNK
Unattached.SRC
AttachWait.SRC
Attached.SRC
Source role
Sink role
• Optional states (not shown):
•
•
•
•
Disabled
ErrorRecovery
Accessory States
Try States
November 17 – 18, 2015
USB Implementers Forum © 2015
39
USB Developer Days 2015
Source-Only meets DRP  DRP resolves to Sink
Source
Full-Featured Cable
(showing CC and power only)
November 17 – 18, 2015
DRP
USB Implementers Forum © 2015
40
USB Developer Days 2015
DRP meets Sink-Only  DRP resolves to Source
DRP
Full-Featured Cable
(showing CC and power only)
November 17 – 18, 2015
Sink
USB Implementers Forum © 2015
41
USB Developer Days 2015
DRP meets DRP
• Interesting situation 
• The final result depends on multiple factors:
• Randomness within the toggle protocol
• Product configuration
• User preferences
dcSRC.DRP ∙ tDRP
tDRPTransition
Expose as Source
Expose as Sink
tDRPTransition
tDRP
November 17 – 18, 2015
USB Implementers Forum © 2015
42
USB Developer Days 2015
DRP meets DRP  DRPs resolving to opposites
DRP as a Source
Full-Featured Cable
(showing CC and power only)
November 17 – 18, 2015
DRP as a Sink
USB Implementers Forum © 2015
43
USB Developer Days 2015
But what if DRP #2 would prefer being a Source?
• Upon initial connection, DRPs have one time option to forces a role
swap via the state machine
Try.SRC for DRP in Sink to direct
the other DRP to switch to Sink
Try.SNK for DRP in Source to direct
the other DRP to switch to Source
November 17 – 18, 2015
USB Implementers Forum © 2015
44
USB Developer Days 2015
USB Host Supporting USB PD Source/Sink
• Supports USB PD data
and power role swaps
• Normally Rp is presented
• If the USB Host requires
power to operate (e.g.
dead battery case),
present Rd and
subsequently use USB PD
to swap data roles
November 17 – 18, 2015
USB Implementers Forum © 2015
45
USB Developer Days 2015
USB Device Supporting USB PD Sink/Source
• Supports USB PD data
and power role swaps
• Normally Rd is
presented
• If the USB Device is able
to charge a Host with
dead battery, it
periodically presents Rp
November 17 – 18, 2015
USB Implementers Forum © 2015
46
USB Developer Days 2015
Adapting for Legacy Devices
Source
Legacy Device Adapter
Standard-B
Micro-B
Mini-B
Standard-A
receptacle
November 17 – 18, 2015
USB Implementers Forum © 2015
47
USB Developer Days 2015
Adapting for Legacy Hosts/Chargers
Legacy Host Adapter
Sink
Standard-A
Micro-B
receptacle
November 17 – 18, 2015
USB Implementers Forum © 2015
48
USB Developer Days 2015
USB Type-C Power
• All solutions required to support Default USB Power appropriate to product
– as defined by USB 2.0 and USB 3.1
Precedence
Highest
↓
Lowest
Mode of Operation
Nominal Voltage
Maximum Current
Configurable
5A
USB Type-C Current @ 3.0 A
5V
3.0 A
USB Type-C Current @ 1.5 A
5V
1.5 A
USB BC 1.2
5V
Up to 1.5 A
USB 3.1
5V
900 mA
USB 2.0
5V
500 mA
USB PD
Default USB Power
• USB Type-C Current @ 1.5 A and 3.0 A – preferred alternative to using
BC 1.2 for mobile devices
November 17 – 18, 2015
USB Implementers Forum © 2015
49
USB Developer Days 2015
USB Type-C Current
Sink Power
Sub-States
• Source advertises level of USB Type-C
Current available
• Sink may optionally draw higher current at 5V
when available and shall return to lower draw
levels when Source advertises less
Source sets Rp value
to set advertisement
+
Rp
Rp
Cable
CC
Sink monitors for
current advertisement
Rd
Rd
November 17 – 18, 2015
USB Implementers Forum © 2015
50
USB Developer Days 2015
USB Power Delivery (PD) on USB Type-C
• USB PD 2.0 specifies DC-coupled
Biphase Mark Coding (BMC) signal
encoding for use over CC
November 17 – 18, 2015
USB Implementers Forum © 2015
51
USB Developer Days 2015
Rp, Rd and Ra Termination Requirements
• Value and interpretations ranges were impacted by USB Type-C
Current and USB PD operating over CC
Source CC
Termination (Rp)
Requirements:
Rp-USB
Rp-1.5
Rp-3.0
Sink CC Termination
(Rd) Requirements:
Powered Cable Termination
(Ra) Requirements:
November 17 – 18, 2015
USB Implementers Forum © 2015
52
USB Developer Days 2015
Sink Interpretation of CC Voltages
• For a traditional Sink
(Default USB Type-C Current
only):
• A single connect threshold
differentiates the CC to the
Source from a powered cable
termination
Source’s CC
Sink’s CC
2.18 V
Rp-USB
Default USB Type-C Current
• Due to potential for up to
250 mV DC loss in the cable
ground, CC voltage may drop
to −0.25 V
Ra
0.25 V
0.15 V
Threshold = 0.20 V
−0.25 V
November 17 – 18, 2015
USB Implementers Forum © 2015
53
USB Developer Days 2015
Sink Interpretation of CC Voltages
• For a Sink that supports
multiple USB Type-C Current
ranges:
• A single connect threshold
differentiates the CC to the
Source from a powered cable
termination
• Additional connect thresholds
differentiate current levels
Source’s CC
Sink’s CC
2.04 V
Rp-3.0
USB Type-C Current @ 3.0 A
1.31 V
Rp-1.5
Rp-USB
Ra
1.16 V
Threshold = 1.23 V
USB Type-C Current @ 1.5 A
0.70 V
0.61 V
Threshold = 0.66 V
Default USB Type-C Current
0.25 V
0.15 V
Threshold = 0.20 V
−0.25 V
November 17 – 18, 2015
USB Implementers Forum © 2015
54
USB Developer Days 2015
Electronically Marked Cables
• All USB 3.1 Type-C
cables require
electronic marking
Source
Sink
• Also required for
USB 2.0 Type-C
cables with a
current rating
over 3 A
• Electronic marking mechanism defined in USB PD 2.0
• Electronically marked cable limited to drawing 70 mW from VCONN
November 17 – 18, 2015
USB Implementers Forum © 2015
55
USB Developer Days 2015
Active Cables
• An active cable is defined as an electronically marked cable with data
bus signal conditioning circuits – Typically used for implementing
longer cables
• Communicating with managed active cables defined in USB PD 2.0
• Limited to drawing 1 W from Vconn
Attend Wednesday session on
USB 3.1 Repeaters and Active Cables to learn more
November 17 – 18, 2015
USB Implementers Forum © 2015
56
USB Developer Days 2015
USB Type-C Functional Extensions
• Alternate Modes – enabling OEM product differentiation
• Use of USB PD Structured Vendor Defined Messages (VDMs) to extend the
functionality a device exposes
• Only a subset of the pins can be re-purposed depending on product type
Looking into the cable or product plug:
All USB Type-C ports are required to function as compliant USB ports
when not operating in a recognized Alternate Mode
November 17 – 18, 2015
USB Implementers Forum © 2015
57
USB Developer Days 2015
Vendor-Specific and Standard Alternate Modes
• Vendor-Specific Alternate Modes are specific to a Vendor ID (VID)
• Intended for docking and other vendor proprietary designs
• Standard Alternate Modes are specific to a Standard ID (SID)
• Intended for industry standards that have agreements to use USB Type-C
• Only two exist today:
• DisplayPort Alt Mode on USB Type-C  spec by VESA
• MHL Alt Mode on USB Type-C  spec by MHL Consortium
• USB Billboard Device Class
• Used to identify incompatible connections made by users
• This interface will appear on the device’s USB 2.0 bus when Alternate Modes
are unable to be negotiated between the host and device
November 17 – 18, 2015
USB Implementers Forum © 2015
58
USB Developer Days 2015
Implementation
Model
• USB Type-C State Machine
Operation
• USB Type-C Port Chip Architecture
and Interface
• USB Power Delivery on USB Type-C
• System Level Perspective
Bob Dunstan
Intel
November 17 – 18, 2015
USB Implementers Forum © 2015
59
USB Developer Days 2015
USB Type-C State Machine Operation
• Numerous updates since USB Type-C Revision 1.0
• State machines re-oriented toward a Source/Sink model
• Sources use vRd for attach/detach, Sinks use VBUS for attach/detach
• Improved operation to be more robust
• Added AttachWait States for Sources and Sinks
• Try.SRC operation
• Powered accessory operation
• New features
• Try.SNK being added
• Areas of clarification
• PR_Swap, DR_Swap and VCONN_Swap
November 17 – 18, 2015
USB Implementers Forum © 2015
60
USB Developer Days 2015
AttachWait.SRC and AttachWait.SNK
• These states were added to
solve the following:
Since both the Source and Sink toggle
independently, the unattached
Source can detect a Sink at the same
time that the Sink, not seeing the
Source, tries to become a Source
• AttachWait provides a settling
time to assure that the
connection is made
November 17 – 18, 2015
USB Implementers Forum © 2015
61
USB Developer Days 2015
Try.SRC State Machine
• Enables a DRP as a Sink
to optionally direct a
DRP as a Source to
swap roles at attach
(one time only)
Directed from
any state
Directed from
any state
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Connection
Detected
Unattached.SNK
Source
Detected
Source Removed
for tPDDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
62
USB Developer Days 2015
Try.SRC Operation
Directed from
any state
DRP #2
Directed from
any state
DRP #1
Directed from
any state
DRP Toggle
Dead
Battery
Connection
Detected
Source
Detected
Source
Removed
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
USB PD PR_Swap
was accepted
Received PS_RDY
from original Source
for USB PD PR_Swap
DRP Toggle
Source
Detected
Sink Detected for
tCCDebounce
Attached.SRC
Connection
Detected
Source Removed
for tPDDebounce
AttachWait.SRC
Sink
Removed
Unattached.SRC
Unattached.SNK
Unattached.SNK
Connection
Removed
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Directed from
any state
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
63
USB Developer Days 2015
Try.SRC Operation
Directed from
any state
DRP #2
Directed from
any state
DRP #1
Directed from
any state
DRP Toggle
Dead
Battery
Connection
Detected
Source
Detected
Source
Removed
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
USB PD PR_Swap
was accepted
Received PS_RDY
from original Source
for USB PD PR_Swap
DRP Toggle
Source
Detected
Sink Detected for
tCCDebounce
Attached.SRC
Connection
Detected
Source Removed
for tPDDebounce
AttachWait.SRC
Sink
Removed
Unattached.SRC
Unattached.SNK
Unattached.SNK
Connection
Removed
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Directed from
any state
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
64
USB Developer Days 2015
Try.SRC Operation
Directed from
any state
DRP #2
Directed from
any state
DRP #1
Directed from
any state
DRP Toggle
Dead
Battery
Connection
Detected
Source
Detected
Source
Removed
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
USB PD PR_Swap
was accepted
Received PS_RDY
from original Source
for USB PD PR_Swap
DRP Toggle
Source
Detected
Sink Detected for
tCCDebounce
Attached.SRC
Connection
Detected
Source Removed
for tPDDebounce
AttachWait.SRC
Sink
Removed
Unattached.SRC
Unattached.SNK
Unattached.SNK
Connection
Removed
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Directed from
any state
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
65
USB Developer Days 2015
Try.SRC Operation
Directed from
any state
DRP #2
Directed from
any state
DRP #1
Directed from
any state
DRP Toggle
Dead
Battery
Connection
Detected
Source
Detected
Source
Removed
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
USB PD PR_Swap
was accepted
Received PS_RDY
from original Source
for USB PD PR_Swap
DRP Toggle
Source
Detected
Sink Detected for
tCCDebounce
Attached.SRC
Connection
Detected
Source Removed
for tPDDebounce
AttachWait.SRC
Sink
Removed
Unattached.SRC
Unattached.SNK
Unattached.SNK
Connection
Removed
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Directed from
any state
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
66
USB Developer Days 2015
Try.SRC Operation
Directed from
any state
DRP #2
Directed from
any state
DRP #1
Directed from
any state
DRP Toggle
Dead
Battery
Connection
Detected
Source
Detected
Source
Removed
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
USB PD PR_Swap
was accepted
Received PS_RDY
from original Source
for USB PD PR_Swap
DRP Toggle
Source
Detected
Sink Detected for
tCCDebounce
Attached.SRC
Connection
Detected
Source Removed
for tPDDebounce
AttachWait.SRC
Sink
Removed
Unattached.SRC
Unattached.SNK
Unattached.SNK
Connection
Removed
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Directed from
any state
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
67
USB Developer Days 2015
Try.SRC Operation
Directed from
any state
DRP #2
Directed from
any state
DRP #1
Directed from
any state
DRP Toggle
Dead
Battery
Connection
Detected
Source
Detected
Source
Removed
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
USB PD PR_Swap
was accepted
Received PS_RDY
from original Source
for USB PD PR_Swap
DRP Toggle
Source
Detected
Sink Detected for
tCCDebounce
Attached.SRC
Connection
Detected
Source Removed
for tPDDebounce
AttachWait.SRC
Sink
Removed
Unattached.SRC
Unattached.SNK
Unattached.SNK
Connection
Removed
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Directed from
any state
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
68
USB Developer Days 2015
Try.SRC Operation
Directed from
any state
DRP #2
Directed from
any state
DRP #1
Directed from
any state
DRP Toggle
Dead
Battery
Connection
Detected
Source
Detected
Source
Removed
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
USB PD PR_Swap
was accepted
Received PS_RDY
from original Source
for USB PD PR_Swap
DRP Toggle
Source
Detected
Sink Detected for
tCCDebounce
Attached.SRC
Connection
Detected
Source Removed
for tPDDebounce
AttachWait.SRC
Sink
Removed
Unattached.SRC
Unattached.SNK
Unattached.SNK
Connection
Removed
DRP Toggle
Dead
Battery
Unattached.SRC
DRP Toggle
Directed from
any state
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
69
USB Developer Days 2015
Try.SRC Operation
Directed
from any
state
Source
Directed from
any state
DRP
Directed from
any state
DRP Toggle
Dead
Battery
DRP Toggle
Connection
Detected
Unattached.SNK
Unattached.SRC
Connection
Detected
Connection
Removed
Unattached.SRC
Source
Detected
AttachWait.SRC
Sink Detected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Sink
Removed
Attached.SRC
Source Removed
for tPDDebounce
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
70
USB Developer Days 2015
Try.SRC Operation
Directed
from any
state
Source
Directed from
any state
DRP
Directed from
any state
DRP Toggle
Dead
Battery
DRP Toggle
Connection
Detected
Unattached.SNK
Unattached.SRC
Connection
Detected
Connection
Removed
Unattached.SRC
Source
Detected
AttachWait.SRC
Sink Detected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Sink
Removed
Attached.SRC
Source Removed
for tPDDebounce
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
71
USB Developer Days 2015
Try.SRC Operation
Directed
from any
state
Source
Directed from
any state
DRP
Directed from
any state
DRP Toggle
Dead
Battery
DRP Toggle
Connection
Detected
Unattached.SNK
Unattached.SRC
Connection
Detected
Connection
Removed
Unattached.SRC
Source
Detected
AttachWait.SRC
Sink Detected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Sink
Removed
Attached.SRC
Source Removed
for tPDDebounce
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
72
USB Developer Days 2015
Try.SRC Operation
Directed
from any
state
Source
Directed from
any state
DRP
Directed from
any state
DRP Toggle
Dead
Battery
DRP Toggle
Connection
Detected
Unattached.SNK
Unattached.SRC
Connection
Detected
Connection
Removed
Unattached.SRC
Source
Detected
AttachWait.SRC
Sink Detected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Sink
Removed
Attached.SRC
Source Removed
for tPDDebounce
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
73
USB Developer Days 2015
Try.SRC Operation
Directed
from any
state
Source
Directed from
any state
DRP
Directed from
any state
DRP Toggle
Dead
Battery
DRP Toggle
Connection
Detected
Unattached.SNK
Unattached.SRC
Connection
Detected
Connection
Removed
Unattached.SRC
Source
Detected
AttachWait.SRC
Sink Detected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Sink
Removed
Attached.SRC
Source Removed
for tPDDebounce
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
74
USB Developer Days 2015
Try.SRC Operation
Directed
from any
state
Source
Directed from
any state
DRP
Directed from
any state
DRP Toggle
Dead
Battery
DRP Toggle
Connection
Detected
Unattached.SNK
Unattached.SRC
Connection
Detected
Connection
Removed
Unattached.SRC
Source
Detected
AttachWait.SRC
Sink Detected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Sink
Removed
Attached.SRC
Source Removed
for tPDDebounce
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
75
USB Developer Days 2015
Try.SRC Operation
Directed
from any
state
Source
Directed from
any state
DRP
Directed from
any state
DRP Toggle
Dead
Battery
DRP Toggle
Connection
Detected
Unattached.SNK
Unattached.SRC
Connection
Detected
Connection
Removed
Unattached.SRC
Source
Detected
AttachWait.SRC
Sink Detected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Sink
Removed
Attached.SRC
Source Removed
for tPDDebounce
Attached.SNK
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
Connection
Removed AttachWait.SRC
tCCDebounce
and VBUS
Detected
Try.SRC
Source not
Detected for
tPDDebounce
tCCDebounce
and VBUS
Detected
Connection
Detected for
tPDDebounce
tDRPTry
and no
Connection
Detected
Sink
Removed
Sink Dectected for
tCCDebounce
Attached.SRC
Sink
Removed
TryWait.SNK
USB PD PR_Swap
was accepted
USB Implementers Forum © 2015
76
USB Developer Days 2015
Directed from
any state
Try.SNK State Machine
• Enables a DRP as a
Source to optionally
direct a DRP as a Sink
to swap roles at attach
(one time only)
Directed from
any state
DRP Toggle
Dead
Battery
Unattached.SRC
Connection
Detected
DRP Toggle
Connection
Removed
Unattached.SNK
Source
Detected
Source Removed
for tPDDebounce
Source Detected
for tPDDebounce
and VBUS
Detected
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
AttachWait.SRC
Sink Detected for
tCCDebounce and
prefer to be sink
Sink Detected for
tCCDebounce
Try.SNK
Source not
Detected for
tPDDebounce
after tDRPTry
Sink
Removed
Attached.SRC
USB PD PR_Swap
was accepted
tDRPTry and
Sink Detected for
Sink not
Detected TryWait.SRC tPDDebounce
Received PS_RDY
from original Source
for USB PD PR_Swap
November 17 – 18, 2015
USB Implementers Forum © 2015
77
USB Developer Days 2015
Powered Accessories
• Powered Accessories =
VCONN Powered
Accessories
• Added AttachWait state
to improve robustness
Directed from
any state
Directed
from any
state
Dead
Battery
Accessory
Toggle
Accessory
Toggle
Unattached
.Accessory
Accessory
Detected
Unattached.SNK
Source
Detected
Accessory
Removed
Source
Removed
PowAcc
Dectected for
tCCDebounce
AttachWait.SNK
VBUS
Removed
tCCDebounce
and VBUS
Detected
Attached.SNK
November 17 – 18, 2015
AttachWait
.Accessory
PowAcc
Removed
Unsupported
.Accessory
PowAcc
Removed or
not PowAcc
Powered
Accessory
Alternate Mode
Failed
USB Implementers Forum © 2015
78
USB Developer Days 2015
USB Type-C Port Controller
• CC logic
•
•
•
•
Detect attach/detach
Connector Orientation
USB Type-C Current detection
MUX control
• PD PHY
• Intimately coupled with the CC logic
• GoodCRC and other time critical PD functions
• May contain
• Protocol /device policy depending on partitioning
November 17 – 18, 2015
USB Implementers Forum © 2015
79
USB Developer Days 2015
USB Type-C Port Controller Interface (TCPCI)
• Interface between the USB Type-C Port Manager
and a USB Type-C Port Controller
Type-C Port Manager
• USB Type-C Port Controller
Policy Engine
• Port Power Control for
VBUS and VCONN
• CC Function
• GPIOs for simplified
external interfacing
(optional)
TCPM Interface
Protocol Layer
I2C Master
I2C Slave
I2C Slave
I2C Slave
Tx/Rx Buffer
Tx/Rx Buffer
Tx/Rx Buffer
GoodCRC / Retry
GoodCRC / Retry
GoodCRC / Retry
Physical Layer
Physical Layer
Physical Layer
Type-C CC Logic
Type-C CC Logic
Type-C CC Logic
Type-C Port Controller
Type-C Port Controller
Type-C Port Controller
November 17 – 18, 2015
USB Implementers Forum © 2015
80
USB Developer Days 2015
USB Type-C Features Supported
• Capabilities Reporting
• Roles Supported
• Source only, Sink only, Sink with accessory support, DRP only, Configurable Source, Sink,
DRP, Adapter/Cable all supported
• Source Resistor Supported
• Rp default, Rp 1.5A, 3A
•
•
•
•
•
5V Source/Sink
High Voltage Source
Source VCONN
VBUS OVP/OCP Reporting
Sink Disconnect Detection
November 17 – 18, 2015
USB Implementers Forum © 2015
81
USB Developer Days 2015
USB Type-C Features Supported
• CC Role Control
• CC Status
• Power Control
• Power Status
• CC1/CC2 apply Rp or Rd or Open
• Rp value (default, 1.5A, 3A)
• DRP – toggle or use CC1/CC2
•
•
•
•
•
•
• CC1/CC2 State
• DRP Connect Result (Rp or Rd)
• Looking4Connection (DRP)
Enable VCONN
VCONN power 1W or different
Force Discharge
Bleed Discharge
Auto Discharge on Disconnect
Voltage Alarms
• Fault Control
•
•
•
•
•
•
• VCONN Over Current Fault
• Internal or External Over Voltage Protection Fault
• Internal or External Over Current Protection
Fault
• Force Off VBUS
VCONN present
VBUS present
Sourcing VBUS
Sourcing high voltage
Sinking VBUS
TCPC Initialization Status
• Fault Status
• VCONN Over Current Fault
• Internal or External Over Voltage Protection Fault
• Internal or External Over Current Protection
Fault
• Force Discharge Failed
• Auto Discharge Failed
• Force Off VBUS
November 17 – 18, 2015
USB Implementers Forum © 2015
82
USB Developer Days 2015
Port Controller Trends
• Vendors are offering several SKUs of USB Type-C interface silicon
Policy
Protocol
“TCPC version” includes
only time-critical portion
of the Protocol Layer
“Full version”
PHY
Hardware
(USB Type-C’s CC & VBUS pins)
November 17 – 18, 2015
USB Implementers Forum © 2015
83
USB Developer Days 2015
Example Architecture of a PD Device
• USB Type-C Port Controller Interface
(TCPCI)
November 17 – 18, 2015
UFP VDM
Policy
DFP VDM
DevicePM
PD Sink
• Modules to manage power as a Source and
a Sink
• Modules to manage behavior/configuration
as an Alternate Mode device
UCSI
PD Source
• USB Type-C Software Interface (UCSI) to
the system
• Device Level Policy Manager
TCPCI
USB Implementers Forum © 2015
84
USB Developer Days 2015
Multi-Port Management Example
UFP VDM
Policy
Policy Engine
Microcontroller
DFP VDM
DevicePM
PD Sink
PD Source
UCSI
TCPCI
I2C
Port Controller 0
TCPC
Port Controller 1
TCPC
November 17 – 18, 2015
Port Controller 2
TCPC
USB Implementers Forum © 2015
85
USB Developer Days 2015
TCPCI
I2C
TCPC
Policy
Register I/F
Register I/F
Protocol
Protocol
PHY
PHY
November 17 – 18, 2015
DFP VDM
Policy
PD Sink
Policy
PD Source
DevicePM
UFP VDM
DevicePM
DFP VDM
DevicePM
PD Sink
UCSI
PD Source
UCSI
UFP VDM
UCSI
DFP VDM
Display Port Dongle
PD Sink
Power Brick
PD Source
Tablet/Notebook (DRP)
USB Implementers Forum © 2015
UFP VDM
Example Architectures for Tablet & Peripherals
86
USB Developer Days 2015
USB PD Optimized for USB Type-C
• PD signaling over USB Type-C CC wire
• Separate from power line
• No inductor or modem components as needed by BFSK
• VDM concept
• Unstructured VDM
• Structured VDMs to support USB Type-C Alternate Modes and Electronically Marked cables
• Multi-drop capability
• Support USB Type-C Electronically Marked and active cables
• Swapping data roles and port sourcing VCONN
• And continues to Manage Power
• Enables voltage and current values to be negotiated
• Enables higher voltage and current in order to deliver power up to almost 100W
• Limits to match cable capabilities
• Upper limit bound by international safety requirements
• Switchable source of power delivery without changing cable direction
• Coexists with USB Battery Charging 1.2 and USB Type-C Current
November 17 – 18, 2015
USB Implementers Forum © 2015
87
USB Developer Days 2015
USB PD Overview
• Communication is
port to port
• No dependence on
USB communications
• Over CC wire
• V/I/direction negotiated
• Cable Capability Detection
Sink
Source
Device Policy Manager
Device Policy Manager
Source Port
Sink Port
Policy Engine
Protocol
USB-C Control
Policy Engine
Power
Sink
Power
Source(s)
Protocol
Physical Layer
Physical Layer
BMC
BMC
USB-C Control
USB Port
USB Port
CC
VBUS
VBUS
CC
VBUS
• Electronically marked cables
CC
• Connectors
• USB Type-C connectors rated for 5A
• USB Type-C cables rated for 3A or 5A
November 17 – 18, 2015
USB Implementers Forum © 2015
88
USB Developer Days 2015
USB PD on USB Type-C
• USB PD 2.0 specifies DC-coupled
Biphase Mark Coding (BMC) signal
encoding for use over CC
November 17 – 18, 2015
USB Implementers Forum © 2015
89
USB Developer Days 2015
USB PD Tx and Rx Masks
• Source Tx as seen by the Sink Rx will have an offset down to -250mV
• Sink Tx as seen by the Source Rx will have an offset up to +250mV
• Pay careful attention to the Tx and Rx masks
Rx Mask – Sourcing Power
Rx Mask – Sinking Power
November 17 – 18, 2015
USB Implementers Forum © 2015
90
USB Developer Days 2015
Multi-drop for Communicating with Cables
Host
VCONN
Cable Plug
(Host side)
Electronically Marked Cable
Cable Plug
(Device side)
Device
PD Signaling
PD Signaling
PD Signaling
• Original port-to-port architecture expanded
•
•
•
•
Cable managed by the Host
Electronically Marked Cables
Manage active cables
Individually address each end of the cable
November 17 – 18, 2015
USB Implementers Forum © 2015
91
USB Developer Days 2015
Vendor Defined Messages
• USB PD 1.0 defined VDMs to allow vendors to extend capabilities
• USB PD 2.0 formalized a messaging structure around VDMs
• Unstructured VDM – same as USB PD 1.0 VDM
• Structured VDM – new in USB PD 2.0
• All VDMs identified by SVID
• SVID – either a VID or SID
• VID – a USB Vendor ID
• SID – a USB Standard ID – allocated to an industry standard
November 17 – 18, 2015
USB Implementers Forum © 2015
92
USB Developer Days 2015
Structured VDMs
• Identify the device or cable
• Discover Identity of attached cable or Port Partner
• Support for USB Type-C Alternate Modes
• Discover SVIDS, Discover Modes
• Enter, Exit and manage USB Type-C Alternate Modes of attached device or
cable
• Attention message allows a device to get the host’s attention
November 17 – 18, 2015
USB Implementers Forum © 2015
93
USB Developer Days 2015
Electronically Marked Cable Information
• SVID
• XID
• Hardware/Firmware Version
• Passive/Active
• VCONN required
• RX/TX Directionality
• VBUS current capability
• USB Signalling (2.0, Gen1, Gen 2)
• Latency
November 17 – 18, 2015
USB Implementers Forum © 2015
94
USB Developer Days 2015
Using Structured VDMs to Enable Alternate Modes
• Alternate modes reconfigure the connector
• Repurpose pins to support another bus
• Change the mode of operation of a bus
• Enable sideband signals
November 17 – 18, 2015
USB Implementers Forum © 2015
95
USB Developer Days 2015
Alternate Mode Example
November 17 – 18, 2015
USB Implementers Forum © 2015
96
USB Developer Days 2015
Alternate Mode Entry Process
• Discover SVIDS
• Device returns the SVIDS for which is has modes
• Discover Mode
• Device returns the modes is has for each SVID
• Host evaluates the intersection of the modes it and the device
supports
• Enter mode – SVID + mode
• Process may be run on cables that support Alternate Modes as well
November 17 – 18, 2015
USB Implementers Forum © 2015
97
USB Developer Days 2015
USB Billboard Device
• New USB 2.0 device class
• Provides the OS with information to display to the user:
• Details of the alternate modes supported
• User readable strings with product description and sources of further
information (URL)
• Alternate mode device configuration failure is one potential use of
the USB Billboard Device
• Presented when failure does not fall back to an ‘equivalent USB function’
November 17 – 18, 2015
USB Implementers Forum © 2015
98
USB Developer Days 2015
USB Type-C Swaps
• Initial USB Type-C connect
• Rp  VBUS and VCONN Source and Downstream Facing Port (USB Host)
• Rd  VBUS Sink and Upstream Facing Port (USB Device)
• Try.SRC and Try.SNK role swaps
• Used when PD is not present
• Enable simple devices to exchange Rp and Rd at connect only
• USB PD enabled role swaps
• Power Role Swap
• Data Role Swap
• VCONN Source Swap
November 17 – 18, 2015
USB Implementers Forum © 2015
99
USB Developer Days 2015
USB Power Delivery Role Swaps
• Each Role Swap is orthogonal to the others i.e. it only swaps one thing
• Power Role Swap
• Exchanges Rp and Rd resistors
• Rp follows Source, Rd follows Sink
• Does not change the data role or the VCONN Source
• Data Role Swap
• Exchanges Downstream and Upstream facing port roles (Host/Device roles)
• Does not change the Rp/Rd resistor values or the VCONN Source
• VCONN Source swap
•
•
•
•
Exchanges the responsibility for sourcing VCONN
Only one port is allowed to source VCONN
Exchange is made as make before break to ensure cable is continuously powered
Does not change the Rp/Rd resistor values or the data roles
November 17 – 18, 2015
USB Implementers Forum © 2015
100
USB Developer Days 2015
2 in 1 - Tablet Half
November 17 – 18, 2015
USB Implementers Forum © 2015
101
USB Developer Days 2015
2 in 1 - Keyboard Dock Half
November 17 – 18, 2015
USB Implementers Forum © 2015
102
USB Developer Days 2015
Q&A
November 17 – 18, 2015
USB Implementers Forum © 2015
103
Download