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 Port’s 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 < 10−6 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 doesn’t 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 Source’s outputs or Sink’s 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
• Doesn’t 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 doesn’t change
Voltage
Source
VBUS Voltage
Sink Port
≤ INEW
Current
≤ IOLD Sink
≈
VBUS Current
4
Source Port Source
Device Policy Mgr ñVñI
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