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