Professional Documents
Culture Documents
Key Characteristics
Voltage and current values negotiated
Higher voltage and current allows power up to ~100W
Limits to match cable capabilities (3A/5A)
Upper limit bound by international safety requirements
Coexists with USB Battery Charging 1.2
Swapping of power direction, data direction and source of VCONN
Communication with USB Type-C Electronically Marked Cables
Support for Alternate Modes of operation (DP, MHL)
Revision 3.0
Improved Collision avoidance scheme
Use Rp/Rd to indicate Source/Sink transmission
Deprecated BFSK
Revision 2.0 support will still be permitted
Extended messages
Up to 260 bytes
Chunking into existing packet sizes enabled for compatibility
Additional alerts, capabilities and status
Support for IEC 63002 power supply standards
Battery capabilities/status
Support for Direct Charge
Programmable Power Supplies
Terminology
Topology
Architectural Walk through the Layers
Overview PD and USB Device States
Battery Status
Terminology
DFP/UFP
Defines the Ports position in the USB topology
DFP is equivalent to A-Port/Host, UFP is equivalent to B-Port/Device
Does not require USB Communication Capability
Source/Sink
Defines the power role the port is currently operating in
Dual-role Power
Port can operate as either a Source or a Sink
Dual-role Data
Port can operate as either a DFP or a UFP
USB Communications Capable
Port can send/receive USB traffic may be asymmetric for DFP/UFP
SOP*
Start of packet (SOP/SOP/SOP)
Source Sink
BMC BMC
VBUS
CC
CC VBUS
Physical Layer
Source/Sink Uses USB Type-C CC wire
Device Policy Manager no dependence on (D+/- or Tx/Rx)
Source Port Biphase Mark Coding (BMC) Signaling
Policy Engine >10e-6 BER
300kbps
Protocol Power
Protocol Layer
Source/Sink Directed by policy engine
Device Policy Manager Constructs messages which it
passes to the PHY
Source Port
Policy Engine
Receives messages from the PHY
Deconstructs messages and passes
Protocol Power back to policy engine
Source(s)/
CC VBUS
BMC
USB Port
CC VBUS
Power Source/Sink
Source/Sink Behavioral aspects of sources
Device Policy Manager
and sinks
Source Port
Defines transitions
Policy Engine
Increasing/decreasing voltage
Increasing/decreasing current
Protocol Power
Source(s)/
Swapping roles
Detailed diagrams showing the
Sink
Cable Detection Physical Layer
CC VBUS
Device Policy
Source/Sink
Device Policy Manager
Device Policy Manager
Manages shared resources
Source Port Notion of reserved power
Policy Engine Notion of reclaimed power
Interacts with the policy engine,
Protocol Power
Source(s)/
power supply, cable detect, and
Sink system policy manager
Cable Detection Physical Layer
Policy Engine
BMC
Enacts policy for a port
USB Port
Interacts with the protocol layer and
CC VBUS
device policy manager
System Policy
Provides OS visibility into Power Delivery
USB Host
System Policy
Manager
Device Policy
Manager
Hubs report and allow control of their
downstream ports
Policy Engine
Rev 3.0 moves this functionality to the
Protocol
bridging specification
Physical Layer
CC
Device
Device is a Source seeing in Sink
Mode
Yes Yes
Source? Attached?
No No
Swapping
Any USB VBUS No Power
No USB
State Present Attached
Roles?
Yes Yes
Hard Reset
and
Bus Powered
Battery Status
Battery status structure returns information about the battery
Battery Attributes: no battery, charging, discharging, neither
Battery SOC: State of charge in %
Battery Status: Various battery error conditions
Battery Remove Wake Events: present error, charging flow, error
Remaining Operating Time
Remaining Charging Time
Signaling
BMC Characteristics
Symbol Coding
Physical Layer Collision Avoidance
Packet Formats
Multi-Drop
Signaling
Half duplex system
Bit rate is 300kbps
Uses Bi-mark phase Coding (BMC)
A form of Manchester Coding
Signal is DC coupled on USB Type-C CC
Low impedance - nominally 0 - 1.125V
BER < 106 at SNR of 25dB
Typical operating SNR would be higher
CRC-32 used to detect data corruption
Same CRC-32 as USB 3.1
BMC Characteristics
2 transitions
for one and
1 transition
for zero
Symbol Coding
4b5b coding scheme
Allows use of K-Codes
Use both single K-Codes and Ordered sets of 4 K-Codes
Start of Packet (SOP*)
Ordered set
Used to address Ports or Cable Plugs (multi-drop)
SOP Communications between the DFP and UFP
SOP Communications with the Cable Plug attached to the DFP
SOP Communications with the Cable Plug attached to the UFP
End of Packet (EOP)
Reset Ordered Sets
Hard Reset Resets both Ports and any Cable Plugs
Cable Reset Resets only Cable Plugs
Collision Avoidance
Rp used by the Source to control when Sink can initiate an Atomic Message Sequence (AMS)
Legend:
Legend:
Legend:
SOP* (Start Message Header Extended Message Header Data (remaining bytes + EOP (End Of
Chunk n Preamble CRC
Of Packet) (16 bit) (16 bit) padding) Packet)
Legend:
Header fields
Chunked bit = 1 -> chunking used since one or both Port Partners doesnt do 260 byte Messages
Chunk number field 0..9 -> Chunk number sent/requested
Request Chunk bit set for a Chunk request (no Data), reset for the returned Chunk
Number of Chunks = Data Size/26 i.e. 26 byte Chunks
Matches legacy Message data payload of 28 bytes
2 byte Extended Message Header + 26 bytes of Data for first chunks (NDO = 7)
Last Chunk remaining data padded to the next Data Object boundary with 0x00
October 19 - 20, 2016 USB Implementers Forum 2016 30
USB Developer Days 2016
Multi-drop
Cable Cable
DFP VCONN Plug Electronically Marked Cable Plug UFP
(SOP) (SOP)
SOP
signaling
SOP
signaling
SOP signaling
Messages
Data Objects
Errors
Protocol Attach/Detach Detection
Structured VDMs
Alternate Modes
Sending a Message
Extended Messages
Security_Request Chunk
Security
(Number o _Request
f Data Obje
Chunked = cts = 3,
1, Ch u n k N
Request C umber = 0
h u n k = 0, D ,
ata Size =
7)
Host Power Brick
GoodCRC
Security_R
(Data Size equest
= 7, Chunk
ed = 0)
GoodCRC
esponse
Security_R ked = 0)
Security_Response
= 3 Ch u n
0,
(Data Size
esponse
GoodCRC Security_R bjects = 7,
f Data O
(Number o umber = 0
,
1, Ch u n k N
Chunked = D ata Size = 30)
h u n k = 0,
Request C
transmitted Security_R
esponse C
(Number o hunk requ
f Data Obje est
Chunked = cts = 1,
The example above is a Security_Request and Request C
1, Ch u n k N
h u n k = 1, D
umber = 1
ata Size =
,
Security_Response 0)
GoodCRC
To maintain compatibility with existing HW Extended esponse
Security_R bjects = 2,
Messages can also be Chunked (Number
d =
o
1
f
,
D
C
at
h
aO
unk Numb
er = 1,
= 30)
Chunke ata Size
u n k = 0, D
Example to the right is the same sequence, but chunked Req u est C h
GoodCRC
Messages
Source/Sink Capabilities (Source_Capabilities, Sink_Capabilities, Source_Capabilities_Extended)
Used to advertise a Sources outputs or Sinks required inputs
Type of source (charger, battery)
Voltage/current combinations available/required
Requests
Request capabilities (Get_Source_Cap, Get_Sink_Cap, Get Source_Cap_Extended)
Request status (Get_Status, Status)
Request voltage and/or current (Request)
Request power role change (PR_Swap, FR_Swap)
Request data role change (DR_Swap)
Request Vconn source change (VCONN_Swap)
Accept/Reject/Wait
Possible responses to a request
Alert
Notification after OVP/OCP/OTP
Miscellaneous
GoodCRC Ping
Soft Reset BIST
Power Supply (PS_RDY) VDMs
Not_Supported
Error Detection
Various conditions can lead to errors:
Protocol Layer
Missing GoodCRC Retry
MessageID mismatch Lost messages
Policy Engine
Wrong/not received messages during message sequence
Timeout on expected message
e.g. lack of PS_RDY
No response after Hard Reset
Rp or Rd not asserted during PR_Swap
Error Recovery
Soft Reset
Reset only the protocol layer
Specific to a particular SOP*
Hard Reset
Resets all SOP* and the power supply
Doesnt impact USB Type-C power role (Rp/Rd unchanged)
USB Type-C VCONN source returned to Source (Rp asserted)
Cable Reset
Resets the cable (SOP/SOP) but not the Port Partners (SOP)
USB Type-C Error Recovery
Performs disconnect and reconnect
Errors unresolved by PD Hard Reset
Attach/Detach Detection
Source (Rp asserted)
Presence of Rd indicates port to port attach
Immediately sends Source Capabilities
Absence of Rd indicates detached state
Sink (Rd asserted)
Presence of VBUS is attached to a Source
Responds with GoodCRC to Source Capabilities or
Times out and sends Hard Reset
When VBUS is removed
During PR_Swap connection is retained
During Hard Reset if self-powered and can operate connection is retained
At other times this means detached
Marked Cable CC
VCONN
Iso Iso
CC
VCONN
( ) ( )
(Sourced) (Not
sourced)
Ra SOP Ra
GND GND
Alternate Modes
A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1
GND RX2+ RX2 VBUS SBU1 D D+ CC VBUS TX1 TX1+ GND
GND TX2+ TX2 VBUS VCONN SBU2 VBUS RX1 RX1+ GND
B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12
List of SV
IDs
s
Discover SVIDS
For every DFP supported SVID
Discover Mod
es (SVID)
Device returns the SVIDS for which is
r SVID
has modes Modes fo
each SVID Y
USB Safe
Host evaluates the intersection of State
System Policy
Manager
One instance per device
Acts across one or more ports
USB hub tree
(optional)
Manages bus traffic
Manages power resources in the
USB Interface
device
(optional)
Monitors and controls the power
PD USB Device supply
Device Policy Manager
Interacts with the cable detection
Source Port
module
Policy Engine
Causes Policy Engine to enact policy
for a given port
Protocol
Power
Source(s)/ Optional USB interface to System
Sink
Policy
USB-C Control Physical Layer
Capability Mismatch
Sink may require more than a Source can supply in order to
enumerate on USB:
e.g. needs 2A@20V and can only get 2A@5V
Sink will indicate a Capability Mismatch to end user and also via PD
messaging
Indication can be handled on the Source and also in System Policy
Policy Engine
Source/Sink One instance per port, per SOP*
supported
Interacts with Device Policy
Device Policy Manager
Source Port
Manager to determine and
request:
Policy Engine
Power resources for the port
Power source or sink transitions
Protocol Power
Source(s)/
Attached cabling
USB-C Control
Sink
Handles power negotiation,
Physical Layer
swapping, etc.
BMC
Uses Protocol Layer to form
USB Port messages
CC VBUS Handles message timers, errors
and resets
Source Capabilities
SenderResponseTimer
Request
SenderResponseTimer
Accept
PSTransitionTimer
PS_RDY
Initial Sink (Laptop) has 5V Source ready to be New Source New Sink
applied quickly
Detects Fast Swap
Waits for VBUS to drop to vSafe5V
Starts Sourcing 5V
In parallel Port Partners start the role swap process
Ensures that Source and Sink roles are aligned
Architecture Overview
Source & Sink Behaviors
Transitioning Voltage and Current
Power Supply Robust Port Considerations
Swapping Power
PPS Preview
Legacy Legacy
PD Battery Dual-Role Battery
Power Power
Source Port Power Port
Source Source
Sink
External Power
Sinks Dual-Role Power
External Power
VBUS System
SOURCE CABLE SINK
VBUS VBUS
cc cc
BMC BMC
Power Tx/Rx
Refer to
Tx/Rx Load
...
...
Supply USBType-C1.0
GND GND
SHIELD SHIELD
Source Behavior
Backward compatible with legacy VBUS ports.
Supplies default USB 2.0, USB 3.1, USB Type-C Current or BC 1.2
voltage and current to VBUS
When USB cable attached prior to an Explicit Contract
When Hard Reset signaling is received
Returns to vSafe0V for some time then returns to vSafe5V
PD bounds VBUS voltage transitions by undershoot, overshoot and
transition time requirements
105 % vSrcNew(max)
vSrcNew(typ)
95 % vSrcNew(min)
-0.5 V vSrcValid(min)
Lower bound of valid Source range
vSrcSlewPos 30 mV/usec
Starting voltage
t0 tSrcSettle tSrcReady
275 msec 285 msec
105 % vSrcNew(max)
vSrcNew(typ)
95 % vSrcNew(min)
-0.5 V vSrcValid(min)
Lower bound of valid Source range
t0 tSrcSettle tSrcReady
275 msec 285 msec
vSrcNew(typ)
95 % vSrcNew(min)
tSrcTransient window
-0.5 V vSrcValid(min) 5 msec
Sink Load I2
iLoadReleaseRate
iLoadStepRate -150 mA/usec
150 mA/usec
Sink Load I1
tSrcReady
285 msec
Sink Behavior
Backwards compatible with legacy VBUS ports
Draws default USB 2.0, USB 3.1, USB Type-C Current or BC 1.2 VBUS
current at default voltage
When the USB cable is attached prior to an Explicit Contract
When responding to a Hard Reset
Returns to the default USB 2.0, USB 3.1, USB Type-C Current or BC 1.2 VBUS
current at default voltage
Controls VBUS in-rush current when increasing current consumption
4
Source Port Source
Device Policy Mgr V
Source Port
Source Port Interaction
Source VOLD t2 Source VNEW
Power Supply
3 7 8
Sink to Sink Sink Standby
Sink Port
Standby ... to Sink
Device Policy Mgr
Sink Port
Sink Port Interaction
Sink IOLD t1 Sink pSnkStdby t3 Sink IOLD
Power Supply
Source Port
VNEW
Voltage
Source
VOLD VBUS Voltage
Sink Port I2
IOLD IOLD
Current
I1 Sink
VBUS Current
I1
3
Source Port Source
Device Policy Mgr I
Source Port
Source Port Interaction
Source VOLD t1 Source VOLD
Power Supply
6 7
Sink
Sink Port ... I
Device Policy Mgr
Sink Port
Sink Port Interaction
Sink IOLD t2 Sink INEW
Power Supply
Source Port
VBUS doesnt change
Voltage
Source
VBUS Voltage
Sink Port
INEW
Current
IOLD Sink
VBUS Current
4
Source Port Source
Device Policy Mgr VI
Source Port
Source Port
Interaction
Source VOLD t2 Source VNEW
Power Supply
3 7 8
Sink to Sink Sink Standby
Sink Port
Standby ... to Sink
Device Policy Mgr
Sink Port
Sink Port
Interaction
Sink IOLD t1 Sink pSnkStdby t3 Sink INEW
Power Supply
Source Port
VNEW
Voltage Source
VOLD
VBUS Voltage
Sink Port I2
INEW
Current Sink
IOLD
I1 VBUS Current
I1
vSafe5V(max), VCONN(max)
5.5 V 5.5 V
0.8 V vSafe0V(max)
150 mV vVconnDischarge
0V
t0
-0.3 V
vSrcNeg(max)
250 msec tVconnDischarge tVconnOn 2 msec
1 sec
275 msec tSafe5V
tSrcRecover
275 msec
tSafe0V tSrcTurnOn
650 msec
VCONN Swap
Method used to source VCONN from different ends of the cable
*** Data Roles do not change during Power Role swap ***
Source Port
VOLD
Voltage vSafe5V
Source
VBUS Voltage
Initial Source New Source
not driven
Sink Port
IOLD
Current pSnkSusp
Sink
I2
I1 VBUS Current
Initial Sink I1 New Sink
not driven
I1 iSnkSwapStdby I2 I2 iSnkSwapStdby + cSnkBulkPd(DVBUS/Dt)
Charger
Charge-thru
Hub
DRP
X
Charger
Charge-thru
Hub
DRP
*** Data Roles do not change during Fast Role Swap ***
Power Power
USB USB
Device Device
A D1 F
Source Port Source VBUS < Change
Device Policy Mgr Stops vSafe5V Rp to Rd
Source Port
Source Port Interaction
Power Path Source Sink
D2 E G
VBUS < < tSrcFRSwap Source Change
Sink Port
vSafe5V VBUS Rd to Rp
Device Policy Mgr
Sink Port
Sink Port Interaction
Sink Ready & Able to Source vSafe5V Source vSafe5V
Power Path
Source Port
Old Source
Voltage discharging to
vSafe0 V New Source = vSafe5V Source
VBUS Voltage
Sink Port
s
Current ischarge
voltage d New Sink
Sink
t as VBUS
crease in curren
ts the in VBUS Current
Old Sink Represen
VCONN Swap
Supported by any port that can operate as VCONN source
Either port partner can send the VCONN_Swap Message
The recipient responds with either Accept, Reject or Wait Messages
An Accept Message response starts a make-before-break change over
A Reject Message response indicates a VCONN Swap will not occur
A Wait Message response indicates try a VCONN Swap sometime later
USB technology has evolved into highly complex and challenging designs
When possible, make use of certified product suppliers silicon, connectors, etc.
Proper materials and manufacturing processes are increasingly more critical to
making successful certified products
Submit your products for USB certification
PPS Framework
V(4) > V(3) Nominal PPS Maximum Voltage V(4)
V(3) > V(2) vPpsValid
Nominal V(3)
vPpsNew
vPpsValid
Battery Monitoring
& Safety
Sink
Battery Voltage
PPS VBUS Local voltage &
Adapter CC current regulation
Battery Monitoring
(IBAT) & Safety
Sink
Battery Voltage
PPS VBUS Local voltage &
Adapter CC current regulation
Battery Monitoring
(IBAT) & Safety
Sink
Battery Voltage
PPS VBUS Local voltage &
Adapter CC current regulation
Battery Monitoring
(IBAT) & Safety
Sink
Q&A