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