USB Developer Days 2015 USB‐PD Practical Application: Enabling Charge-Through Hubs Terrance Shih Product Manager Taipei, Taiwan November 17 – 18, 2015 November 17 – 18, 2015 USB Implementers Forum © 2015 1 USB Developer Days 2015 Session Agenda • Introduction to Multi-Function Docking • Traditional Docking Stations • USB Type-C Advantages • Charge-Through Docks • Power Budgeting Basics • Self-Powered vs Bus-Powered • Legacy USB Port Considerations • Power Policy • Practical Charge-Through Hubs • Design Considerations • Protocol Walkthrough • Exception Handling November 17 – 18, 2015 USB Implementers Forum © 2015 2 USB Developer Days 2015 Multi-Function Docking • Traditional Docking Stations • USB Type-C Advantages • Charge-Through Scenario November 17 – 18, 2015 USB Implementers Forum © 2015 3 USB Developer Days 2015 Traditional Docking Stations • Separate Connections for Data, Video, and Power • Data and Video over USB • Dedicated Power Supply • Simplified Power Budgeting • Fixed Power Supply for either Self-Powered or BusPowered Configurations • Fixed Power and Data Roles • Used primarily with Notebooks and Tablet PC’s November 17 – 18, 2015 USB Implementers Forum © 2015 4 USB Developer Days 2015 Traditional Docking Scenario Standard Display USB HDMI Dock USB November 17 – 18, 2015 USB Implementers Forum © 2015 5 USB Developer Days 2015 Traditional Docking Scenario Standard Display USB HDMI Dock USB November 17 – 18, 2015 USB Implementers Forum © 2015 6 USB Developer Days 2015 USB Type-C Advantages • Data, Video, and Power over a Single Connector • Supports Thin & Light Platform I/O Expansion Needs • Enables Single-Connector, Multi-Function Devices • USB Type-C is Expandable • USB-C is a connector spec and by itself, you only get USB 2.0 and Legacy USB Power • SuperSpeed USB is Optional • USB Power Delivery is Optional • Support for Alt Modes is Optional November 17 – 18, 2015 USB Implementers Forum © 2015 7 USB Developer Days 2015 Charge-Through Scenario Standard Display C Mini Dock HDMI C C USB C PD C PD November 17 – 18, 2015 USB Implementers Forum © 2015 8 USB Developer Days 2015 Reminder: Be Mindful of User Expectations… November 17 – 18, 2015 USB Implementers Forum © 2015 9 USB Developer Days 2015 What Could Go Wrong? November 17 – 18, 2015 USB Implementers Forum © 2015 10 USB Developer Days 2015 “Totally Useless” November 17 – 18, 2015 USB Implementers Forum © 2015 11 USB Developer Days 2015 Power Budgeting Basics • Self-Powered vs Bus-Powered • Supporting Legacy USB Ports • Power Policy November 17 – 18, 2015 USB Implementers Forum © 2015 12 USB Developer Days 2015 Self-Powered vs Bus-Powered • Self-Powered devices draw power from an independent, internal or external power source separate from the USB Bus • Power is limited by the internal or external power supply • Bus-Powered devices draw power from the USB Bus • Must meet appropriate USB Power Limits • 500mA/900mA for Legacy USB • 900mA/1.5A/3.0A for Type-C Power • Other Voltage/Current Negotiable using USB Power Delivery • Design Considerations • Do I want to work exclusively in Self-Powered Mode? • In Bus-Powered mode, does the USB bus provide adequate power for desired operation? November 17 – 18, 2015 USB Implementers Forum © 2015 13 USB Developer Days 2015 Bus-Powered Operation • A Straight-Forward Scenario Standard Display • Power Source is Fixed • Stay within the Source Limits • PD Supersedes Power Limits defined by USB 3.1 and USB Type-C Dongle • Sources can Change Rp in operation so you need to track it HDMI • If No PD, then Follow Source Rp USB C • Pro Tip: Don’t Rely on 5V @ 3A November 17 – 18, 2015 USB Implementers Forum © 2015 14 USB Developer Days 2015 Case Study #1 November 17 – 18, 2015 USB Implementers Forum © 2015 15 USB Developer Days 2015 Self-Powered, Fixed Supply • A Straight-Forward Scenario • Budget for system power consumption and charging capabilities • Source Capabilities are PreDetermined Provides: 5V @ 3A 12V @ 3A 20V @ 3A USB • Considerations • If the device uses a non-PD AC/DC adapter instead of batteries or a wall plug, consider that users may try to use other adapters… C November 17 – 18, 2015 USB Implementers Forum © 2015 16 USB Developer Days 2015 Self-Powered, Variable Supply • Source Capabilities? It Depends! • Deduct System Power Consumption & Power Losses • Advertised Source Capabilities + System Power Consumption cannot Exceed Source Capabilities of the PD Adapter • Available PD Tools • Get_Source_Cap • Supplied Voltages @ Currents (7 Combos Max) • Externally Powered? • Peak Current • Get_Sink_Cap • Externally Powered? • Operational Current Provides: 5V @ 3A 12V @ 3A 20V @ 3A C PD Requires 6W Advertises: 5V @ 1.8A 12V @ 2.6A 20V @ 2.7A Mini Dock C USB C • Capability Mismatch November 17 – 18, 2015 USB Implementers Forum © 2015 17 USB Developer Days 2015 Case Study #2 Claim: “The Dock has a cable with a male USB-C plug extending from one end that connects to the USB-C port on a MacBook. The other end has a female USB-C jack where the MacBook's power adapter is plugged — powering both the Dock and the MacBook. Advanced USB 3.1 Power Delivery Specification circuitry in the Dock manages the power in and out of the dock, to each of the ports, and to the MacBook.” November 17 – 18, 2015 USB Implementers Forum © 2015 18 USB Developer Days 2015 Case Study #2 Facts: 1) Macbook USB Type-C Power Adapter is rated at 29W 2) USB 3.0 Max Current is 900mA @ 5V, or 4.5W per port 4x Ports = Up to 18W 3) The Hub, Card Reader, and Ethernet controllers also need power, and we still haven’t accounted for the USB-C ports or power losses… November 17 – 18, 2015 USB Implementers Forum © 2015 19 USB Developer Days 2015 Supporting Legacy USB Ports • Standard A USB ports lacks an insertion detection mechanism, and there is no standard method to communicate either source or sink capabilities • USB Battery Charging Specifications define a method for a USB port to advertise that additional current is available using D+/D- pins, but the upper limit is not well defined • It is no practical method to “guess” a device’s power consumption since the amount of current sunk is entirely dependent upon the device • Some USB-powered gadgets only draw Vbus and completely ignore D+/D- • To avoid over-current conditions, the only method of budgeting power for Standard A USB ports is to account for maximum power consumption! November 17 – 18, 2015 USB Implementers Forum © 2015 20 USB Developer Days 2015 November 17 – 18, 2015 USB Implementers Forum © 2015 21 USB Developer Days 2015 Power Policy • System Power Policy is the manufacturer’s decision, but having a more flexible approach may give a better user experience • Wide-range voltage input enables charging from more sources • Accepting power from a source that does not provide sufficient power to actually charge the system may still extend system runtime • Devices that do this are available on the market today! • Prioritize Power based on Intended Use • Example: When attached to an external power source, a Hub with a built-in Battery may determine the Sink Capabilities of the Host to better decide how to charge its internal battery while still supplying power November 17 – 18, 2015 USB Implementers Forum © 2015 22 USB Developer Days 2015 Power Policy in Action Accepts: Minimum 20V @ 3A C C PD November 17 – 18, 2015 Provides: 5V @ 3A 12V @ 3A 20V @ 3A USB Implementers Forum © 2015 23 USB Developer Days 2015 Power Policy in Action Needs 2.5W, Advertises: 5V @ 2.5A 12V @ 2.79A 20V @ 2.87A Required Minimum: 20V @ 3A Rejects 20V @ 2.87A C Mini Dock HDMI Standard Display C C PD November 17 – 18, 2015 Provides: 5V @ 3A 12V @ 3A 20V @ 3A USB Implementers Forum © 2015 24 USB Developer Days 2015 Power Policy in Action Needs 8W, Advertises: 5V @ 1.4A 12V @ 2.3A Required Minimum: 5V @ 1.5A Accepts 12V @ 2.3A C Mini Dock HDMI Standard Display C USB C PD November 17 – 18, 2015 Provides: 5V @ 3A 12V @ 3A USB Implementers Forum © 2015 25 USB Developer Days 2015 Smart(er) Power Distribution Gets Sink Cap Advertises: 12V @ 1.25A Consumes 12V @ 1.75A Operational Power: 15W Accepts 12V @ 1.25A Portable Powered Hub C C PD Out C In C C C November 17 – 18, 2015 Provides: 5V @ 3A 12V @ 3A USB Implementers Forum © 2015 26 USB Developer Days 2015 Practical Charge-Through Hubs • Special Dual Role Ports • Captive Cable vs Receptacle • Re-Regulating vs Passing-Through • Protocol Walkthrough • Exception Handling November 17 – 18, 2015 USB Implementers Forum © 2015 27 USB Developer Days 2015 Special Dual Role Ports • Sinking DFP • Sub-class of a DRP that is capable of sinking power, but not capable of acting as a device. PD Support is required for Data Role Swap. • A PD Source can be connected to Hub’s Sinking DFP • Charging UFP • Sub-class of a DRP that is capable of supplying power, but not capable of acting as a host. Operates as a device but not as a host. PD Support is required for Data Role Swap. • Upstream Port of a Hub that can be used to Charge a Device with a Dead Battery November 17 – 18, 2015 USB Implementers Forum © 2015 28 USB Developer Days 2015 Captive Cable vs Receptacle • Captive Cable • Access to Vconn • Reduced BOM since there is no need for a switch/mux or electronic marker • Receptacle • Vconn is not passed through the cable • Needs to support reversibility so signal switch is required • Depending on functionality, may need to source Vconn and read electronic marker in the cable November 17 – 18, 2015 USB Implementers Forum © 2015 29 USB Developer Days 2015 Re-Regulating vs Passing-Through Provides: 5V @ 2.4A 9V @ 2.4A 15V @ 2A Provides: 5V @ 2.4A 9V @ 2.4A 15V @ 2A C PD Requires 3W Advertises: 5V @ 1.8A 9V @ 2A 15V @ 1.8A Mini Dock C C PD Requires 3W Advertises: 5V @ 2.4A 12V @ 2.25A 20V @ 1.35A C Mini Dock C C November 17 – 18, 2015 USB Implementers Forum © 2015 30 USB Developer Days 2015 Protocol Walkthrough: Scenario Overview Connect Mini-Dock as a Bus-Powered Device Connect PD Adapter to Mini-Dock Mini-Dock establishes contracts with both the Host and the PD Adapter Mini-Dock Charges the Host C Mini Dock C C PD November 17 – 18, 2015 USB Implementers Forum © 2015 31 USB Developer Days 2015 Protocol Walkthrough (1/4): Initial Connection Host VL100 Mini Dock Connect UFP to Host DFP Detect Rd on CC Turn on Vbus (5v), Rp = 1.5A Turn on Vconn Send Source_Capabilities Message <Powered by the Host> Evaluate Source_Capabilities Request (5V @ 1.5A) Accept PS_RDY <Explicit Contract Established> <Explicit Contract Established> November 17 – 18, 2015 USB Implementers Forum © 2015 32 USB Developer Days 2015 Protocol Walkthrough (2/4): Connect PD Adapter Host VL100 Mini-Dock PD Adapter <Explicit Contract with VL100; Sourcing 5V @ 1.5A> Connect to Sinking DFP Detect Rd on CC Turn on Vbus (5V) Rp = 3A <Simultaneously Powered by both Host and PD Adapter> Send Source_Capabilities Accept PS_RDY Evaluate Source_Capabilities Request (5V @ 3.0A) <Explicit Contract Established> <Explicit Contract Established> November 17 – 18, 2015 USB Implementers Forum © 2015 33 USB Developer Days 2015 Protocol Walkthrough (3/4): Power Role Swap Host VL100 Mini-Dock PD Adapter <Explicit Contract with VL100; Sourcing 5V @ 1.5A> <Simultaneously Powered by both Host and PD Adapter> <Explicit Contract with VL100; Sourcing 5V @ 3.0A> Accept Turns off Vbus Transitions to Sink, Presents Rd PS_RDY <Implicit Contract with VL100> PR_Swap <Powered by PD Adapter Only> PS_RDY Turn on Vbus (5V), Presents Rp @ 900mA <PD Adapter Powering both VL100 Mini-Dock and Host> <Power Role Swap Complete> Send Source_Capabilities* * = Derived from PD Adapter November 17 – 18, 2015 USB Implementers Forum © 2015 34 USB Developer Days 2015 Protocol Walkthrough (4/4): Charge-Through! Host VL100 Mini-Dock PD Adapter <Implicit Contract with VL100> <Implicit Contract with Host; Source> <Explicit Contract with PD Adapter> <Explicit Contract with VL100; Sourcing 5V @ 3A> Evaluate Source_Capabilities Request (20V @ 2.5A) Wait Request (20V @ 3A) Request Accept <Updated Explicit Contract with PD Adapter> <Explicit Contract with VL100> Accept PS_RDY PS_RDY Turn On Vbus (20V) <Updated Explicit Contract with VL100> <Explicit Contracts with Host and PD Adapter> November 17 – 18, 2015 USB Implementers Forum © 2015 35 USB Developer Days 2015 Corner Case: Dead Battery :( Host Battery is Depleted, Presents Rd If Mini-Dock is a standard UFP, it won’t be able to provide power! C Mini Dock C C PD November 17 – 18, 2015 USB Implementers Forum © 2015 36 USB Developer Days 2015 Corner Case: Dead Battery :( Host Battery is Depleted, Presents Rd A Mini-Dock with Charging UFP works! After Host is sufficiently charged, it can establish an Explicit PD Contract for more power, and initiate a DR_Swap C Mini Dock C C PD November 17 – 18, 2015 USB Implementers Forum © 2015 37 USB Developer Days 2015 Disaster Scenario Overview PD Adapter is powering Mini-Dock and Host PD Adapter is Disconnected! Mini Dock HDMI C C USB C PD November 17 – 18, 2015 USB Implementers Forum © 2015 38 USB Developer Days 2015 How Long Can You Survive Without Power? November 17 – 18, 2015 USB Implementers Forum © 2015 39 USB Developer Days 2015 I Will Survive! Vconn_Swap! It’s a Lifesaver! November 17 – 18, 2015 USB Implementers Forum © 2015 40 USB Developer Days 2015 Key Takeaways • Topics Covered: • USB-C Docking vs Traditional USB Docking • Consider USB-C not necessarily as a connector that will replace everything, but rather, it’s the first connector that offers high speed data transfer, native video, and higher power chargers. • Power Budgeting Basics • Self-Powered vs Bus-Powered • For Legacy-A Ports, Maximum Power Should Be Allocated • A Flexible Power Policy that’s more accepting of Chargers might provide a better user experience • Support Get_Sink_Cap so Chargers can more intelligently distribute power • Protocol Walkthrough • Consider the Order of Events • Consider Unexpected Disconnect Cases November 17 – 18, 2015 USB Implementers Forum © 2015 41 USB Developer Days 2015 Q&A Session November 17 – 18, 2015 USB Implementers Forum © 2015 42 USB Developer Days 2015 Backup Materials November 17 – 18, 2015 USB Implementers Forum © 2015 43 USB Developer Days 2015 Bus-Powered Self-Powered • Assumption: PD-Capable USB-C Port UFP, DC Jack • Conceptual Flow: 1. Device’s UFP is connected to Host’s DFP, Establishes Explicit Contract 2. DC Power Supply is connected to Device’s DC Jack a. At this point, the Device is Self-Powered 3. Device can send updated Request message to re-negotiate a new Contract to reflect this change eg, Operating Current = 100 mA a. Consider maintaining a minimal Contract (or utilizing Vconn if available) since the user can still disconnect the DC Supply… C DC Supply November 17 – 18, 2015 USB Implementers Forum © 2015 44 USB Developer Days 2015 “Where there is great power there is great responsibility, where there is less power there is less responsibility, and where there is no power there can, I think, be no responsibility.” —Winston Churchill, 1906 November 17 – 18, 2015 USB Implementers Forum © 2015 45 USB Developer Days 2015 VL100 Multiple USB-C™ Applications • USB-IF Certified (Single-Port Mode) • MP Now! Part Number Description Package VL100-Q3 USB-C Alt-Mode Accessory w/ Captive Cable (UFP/Charging UFP, Vconn Power Support) 32-pin QFN (5x5mm) Video Dongles VL100-Q4 USB-C Charge-Through w/ Captive Cable (Charging UFP, Sinking DFP, Vconn Power Support) 40-pin QFN (5x5mm) Alt-Mode Accessory w/ Charge-Through USB-C Accessory w/ Charge-Through VL100R-Q4 USB-C Charge-Through w/ USB-C Receptacle (Charging UFP, Sinking DFP) 40-pin QFN (5x5mm) Docking Stations USB Implementers Forum © 2015 USB Developer Days 2015 VL100 Block Diagram Single Chip w/ Dual USB-C™ PD Ports & Billboard USB Implementers Forum © 2015 USB Developer Days 2015 VL100 + VL210 Multi-Function Dongle USB Implementers Forum © 2015