Supporting ACA-Dock Feature in Smartphone and Tablet Docks with HX3 USB 3.0 Hub Controller – KBA96321 1. Introduction Accessory Charger Adapter Dock (ACA-Dock) enables charging and simultaneous data transfer for a mobile phone or a tablet (acting as an OTG2 Host) with support for Battery Charging Specification Version 1.2 (BC v1.2). The CY4613 Development kit helps you evaluate the HX3 – the industry’s only USB 3.0 Hub controller with the ACA-Dock feature. The CYUSB3324 and CYUSB3328 parts of the HX3 product family support ACA-Dock feature. When a USB ACA-Dock-capable phone or tablet is connected to the CY4613 board’s upstream (US) port, it is charged by the US port using HX3’s ACA-Dock feature. At the same time, the connected phone or tablet enumerates the CY4613 hub, and devices connected to the downstream (DS) ports of CY4613 work as expected. 2. Supporting BC v1.2-Compliant, ACA-Dock-Capable Phones A mobile phone or tablet connected to the US port of HX3 monitors the resistor (RID_A) value connected to the ID pin (Refer Figure 1). If the RID_A value matches the resistance value expected by the USB OTG host in the phone or tablet, the host allows the enumeration of HX3 and devices connected to the DS port of HX3. At the same time, the connected mobile phone or tablet is charged by the US port of HX3. Figure 1 shows the HX3 hub system in the ACA-Dock mode as implemented in the CY4613 board. The CY4613 supports the RID_A (CY4613 schematics: R25) of 124 kΩ (standard RID_A value as per the BC v1.2 specification) by default. Refer to Step 9 of the CY4613 Quick Start Guide to configure the CY4613 for ACA-Dock functionality. When a BC v1.2-compliant OTG-capable phone, such as Sony Xperia (Neo V, P, or S), is connected to the CY4613 board’s US port, the phone is charged, and simultaneously enumerates the hub and works like a normal host controller. 1: USB On-the-Go is a USB-IF specification that requires portable devices to function as a Host when connected to devices and to function as a device when connected to a Host. Document No. 001-96321 Rev. ** 1 DS4 Figure 1. HX3 Controller in ACA-Dock Mode in CY4613 DS3 VBUS VBUS US_PWREN Power Switch US_OVRCURR HX3 DS2 ID RID_A 124KΩ DS1 US Connector Mobile Phone or Tablet Power Management IC 3. Supporting ACA-Dock Capable Phones with Proprietary RID_A Values The CY4613 board has been tested with popular tablets and phones available in the market with proprietary RID_A values. By changing the RID_A resistor (CY4613 schematics: R25) value on the CY4613 board, you can connect different phones and tablets to the CY4613 board in the ACA-Dock mode. Table 1 provides examples of phone/tablet models and which support proprietary RID_A values. Figure 2 shows the HX3 hub system in the ACA-Dock mode, with modifications required to support a proprietary RID_A. Table 1. Examples of Phones and Tablets that Support Proprietary RID_A Values Manufacturer Google Samsung Samsung Samsung Models Nexus 7 Tablet Galaxy Note Pro Tablet 12.2 Galaxy Note 2, Note 3 Galaxy S3, S4 phone RID_A Value 120 kΩ 80 kΩ - 85 kΩ 71 kΩ - 74 kΩ supported in Rev042 CY4613 71 kΩ - 74 kΩ supported in Rev042 CY4613 2: Refer Appendix Document No. 001-96321 Rev. ** 2 DS4 Figure 2. Recommended ACA-Dock System Implementation Using HX3 Controller DS3 US_PWREN Power Switch US_OVRCURR HX3 DS2 RID_A T1 NMOS DS1 VBUS VBUS ID US Connector Mobile Phone or Tablet Power Management IC Some mobile phones or tablets (for example, Samsung Galaxy Note Pro Tablet 12.2) require the RID_A termination resistor to be floating when VBUS is powered OFF as shown in Figure 2. For this implementation, the transistor T1 (Part Number: BSN20-70 or equivalent) is required. Transistor T1 is not implemented on the CY4613 board and RID_A is directly connected to ground (as in Figure 1). However, it is highly advised to use the transistor T1 in ACA-Dock system designs. 4. HX3 and PSoC® 4-Based ACA-Dock Solution Supporting Various RID_A Values In order to enable the ACA-Dock functionality for various phones and tablets that support either standard or proprietary RID_A resistor value, a solution which varies the value of resistor RID_A is required. This solution can be implemented by interfacing HX3 with a PSoC 4 (PSoC supporting ARM® Cortex®-M0 core and programmable mixed-signal hardware IP). Figure 3 shows the block diagram of the solution implementation; Figure 4 shows the Solution Demo Board. Schematics and layout of the HX3 and PSoC 4-Based ACA-Dock Solution is available at http://www.cypress.com/?rid=107154. For additional information and to request a demo, contact Cypress at [email protected] Document No. 001-96321 Rev. ** 3 DS3 US_OVRCURR VBUS CTRL SUSPEND RESET HX3 DS2 VBUS VBUS Power Management IC & Switch ID US Connector Mobile Phone or Tablet VBUS DS4 Figure 3. HX3 and PSoC 4-Based ACA-Dock Solution Block Diagram US_PWREN Variable RID_A DS1 PSOC4 27KΩ The function and purpose of the signals shown in Figure 3 are as follows: 1) SUSPEND: The SUSPEND pin is held HIGH when HX3’s US port is not connected to any host controller. The SUSPEND pin is pulled LOW only when HX3 is successfully enumerated by the host connected to the US port. PSoC 4 monitors the SUSPEND pin to determine successful enumeration. The enumeration process takes up to one second. 2) ID pin of US USB Connector: The ID pin of the US port is connected to the output of the iDAC in the PSoC 4. PSoC 4 will vary the current driven on the ID pin to emulate varying RID_A values. 3) US_PWREN: HX3 informs the PSoC 4 of the overcurrent event on the US port. PSoC 4 controls the power switch on the VBUS line. 4) VBUS: The VBUS line is usually driven to 5 V by the USB Host except in the ACA-Dock mode. The PSoC 4 is designed to monitor the VBUS line and ensure that the ACA-Dock does not drive the VBUS signal until the USB Host has stopped driving the VBUS line. 5) RESET: PSoC 4 has the capability to RESET the HX3. Document No. 001-96321 Rev. ** 4 Figure 4: HX3 and PSOC 4 Based ACA-Dock Solution Demo-Board Document No. 001-96321 Rev. ** 5 The algorithm implemented on PSoC 4 is as follows: Step 1: On initial power-on or reset, PSoC 4 will ensure the power management IC and switch is OFF (VBUS driven by USB Host) and holds the variable RID_A at GND. PSoC 4 monitors the VBUS line to identify the US connect event (VBUS = 5 V). As soon as a US connect event is detected, Step 2 is initiated. Step 2: The PSoC 4 solution has implemented three popular RID values as default (72 kΩ, 80 kΩ, and 124 kΩ). PSoC 4 varies the current to emulate various RID_A values and monitors the SUSPEND signal. If enumeration (SUSPEND = 0) is successful for any one of these values, the PSoC 4 device locks the RID value. PSoC 4 then waits for the USB Host to stop driving VBUS (VBUS = Floating) before allowing the power management IC to drive VBUS. If enumeration is not successful (SUSPEND = 1), Step 4 is initiated. Note The PSoC 4 firmware can be updated to support additional RID values as required. Step 3: PSoC 4 monitors the voltage across the RID to identify the US disconnect event. If a disconnect event is detected, HX3 and PSoC 4 will automatically reset. Step 4: If the connected phone or tablet is not ACA-Dock-capable, PSoC 4 will set RID = GND (OTG Mode which supports enumeration without US charging). If enumeration (SUSPEND = 0) is successful, PSoC 4 device locks the RID value. If enumeration is not successful (SUSPEND = 1), PSoC 4 will stop driving current on the RID line and wait for a disconnection event to occur. Document No. 001-96321 Rev. ** 6 5. Smartphones and Tablets Proven to support ACA-Dock or OTG Mode Operation HX3’s ACA-Dock solutions (CY4613 Development Kit and HX3 and PSoC 4-based Solution) have been proven through testing by thirdparty testing at Allion Labs. Based on test results, the following 27 mobile devices across 9 Brands have been proven to support ACA-Dock or OTG Mode operation on HX3. Table 2: ACA-Dock Phones Proven with HX3 (14 Models) Brand Device Models Asus DELL PadFone Infinity A86, Nexus 7 Sony Xperia Neo V, P, and S 3 Xperia TX LT29i, Xperia Arc 2 Galaxy Note 2, Note 3, Note 4 Galaxy Note Pro Tablet 12.2 Galaxy S3, S4 6 Samsung Document No. 001-96321 Rev. ** XPS 10 # of Mobile Devices Supported 2 1 7 Table 3: OTG Mode Phones Proven with HX3 (13 Models) OEMs Brand # of Mobile Devices Supported Asus ACER hTC Zen Phone 5 1 Iconia W510-1666 Tablet New One M8 1 LG D838 (G Pro 2), Nexus 5 Optimus Pad G-Slate, T-Mobile Tablet N1T OPPO Samsung Sony Zotac Document No. 001-96321 Rev. ** S5 (SM-G900I) Xperia Z Ultra C6802, Xperia Z2 Phone Xperia Z2 tablet Tegra Note7 1 4 1 1 3 1 8 6. Appendix: Question: How do I identify a Rev04 CY4613 board? Answer: The revision number is printed on the back of the CY4613 board as shown in Figure 5. Figure 5: Marking of Revision Number on CY4613 Board Document No. 001-96321 Rev. ** 9 Question: How is the Rev04 CY4613 different from the previous CY4613 boards? Answer: Rev04 CY4613 Board: Supports two RID_A values: 124 kΩ and 73.2 kΩ RID_A selection jumper (J27) is a 3-pin jumper The RID_A can be set to 124 kΩ by setting jumper J27 to connect Pin 1 and Pin 2. The RID_A can be set to 73.2 kΩ by setting jumper J27 to connect Pin 2 and Pin 3. Earlier versions of CY4613 Board: Supports RID_A value of 124 kΩ RID_A selection jumper (J27) is a 2-pin jumper. RIA_A can be set to 124 kΩ by setting jumper J27 to connect Pin 1 and Pin 2. Document No. 001-96321 Rev. ** 10 1) Related Categories: Keywords: HX3, ACA-Dock, ACA Dock, ACAdock, upstream charging, Battery charging, BC V1.2, SmartPhone charging, Smart phone charging, Tablet charging Product Family: USB Super Speed Hubs Related Tags: [Select the Tags by clicking the checkbox associated to the Tags] Clocks & Buffers Tags Adapter CML Charge Pump CyClock Delay Enhanced Performance Algorithm CY3670 Clock Tree CyClockWizard Deterministic Jitter Ent Bitmap CY3672 Clocks CyberClocks Differential Entrant Buffer CY3675 Clocks and Buffers CyberClocks Online Divider FNOM Bypass CY36800 ComLink Cycle to Cycle Duty Cycle Factory CLKMAKER Cascade Crystal Oscillators DCXO EMI Failsafe Fanout Frequency Margining Hershey Kiss Inverted LVPECL Multiplier FastEdge Function Select I2C Jed Layout NZDB Feedback Generators IBIS Model Jedec Lexmark Profile Non-Volatile Memory Field Ground Bounce Impedance Jitter Loop Bandwidth OTP Flexo HPB Input LVCMOS MoBL Offset Frequency HSTL InstaClock LVDS Modulation Rate Oscillator Output Period Propagation Rise Fall Time Socket Synthesizer Overvoltage Phase Pullability RoboClock Specialty Clocks TCXO PCI Express Phase Noise RMS Schematic Spread % TIE PLL Power Supply Noise Rambus Serial Spread Aware Termination PPM Program Random Jitter Signal Integrity Spread Profile Thermal PREMIS Programmable Reference Skew Spread Spectrum Translator Undervoltage Voltage Droop UniClock XCG Unit Interval XDR VCO XO VCXO Xtal Volatile Memory ZDB Document No. 001-96321 Rev. ** 11 Zepto Lighting & Power Control Tags Board Layout Boost Regulator Buck Regulator CY3261 CY3267 CY3268 CY3269 HB LEDs Programming Color Mixing Hysteretic Controller SSDM Current Sense MOSFETs Schematics DALI MPPT Switching Regulators DMX Modulators Trip FN Pins PrISM Voltage Regulator Wireless/RF Tags 2.4 GHz CY3271 CYRF6936 HID 8DR CY3630 CYRF7936 HUB Antenna CY4636 Channel IRQ Audio CY4672 DDR Interference Avoidance AgileHID CYFI DSSS Keyboard Bridge CYFISNP GFSK Link Budget Mouse PRoC-EMB Pseudo Noise code SDR Wireless Wireless Capacitive Touch Node PRoC-TT RF SOP Wireless USB PMU PRoC-USB RSSI SPIM Wireless USB LP PN Code PRoC-UI Range Star-Network Protocol Wireless USB LS PRoC Power Amplifier Remote Streaming Wireless USB LR PRoC-CS Preamble SCD Trackpad Wireless USB NL Automotive Bus Contention Autostore Clock BHE / BLE DDR BUSY Data Bus Datasheet Dual Port Echo Clocks FIFO Flowthrough Fullflex I2C INT Memory Tags Address Bus Battery Backup Data Integrity FPGA Async Burst Data Retention Flags HD-FIFO Document No. 001-96321 Rev. ** HSB FRAM Impedance Matching HOLD Interface 12 Interleaving MoBL PLL / DLL Password Protection QDR Read Signal Integrity Vddq JTAG Models Packaging Pin Configuration Qualification Reports SER Sync Voltage Levels Junction Temperature NoBL Parallel Low Power ODT Parity Pipeline Power Consumption Quality RECALL SPCM Technology Vref SPI Termination Width / Depth Expansion MSL Obsolete Part Decoder Power On State Migration Path PCB Part Difference Processor RTC Race Condition SRAM Timing Serial Vcap Write nvSRAM uPower Interface Tags 10B/8B Decoder BSDL CY3950i 3 Level Inputs Biasing CYUSBISRPC ALDEC CDR Cable ATM CML Cable Driver Altera CPLD Channel Bonding BIST CY3900i Clock Multiplier Clocking Modes DVB Dual Channel Error Framing Character HotlinkI Coaxial Cable Data Character EPLD Evaluation Board Framing Mode HotlinkII Copper Cable Data rate EPROM FPGA Gigabit Ethernet IP Coupling Delta39K ESCON Fiber Optics Hex Isr Crystal Deserialize Elasticity Buffer Flash370i High Speed Serial Links Jtag Current Deserializer Equalizer Framer Hotlink LFI LVTTL Non-Volatile PECL Phase Align Buffer Quad Channel Report File Logic Level OC-1 PLD PoF Quantum38K Reprogrammable Loop Back OC-2 PLL Point To Multi Point Receiver SMA Macrocell OC-3 Parallel Input Point To Point Recovered Clock SMPTE Max340 Operating System Parallel Output Power Supply Redundant Outputs SMPTE-259M Model PAL Parity Programming Reference Clock SMPTE-292M SONET Serial Output TTL SPICE Serializer Temperature SPLD Simulator Third Party Tool STAPL Size Transceiver SVF Special Character Transmitter Serial Input Specification USBISRPC Cable Document No. 001-96321 Rev. ** 13 Ultra37K Word Sync Sequence User Guide VHDL Verilog Voltage Warp PSoC 1 Tags ADC Boot.asm Clock Compiler ADCINC Bootloader Clock Synchronization Counter Analog BSDL Files Analog Bus Build Errors API Calibration Assembly Language Capsense Cloning Column Clock Communication Comparator CPU Speed Crystal CT Block DAC Dynamic Reconfiguration Flash Security ICE Cube Large Memory Model Debugging Decimator Delta Sigma ADC Development Kit Digital ECO Global Resources Installation EEPROM GPIO Internet Explorer Errata Hex File Interrupt Filter I2C ISR Flash I2C-USB Bridge ISSP License OCD MAC Offset MiniProg1 Pod MiniProg3 Port and Pins Mux Power Management PWM RAM RTC SAR SC Block Timer UART USB LCD Mux Bus Production Programmer System Level Design Amplifier UM SMP SPI USBUART Watchdog Communication UM CRC UM CYFI Fan Controller UM Firmware UM FMEA Analog Hardware Mux Analog Mux Boost Converter Character LCD Clock Comparator Analog Reference Device Programming Port Expander Analog UM Build Tools Digital UM DTMF PSoC Power System Architecture Voltage Sequencer UM PSoC 3/4/5 Tags Component Tags Document No. 001-96321 Rev. ** Bootloader / Bootloadable Control / Status Register CAN CapSense_CSD Counter CRC 14 DAC Digital Comparator Debouncer Digital Multiplexer Delta Sigma ADC DMA DFB EEPROM DFB Assembler emFile SPI Mode EzI2C Slave Fan Controller Filter Frequency Divider Glitch Filter Graphic LCD Lookup Table Ports and Pins I2C /I 2S Manual Routing Power Monitor Interrupt Mixer PWM LIN Opamp Quadrature Decoder RTC RTD Calculator iAP MDIO PRS Sample / Track and Hold Sleep Timer Thermocouple Calculator SAR ADC SAR Sequencer Segment LCD SM / PMBus SPDIF SPI TIA Timer TMP05 Interface UART UDBClkEn USBFS USBMIDI Voltage Sequencer Vref WaveDAC SGPIO Sync TrimMargin Voltage Fault Detector General Tags Analog Bus Bootloader Host Compiler - KEIL Custom Component Interconnect Errata KEIL Registration Shift Register Thermistor Calculator Analog Global Bus Boundary Scan / BSDL Compiler - MDK Datapath Configuration Tool Error Message Linux Platform Optimization Programmer COM Schematic Silicon Verilog Kit Tags CAN / LIN EBK First Touch Kit Document No. 001-96321 Rev. ** Watchdog CapSense Expansion EBK LCD Segment Drive EBK Analog Mux Bus Bridge Control Panel Compiler - RVDS Debugging Flash Low Power Modes PSoC Creator Software Download Windows Platform CY8CKIT-001 Kit MFI EBK Die Temperature EMIF Global Signal Reference Logic Gates PGA Resistive Touch USBUART (CDC Interface) API Application Specific Assembly Language Build Settings Clock Compiler - GCC Cortex-M0 Cortex-M3 Creator Registration DMA Wizard DVK ECO Installation MFi ISSP / HSSP MiniProg3 Reset RTOS Hex File LVD / HVD PSoC Programmer STA CY8CKIT-030 / 050 Kit Power Supervisor EBK Supply Voltage CY8CKIT-042 Kit PSoC 3/4/5 Processor Module System Reference Guide Digital Audio EBK Thermal Management EBK 15 Touch Sensing Tags ADC Air gap CSA CSD CY3203A CY3213A CY3280-21x34 CY8C20x34 CY8C20xx6 CY8C21x34 CapSense Express Circuit Housing Conductive Objects EEPROM EMI ESD Errors FR4 I2C I2C-USB Bridge IDAC Metal Noise Overlay Power Consumption Sensors Water Proximity Shield Water Proofing SNR Sliders CY8CMBR2044 Dynamic Reconfiguration Filters Finger Threshold IMO and Prescaler ITO PSoC3 CapSense SPI SmartSense Parasitic Capacitance Scanning Techniques Tuning Backlighting CSD Parameters CY3214 Flex PCB Layout Guidelines Pathfinder Schematic UART Bleeder Resistor Bootloader CMOD CSD2X CSDADC CSDAUTO CY3218 CY3280-20x34 CY8C21xxx-CapSense Express Configuration CY3280-20xx6 CY8C24x94 Diplexing USB Controllers Tags 8051 Auto Mode AN2131 Bandwidth AT2LP Blaster ATA / ATAPI Bulk Transfer ATA Commands Bus Power Asynchronous C# C++ CY3655 CY3684 CY4615 Crystal EEPROM EnCoreIII CAT5 CY3660 CY3685 CYUSB CyConsole EZ-HOST EnCoreV CF Card CY3662 CY3686 Clock DLL EZ-OTG Encore CY3216 CY3664 CY4605 Compliance Debug EZ-USB Endpoint CY3649 CY3674 CY4606 Control Center Descriptors Emulation Enumeration CY3654 CY3681 CY4611B Control Transfer Driver EnCoreII Errata FIFO Firmware Debug FX Flags FX1 Framework FX2 Full Speed FX2LP GPIF Firmware HDD Document No. 001-96321 Rev. ** 16 HID Hub Isochronous Transfer Low Speed Mouse OUT Transfer HX2 I2C Keil M8A NX2LP Port IO HX2LP ICE Keyboard M8B NX2LP-Flex Register Hi-Lo Programmer IN Transfer Layout Manual Mode Nand Flash Renumeration High Speed Interrupt Transfer Library Mass Storage Nand Manufacturing Utility Report Host Application Interrupts Loader Memory OTP Reset SIE Screamer Synchronous UART Video Class SL811HS Script TX2 UDMA WHQL SPI Self Power TX2UL USBFS WLK SX2 Slave FIFO Tetra Hub USBUART cyapi Schematic Streaming Throughput USBSerial uVision FX3 FX3 GPIO JTAG Slavefifo FX3S HX3 ADMux FX3 Power Management LPP USB 3.0 eMMC ASSP ARM926EJ -S FX3 Power supply MSC USB Compliance Test SDIO Battery charging Bootloader FX3 SDK Oscillator USB Host S-Ports Bootloader DMA GPIF II RTOS UVC Bay Cortex-M0 Eclipse HS-OTG SD Card GPIOs USB 3.0 hub HX3 Power Management USB Shared Link™ HX3 Power supply ACA-Dock I2C In-system programming Oscillator SFR Schematic Review SuiteUSB Timer Vendor Command SuperSpeed Document No. 001-96321 Rev. ** Benicia EEPROM 17 Knowledge Base Article Type: [Select the category by clicking the checkbox associated] KB Type-1 Compiler Component Development Development Kits Development Tools Device Drivers Device Programming Documentation Firmware General Hardware KB Type-2 ByteCraft Imagecraft Keil HiTech Training/Things you should know Component Architecture Component/Project management Datapath Analog components Digital components Component software/tools Component Testing FirstTouch Kit Pullability Mass Storage PSoC Programmer Digital Specifications Analog Known Problems and Solutions Microcontrollers 8051 M8 M8C Modules Document No. 001-96321 Rev. ** 18 Platforms Protocols MacOS X Windows HID I2C Quality Reference Designs Software User Modules Document No. 001-96321 Rev. ** PSoC Designer PSoC Creator Analog Digital 19 DOCUMENT HISTORY Document Title: Supporting ACA-Dock Feature in Smartphone and Tablet Docks with HX3 USB 3.0 Hub Controller – KBA96321 Document Number: 001-96321 Rev. ECN No. ** 4657458 Orig. of Change RAJM Description of Change Created new KBA. Distribution: WEB Posting: None Document No. 001-96321 Rev. ** 20