Using USB-C™ with Chromebooks
Transcription
Using USB-C™ with Chromebooks
USB Developer Days 2015 Using USB-C™ with Chromebooks Mark Hayter Engineering Director Consumer Hardware, Google Inc Taipei, Taiwan November 17 – 18, 2015 November 17 – 18, 2015 USB Implementers Forum © 2015 1 USB Developer Days 2015 Session Agenda • Vision for USB-C in Chromebooks • Data • Display • Power • Enable USB-C with reference designs • Products: Video Dongles, power adapters • Testing: Functional, TCPC development • Implementation options when using TCPM/TCPC • Chromium EC USB-C/USB-PD Stack • Levels of Integration November 17 – 18, 2015 USB Implementers Forum © 2015 2 USB Developer Days 2015 Vision for USB-C in Chromebooks •Data •Display •Power November 17 – 18, 2015 USB Implementers Forum © 2015 3 USB Developer Days 2015 Google and USB-C • Google had early involvement in the USB-C working group • Success of microUSB on phones for power, data, display • HP Chromebook 11 (first version) used microUSB for power, data, display • New connector to enable more power, more bandwidth, better mechanical • Active in mechanical, electrical (SI and signalling), protocol sub-groups • Android and Chrome give broad requirements • From very low cost to very high performance • From 3W (chromecast) to 60W (Pixel) • Introduced USB-C in devices (all on store.google.com) • Chromebook Pixel, Pixel-C, Nexus 5x, Nexus 6p • 60W adapter, 15W adapter, 22.5W (15W+7.5W) dual-port adapter • HDMI adapter, DisplayPort adapter, cables November 17 – 18, 2015 USB Implementers Forum © 2015 4 USB Developer Days 2015 Chromebooks and USB-C • Requirements • All USB-C ports must be identical • Support USB3.1 Gen 1 • Support power source and sink • Support DisplayPort Alternate Mode for video out • Help the user: “If the ports look the same, they behave the same” • OEMs can choose to implement 1 - 4 Ports (all identical) • Expect most designs to have 2 ports • One on left side one on right side has proved popular on Pixel • Expect to retain 1-2 USB Type A for several generations November 17 – 18, 2015 USB Implementers Forum © 2015 5 USB Developer Days 2015 Data • USB3.1 Gen 1 (i.e. USB3.0 i.e. 5G) • Migrate to Gen 2 as SoCs support it • No pressing customer need on Chromebooks to move quickly to Gen 2 • Desire to have both host and device support • Users may connect two laptops together • Not an option on many SoCs today (or only on one port) • Encourage SoC makers to support the dual-role • Android devices need dual role November 17 – 18, 2015 USB Implementers Forum © 2015 6 USB Developer Days 2015 Display • DisplayPort Alternate Mode supported on all ports • Can limit to only one active video port at a time (better not to!) • Support both 4-lane DP and 2-lane DP + USB3 configurations • DP at HBR2 (for 4k@60) with Audio • Support “monitor/projector” resolutions as well as “TV” resolutions • Docking is an important use case • In the future 2 lanes of HBR3 with USB3 will be great! • Low end designs may only support 1080p with 1 lane of HBR2 • Supports designs migrating from MyDP/Slimport • Requires that dongle makers meet the Spec (HBR will limit to 720p) • Not permitted for “enterprise” machines because of older DP monitors November 17 – 18, 2015 USB Implementers Forum © 2015 7 USB Developer Days 2015 Power • Chromebooks support charging from full range of power sources • 5V-20V for high power devices, 5V-12V for lower power • Work with BC1.2/proprietary phone chargers: proved popular with Pixel As a sink the Chromebook needs to detect what charger was attached • Reference designs use buck-boost chargers to support wide input range • Chromebooks can provide power for popular devices • 5V @ 1.5A seems the minimum in practice (eg for Display + USB dongle) • Future: Provision of Vbatt for efficient charging of other devices • Assumes other device has wide input range • Avoid having regulator loss at source as well as regulator loss at sink • Care is needed with multiple ports • Especially ensure power paths are correct during unexpected resets November 17 – 18, 2015 USB Implementers Forum © 2015 8 USB Developer Days 2015 Ultimate goal: ship without in-box power adapter • Eco-friendly goal: fewer discarded power bricks • To meet this goal user has to be confident: • Power supply that was in-box with some other device will work well • They know what to order to get a second power adapter • “Profiles” have an issue that larger profile does not imply same charge time November 17 – 18, 2015 USB Implementers Forum © 2015 9 USB Developer Days 2015 User Friendly Adapters: Wattage based ECR • Higher Wattage adapter is superset, same or faster charging • ECR submitted to Promoter group for USB-PD • Defines the voltages that MUST be provided by a port • w <= 15W: provide 5V @ (w/5) A • 15W < w <= 27W: provide 5V @ 3A and 9V @ (w/9) A • 27W < w <= 45W: provide 5V and 9V @ 3A, 15V @ (w/15) A • 45W < w < 100W: provide 5V, 9V and 15V @ 3A, 20V @ (w/20) A • May have other voltages (eg 12V) at same or lower power November 17 – 18, 2015 USB Implementers Forum © 2015 10 USB Developer Days 2015 Enable USB-C with reference designs •Video Dongles •USB-PD Sniffer •USB-PD Testing November 17 – 18, 2015 USB Implementers Forum © 2015 11 USB Developer Days 2015 Enable USB-C with Reference Implementations • New Chromebook reference designs include 2 ports of USB-C • Joint design between Google and SoC vendor • Provided to OEMs through partner agreement • Sorry: have not got agreements to open source schematics (yet…) • Other reference designs are open source on chromium.org • USB-PD section of power adapter • DisplayPort Alternate Mode dongles • USB-PD sniffer • Factory tester November 17 – 18, 2015 USB Implementers Forum © 2015 12 USB Developer Days 2015 USB-C to/from DisplayPort VBUS VCONN (CC2) Power OR Ra ● 3.3V (LDO) CC1 ● STM32F072 MCU Dp Dn ● SBU1 AUX+ ● 470 K SBU2 AUX4.7M HPD DP Plug USB Type-C Plug Captive cable ○ ● Rd MCU runs full PD stack ● ● Chromium EC codebase MCU provides Billboard SBU lines must be isolated until Alternate Mode is entered Capacitors added on lines that don’t have them at source Can test the display output with Chamelium DP/HDMI/VGA tester http://www.chromium.org/chromium-os/dingdong http://www.chromium.org/chromium-os/testing/chamelium ML0+/ML1+/ML2+/ML3+/- November 17 – 18, 2015 USB Implementers Forum © 2015 13 USB Developer Days 2015 USB-C to HDMI VBUS VCONN (CC2) 5V (BuckBoost) Ra 3.3V (LDO) ● 1.2V (Buck) ● CC1 STM32F072 MCU Dp Dn SPI Flash UART HDMI Captive cable HPD ML0+/ML1+/ML2+/ML3+/SBU1 AUX_N SBU2 AUX_P MCDP2850 DP to HDMI2 HDMI Receptacle ○ Rd USBC Plug Has required HDMI 2.0 support MCU runs full PD stack ● ● ● ● 27MHz XTAL ● ● Chromium EC codebase MCU provides Billboard SBU lines must be isolated until Alternate Mode is entered Capacitors added on lines that don’t have them at source Can test display output with Chamelium DP/HDMI/VGA tester http://www.chromium.org/chromium-os/hoho http://www.chromium.org/chromium-os/testing/chamelium November 17 – 18, 2015 USB Implementers Forum © 2015 14 USB Developer Days 2015 USB Sniffer: Test and debug tool ● ● ● ● ● ● ● Monitor VBUS current/voltage Monitor CC2 current/voltage Apply pullup/down to CC1, CC2 Record traffic on CC1, CC2 USB link to debug host http://www.chromium.org/chromium-os/twinkie Available from Total Phase http://www.totalphase.com/products/usb-power-delivery-analyzer103/ ● Available from Plugable http://www.amazon.com/gp/product/B015X29HLM http://plugable.com/products/usbc-tkey November 17 – 18, 2015 USB Implementers Forum © 2015 15 USB Developer Days 2015 USB-C and USB-PD tests for interoperability • Can use PD sniffer to run suite of tests: • Devices should negotiate a contract • Dual power role devices should both be able to be source and sink power • Hard Reset • Soft Reset • Power Role Swap • Data Role Swap November 17 – 18, 2015 USB Implementers Forum © 2015 16 USB Developer Days 2015 Automated functional test board November 17 – 18, 2015 coming soon! USB Implementers Forum © 2015 17 USB Developer Days 2015 Automated functional test board • Data • DUT as host: USB 3.1 Gen 1 • DUT as device: USB 2.0 • Video • USB-C to DisplayPort converter • Includes DP redriver to allow 4K @ 60Hz • Power • Source 5V/12V/20V@3A for DUT as sink • Monitor voltage/current on VBUS for DUT as source • Dual CC connection allows “flip connector” tests • USB PD traffic monitor on both CC lines November 17 – 18, 2015 USB Implementers Forum © 2015 18 USB Developer Days 2015 Implementation options using TCPM/TCPC •TCPM and TCPC split •Chromium EC USB-C/USB-PD Stack •Levels of Integration November 17 – 18, 2015 USB Implementers Forum © 2015 19 USB Developer Days 2015 TCPM/TCPC Split: USB-PD Inter-block specification • New interface defined for chips that act as “CC” pin front-end • TCPM - Type-C Port Manager • TCPC - Type-C Port Controller i.e. the front-end • Vendors were building parts for this division before the workgroup started • TCPC does the analog and time-critical functions • Port power control for Vbus and Vconn • CC control and sensing (pin must be 5V tolerant) • USB-PD message delivery & reception (automatically sending GoodCRC) • Specification uses 1MHz I2C/SMbus to access the TCPM • Register interface, so other transports (eg internal chip bus) will work November 17 – 18, 2015 USB Implementers Forum © 2015 20 USB Developer Days 2015 Example Dual-Port TCPC Equivalent block diagram Use STM32, Vconn load switch, FETs, resistors to implement dual port TCPC https://chromium.googlesource.com/chromiumos/platform/ec/+/master/board/glados_pd/dualtcpc.md PP3300_DSW_USBC Microcontroller implementation of two TCPC parts PP5000_A VCC EC_I2C1_PD_SCL EC_I2C1_PD_SDA PP3300_DSW_USBC VCCIO TCPC compliant CC PHY USB_C0_CC1 USB_C0_CC2 Port 0 Type C receptacle USB_MCU_EC_INT_0 EC runs TCPM code PP5000_A VCC PP3300_DSW_USBC VCCIO TCPC compliant CC PHY USB_C1_CC1 USB_C1_CC2 Port 1 Type C receptacle USB_MCU_EC_INT_1 November 17 – 18, 2015 USB Implementers Forum © 2015 21 USB Developer Days 2015 Example Dual-Port TCPC Schematic November 17 – 18, 2015 USB Implementers Forum © 2015 22 USB Developer Days 2015 TCPM code in Chromium EC Stack TCPM drivers in Chromium EC stack http://www.chromium.org/chromium-os/ec-development • TCPCI https://chromium.googlesource.com/chromiumos/platform/ec/+/master/driver/tcpm/tcpci.c • Interfaces to standard TCPCI on I2C • Function call https://chromium.googlesource.com/chromiumos/platform/ec/+/master/driver/tcpm/stub.c • Used on Chromebook Pixel which has TCPM and dual port TCPC in single MCU • Vendors copy tcpci.c and modify to provide pre-TCPCI driver Can build for ST Discovery card and connect I2C to TCPC eval card https://chromium.googlesource.com/chromiumos/platform/ec/+/master/board/pdeval-stm32f072/PD_evaluation.md • Allows TCPC vendors to exercise their part with the chromium code • Code used on Chromebook Pixel and Pixel-C November 17 – 18, 2015 USB Implementers Forum © 2015 23 USB Developer Days 2015 USB-C Implementations using TCPC ● Chromebooks run TCPM stack on the EC (System control MCU) ○ ○ ● We see various levels of integration being offered ○ ○ ○ ○ ○ ● TCPC must connect to the EC Dead battery scenario does not need to power up the SoC (assume 2.5W) Today: High-speed mux, EC and TCPC external to SoC also see parts integrating mux and TCPC Good: SoC integrates high-speed mux with external EC and TCPC Better: SoC integrates high-speed mux with external EC that integrates TCPC Best: SoC integrates high-speed mux, EC and TCPC Quirky: SoC integrates high-speed mux and TCPC, external EC Integrated TCPC must be 5V tolerant and include Vconn load switch ○ ○ Otherwise external parts may swamp cost/area savings Rules out integration in many SoC processes November 17 – 18, 2015 USB Implementers Forum © 2015 24 USB Developer Days 2015 External USB-C solution (late 2015) Buck-boost Charger Non-integrated SoC EC 5-20V 3A In 5V 1.5A 1MHz I2C TCPC 4-lane DisplayPort MLx, AUX SSTX/RX USB 3.1 Gen 1 DM/DP Vbatt VBUS debug link over USB-C Passive USB-C Mux CC/Vconn (1.5W) SBU USB Type-C Four SS pairs BC1.2 Detect DM/DP When chromebook is a sink BC1.2 detection indicates if attached legacy power adapter is SDP, DCP, CDP or Proprietary 1A, 2A, 2.4A November 17 – 18, 2015 USB Implementers Forum © 2015 25 USB Developer Days 2015 Integrated High-Speed Mux for USB-C Buck-boost Charger Integrated SoC EC 5-20V 3A In 5V 1.5A 1MHz I2C Vbatt VBUS TCPC 4-lane DisplayPort MLx, AUX SSTX/RX USB 3.1 Gen 1 debug link over USB-C DM/DP CC/Vconn (1.5W) SBU Muxing PHY USB Type-C Four SS pairs BC1.2 Detect DM/DP When chromebook is a sink BC1.2 detection indicates if attached legacy power adapter is SDP, DCP, CDP or Proprietary 1A, 2A, 2.4A November 17 – 18, 2015 USB Implementers Forum © 2015 26 USB Developer Days 2015 Integrated Mux in SoC and TCPC in EC Buck-boost Charger Integrated SoC EC with TCPC 4-lane DisplayPort USB 3.1 Gen 1 DM/DP 5V 1.5A Vbatt VBUS debug link over USB-C MLx, AUX SSTX/RX 5-20V 3A In CC/Vconn (1.5W) SBU Muxing PHY USB Type-C Four SS pairs BC1.2 Detect DM/DP When chromebook is a sink BC1.2 detection indicates if attached legacy power adapter is SDP, DCP, CDP or Proprietary 1A, 2A, 2.4A November 17 – 18, 2015 USB Implementers Forum © 2015 27 USB Developer Days 2015 External EC, Integrated USB-C Buck-boost Charger EC 5-20V 3A In 5V 1.5A 1MHz I2C Integrated SoC 4-lane DisplayPort VBUS TCPC debug link over USB-C MLx, AUX SSTX/RX USB 3.1 Gen 1 Vbatt DM/DP CC/Vconn (1.5W) SBU Muxing PHY USB Type-C Four SS pairs BC1.2 Detect DM/DP When chromebook is a sink BC1.2 detection indicates if attached legacy power adapter is SDP, DCP, CDP or Proprietary 1A, 2A, 2.4A November 17 – 18, 2015 USB Implementers Forum © 2015 28 USB Developer Days 2015 Fully Integrated USB-C Buck-boost Charger Integrated SoC EC 5-20V 3A In 5V 1.5A Vbatt VBUS TCPC 4-lane DisplayPort MLx, AUX SSTX/RX USB 3.1 Gen 1 debug link over USB-C DM/DP CC/Vconn (1.5W) SBU Muxing PHY USB Type-C Four SS pairs BC1.2 Detect DM/DP When chromebook is a sink BC1.2 detection indicates if attached legacy power adapter is SDP, DCP, CDP or Proprietary 1A, 2A, 2.4A November 17 – 18, 2015 USB Implementers Forum © 2015 29 USB Developer Days 2015 Q&A Session November 17 – 18, 2015 USB Implementers Forum © 2015 30 USB Developer Days 2015 Backup Materials November 17 – 18, 2015 USB Implementers Forum © 2015 31