C P 2 11 4 S INGLE - C HIP US B A UDIO T O I2S D IGITAL A UDIO B RIDGE USB Peripheral Function Controller Single-Chip USB Audio to I2S Digital Audio Bridge USB HID to I2C to communicate with DAC/codec Supports USB HID Consumer Controls for Volume and Mute Synchronization Integrated USB transceiver; no external resistors required Integrated clock; no external crystal required Integrated One-Time Programmable ROM for product customization On-chip voltage regulator: 3.45 V output USB USB USB HID to UART Auxiliary Communication Interface APIs for quick application development Windows 8, 7, Vista, XP, Server 2003, 2000 Supports Mac OS-X Supports 12 Configurable GPIO Pins with Alternate Functions Usable as inputs, open-drain or push-pull outputs signals, audio playback controls, DAC select pins Configurable clock output Toggle LEDs upon UART transmission or reception Supports a Wide Range of codecs/DACs UART Out-of-box support for three major codecs/DACs programmable memory supports additional codec/DAC configurations Internal Supply Voltage USB Audio Class v1.0 support Self-powered: 3.0 to 3.6 V bus powered: 4.0 to 5.25 V I/O voltage: 1.8 V to VDD Master mode, I2S and left justified PCM outputs Supports 48 kHz,16-bit stereo digital audio No custom driver required Supports Windows 7, Vista, XP, Mac OS-X, Linux Supports iPad/iOS (with USB camera kit connector) Open access to interface specification I Specification 2.0 compliant; full-speed (12 Mbps) Suspend states supported via SUSPEND pins 2S USB Package RoHS-compliant 32-pin QFN (5 x 5 mm) Ordering Part Number CP2114-B01-GM Temperature Range: –40 to +85 °C CP2114 Connect to VBUS or External Supply REGIN VDD Voltage Regulator Internal Oscillator Baud Rate Generator UART Controller GND VBUS UART GPIO.0_RMUTE USB Interface USB Connector GPIO.10_TX GPIO.11_RX GPIO.1_PMUTE VBUS D+ D+ D- D- Full-Speed 12 Mbps Transceiver Peripheral Function Controller Data FIFOs GPIO.2_VOL+ 256 B RX GPIO.3_VOL- 256 B TX GND RST VPP Volume/Mute Controls GPIO.4_RMUTELED GPIO and Suspend Controller GPIO.5_TXT_DACSEL0 GPIO.6_RXT_DACSEL1 GPIO.7_RTS_DACSEL2 CODEC/DAC Selector GPIO.8_CTS_DACSEL3 352 Byte PROM (USB Customization) GPIO.9_CLKOUT Clock Output (optional) SUSPEND SUSPEND Logic Level Supply (1.8V to VDD) VIO I/O Power and Logic Levels Audio Controller CS42L55 Configuration PCM1774 Configuration Suspend Signals SDA SCL MCLK Support for 32 Audio CODEC//DAC Configurations 5.5 kByte PROM (Audio Customization) WM8523 Configuration SCK LRCK I2S and I2C Signals to CODEC/DAC SDIN SDOUT EXTCLK Clock Input (optional) Figure 1. Example System Diagram Rev. 1.1 1/14 Copyright © 2014 by Silicon Laboratories CP2114 CP2114 2 Rev. 1.1 CP2114 TABLE O F C ONTENTS Section Page 1. System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 2. Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 3. Pinout and Package Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4. QFN-32 Package Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 5. Audio (I2S and I2C) Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 5.1. One-Time Programmable ROM Configuration Programming . . . . . . . . . . . . . . . . . . 18 5.2. Real-Time Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.3. CP2114 I2S and Left-Justified Digital Audio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.4. USB and Digital Audio Clock Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.5. USB Audio Synchronization Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5.6. CP2114 Clock Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6. USB Function Controller and Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 7. Asynchronous Serial Data Bus (UART) Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 8. GPIO Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 8.1. GPIO.0-4—Audio Playback and Record . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 8.2. GPIO.5-8—DAC Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 8.3. GPIO.5-6—UART Transmit and Receive Toggle . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 8.4. GPIO.7-8—Hardware Flow Control (RTS and CTS) . . . . . . . . . . . . . . . . . . . . . . . . . 27 8.5. GPIO.9—Clock Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 9. One-Time Programmable ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 9.1. Audio Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 9.2. USB and GPIO Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39 10. Voltage Regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 11. CP2114 Interface Specification and Windows Interface DLL . . . . . . . . . . . . . . . . . . . . 42 12. Relevant Application Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Document Change List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Contact Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 Rev. 1.1 3 CP2114 1. System Overview All major commercial operating systems (Windows, Linux, Mac, iOS) support the standard USB Audio Device class. Codecs and DACs typically have only an I2S (Inter-IC Sound) digital interface, and thus cannot connect directly to a host system. In addition, when a DAC is powered on, it typically needs to be configured by the host via an I2C (inter-integrated-circuit) digital interface, with a non-standard protocol. Finally, in order to support push button volume and mute synchronization with the host system, the target USB device must support the standard USB-HID Consumer Control interface. Thus, adding USB digital audio to an embedded system or as dongle or appliance typically involves complex USB protocol programming as well as I2S and I2C programming capability, prototyping, integration and testing. The CP2114 USB Audio Bridge is specifically designed to overcome all these issues and commoditize USB Audio and DAC configuration for turn-key product development. Note: Use with an iPad requires a camera kit connector to get USB from the Apple 30-pin connector. USB Audio is not supported on the iPhone. The CP2114 includes a USB 2.0 full-speed function controller, USB transceiver, oscillator, one-time programmable read-only memory (ROM), I2S (audio) interface, I2C (control) interface, and UART interface in a compact 5 x 5 mm QFN-32 package (sometimes called “MLF” or “MLP”). The one-time programmable ROM on the device may be used to customize both product information (including USB fields such as Vendor ID, Product ID, Strings, etc...) and external DAC configuration strings. By default, the CP2114 provides the following features Enumerates to the host as a Standard USB Audio Device and HID Consumer Control supporting: USB Digital Audio Out (Audio Playback Device) Digital Audio In (Microphone/Recording Device) HID Consumer Control handling standard volume and mute functionality USB Pre-configured support for 3 commercial DACs I2C Handles all configuration of the DAC automatically at boot Handles all volume and mute traffic converting from USB to I2C messages to the DAC Tested for USB plug & play and audio quality on all major operating systems interface using standard USB HID device class which is natively supported by most operating systems UART No custom driver installation needed and MAC DLLs provided and interface specification is available for development on any operating system Implements transmit (TX), receive (RX), hardware flow control (CTS, RTS) Baud rate support from 300 to 1 Mbps, support for 5-8 data bits, 5 parity options, 3 types of stop bits Note: The CP2114 devices will not enumerate as a standard HID mouse or keyboard. Windows 12 GPIO signals which support alternate functions Volume control, UART transmit and receive, UART hardware flow control, UART transmit/receive toggle, configurable clock output, and DAC selection Support for I/O interface voltages down to 1.8 V is provided via a VIO pin. An evaluation kit for the CP2114 (Part Number: CP2114EK) is available. It includes a CP2114-based USB-to-Audio motherboard, a USB cable, and full documentation. Additional kits with daughtercards are available as well: CP2114-CS42L55 evaluation kit (Part Number: CP2114-CS42L55EK) includes: USB-to-I2S Digital Audio motherboard Cirrus Logic CS42L55 Codec daughtercard (includes a 3.5mm male-to-male audio cable) CP2114 CP2114-WM8523 evaluation kit (Part Number: CP2114-WM8523EK) USB-to-I2S Digital Audio motherboard Wolfson Microelectronics WM8523 DAC daughtercard CP2114 CP2114-PCM1774 evaluation kit (Part Number: CP2114-PCM1774EK) USB-to-I2S Digital Audio motherboard Texas Instruments PCM1774 DAC daughtercard CP2114 All kits with daughtercards include a USB cable, ear bud headphones, and full documentation. Contact a Silicon Labs sales representatives or go to www.silabs.com to order a CP2114 Evaluation Kit. 4 Rev. 1.1 CP2114 2. Electrical Characteristics Table 1. Global DC Electrical Characteristics VDD = 3.0 to 3.6 V, –40 to +85 °C unless otherwise specified. Parameter Test Condition Min Typ Max Unit Digital Supply Voltage (VDD) 3.0 — 3.6 V Digital Port I/O Supply Voltage (VIO) 1.8 — VDD V Digital Supply Current (USB Active Mode)1 Bus Powered Mode Self Powered Mode with Regulator enabled Self Powered Mode with Regulator disabled — 18 28 mA Digital Supply Current (USB Suspend Mode)1 Bus Powered Mode Self Powered Mode with Regulator enabled — 750 940 µA Self Powered Mode with Regulator disabled — 0.99 1.2 mA — 200 228 µA –40 — +85 °C Supply Current - USB Pull-up2 Specified Operating Temperature Range Notes: 1. If the device is connected to the USB bus, the USB Pull-up Current should be added to the supply current for total supply current. 2. The USB Pull-up supply current values are calculated values based on USB specifications. Rev. 1.1 5 CP2114 Table 2. I2S, I2C, UART and Suspend I/O DC Electrical Characteristics VDD = 3.0 to 3.6 V, VIO = 1.8 V to VDD, –40 to +85 °C unless otherwise specified. Parameters Test Condition Min Typ Max Unit IOH = –10 µA IOH = –3 mA IOH = –10 mA VIO – 0.1 VIO – 0.2 — — — VIO – 0.4 — — — V IOL = 10 µA IOL = 8.5 mA IOL = 25 mA — — — — — 0.6 0.1 0.4 — V Input High Voltage (VIH) 0.7 x VIO — — V Input Low Voltage (VIL) — — 0.6 V Output High Voltage (VOH) Output Low Voltage (VOL) Input Leakage Current Weak Pull-Up Off Weak Pull-Up On, VIO = 0 V — — — 25 1 50 µA Maximum Input Voltage Open drain, logic high (1) — — 5.8 V Table 3. Reset Electrical Characteristics –40 to +85 °C unless otherwise specified. Parameter Test Condition Min Typ Max Units RST Input High Voltage 0.75 x VIO — — V RST Input Low Voltage — — 0.6 V Minimum RST Low Time to Generate a System Reset 15 — — µs VDD Ramp Time for Power On — — 1 ms Table 4. Voltage Regulator Electrical Specifications –40 to +85 °C unless otherwise specified. Parameter Test Condition Min Typ Max Unit 3.0 — 5.25 V 3.3 3.45 3.6 V VBUS Detection Input Threshold 2.5 — — V Bias Current — — 120 µA Input Voltage Range Output Voltage Output Current = 1 to 100 mA* *Note: The maximum regulator supply current is 100 mA. This includes the supply current of the CP2114. 6 Rev. 1.1 CP2114 Table 5. GPIO Output Specifications –40 to +85 °C unless otherwise specified. Parameter Test Condition Min Typ Max Unit fOUT x 0.985 fOUT fOUT x 1.015 Hz TX Toggle Rate — 20 — Hz RX Toggle Rate — 20 — Hz Min Typ Max Unit VDD V GPIO.9 Clock Output Table 6. One Time Programming Specifications VDD = 3.3 to 3.6 V, –40 to +85 °C unless otherwise specified. Parameter Test Condition Digital Port I/O Supply Voltage (VIO) during programming 3.3 Voltage on VPP with respect to GND during a programming operation VIO > 3.3 V 5.75 — VIO + 3.6 V — 4.7 — µF Test Condition Min Typ Max Unit Internal Oscillator SF = 0 (Register: System_Props, bit: 1) SF = 1 (Register: System_Props, bit: 1) — — 48 49.152 — — MHz MHz External CMOS clock input frequency SF = 0 (Register: System_Props, bit: 1) SF = 1 (Register: System_Props, bit: 1) 47.880 — 48 49.152 48.120 — MHz MHz Capacitor on VPP for programming Table 7. System Clock Specifications VDD = 3.3 to 3.6 V, –40 to +85 °C unless otherwise specified. Parameter 1. Depending on the requirements of the external DAC, the system clock frequency will be either 48.0 or 49.152 MHz. See Section 5.6 for more information. 2. The USB specification requires a clock accuracy of ±0.25%. Rev. 1.1 7 CP2114 Table 8. I2S Digital Audio Interface Specifications VDD = 3.3 to 3.6 V, –40 to +85 °C unless otherwise specified. Parameter Min Typ Max Unit Resolution (analog output) — 16 — bits Resolution (analog input) — 15 — bits (SYSCLK = 48 MHz) — 12 — MHz (SYSCLK = 49.152 MHz) — 12.288 — MHz — 48 — kHz (SYSCLK = 48 MHz) — 3.429 — MHz (SYSCLK = 49.152 MHz) — 3.511 — MHz SCS = 0 (external Si500S clock) (Register: System_Props, bit: 2) — 20 — ps RMS* SCS = 1 (internal oscillator) (Register: System_Props, bit: 2) — 140 — ps RMS* MCLK frequency Test Condition LRCK frequency SCK frequency MCLK/LRCK jitter *Note: Measurement bandwidth: 100 Hz –40 kHz. Table 9. I2C Specifications VDD = 3.3 to 3.6 V, –40 to +85 °C unless otherwise specified. Parameter SCL frequency 8 Test Condition Min Typ Max Unit I2C_CK = 0 (Register: Audio_Props, bit: 5) I2C_CK = 1 (Register: Audio_Props, bit: 5) — — 400 100 — — kHz Rev. 1.1 CP2114 Table 10. Analog Output/Input Characteristics (CS42L55 daughtercard) 25 °C, bus-powered, USB synchronization mode: asynchronous, digital audio interface mode: I2S, DAC/ADC gains set to 0 dB, test signal for analog output: uncompressed WAV file, full-scale sine wave at 997 Hz, measurement bandwidth 20 Hz to 20 kHz Additional parameters that apply to this table are as follows: VA = VCP = VLDO = 2.5 V Internal oscillator mode Parameter Test Condition Min Typ Max Unit 0 dB input –20 dB input –60 dB input — — — –80 –91 –91 — — — dB dB dB A-weighted — 92 — dB Output muted — –112 — dB 20 Hz – 20 kHz — +0.03, –0.07 — dB –1 dB input –20 dB input –60 dB input — — — –85 –87 –87 — — — dB dB dB A-weighted — 90 — dB Analog input locally muted — 0* — dB Analog Output (Line Output) THD + Noise Dynamic Range Noise Level Frequency response Analog Input THD + Noise Dynamic Range Noise Level *Note: When analog input is locally muted, the CP2114 transmits sample values of 0 to the host. Table 11. Analog Output Characteristics (WM8523 daughtercard) 25 °C, bus-powered, USB synchronization mode: asynchronous, digital audio interface mode: I2S, DAC/ADC gains set to 0 dB, test signal for analog output: uncompressed WAV file, full-scale sine wave at 997 Hz, measurement bandwidth 20 Hz to 20 kHz Additional parameters that apply to this table are as follows: LINEVDD = AVDD = 3.3 V Internal oscillator mode External headphone amplifier disconnected, no lowpass filter on LINEVOUTL/LINEVOUTR Parameter THD + Noise Dynamic Range Noise Level Frequency response Test Condition Min Typ Max Unit 0 dB FS input –20 dB FS input –60 dB FS input — — — –83 –91 –91 — — — dB dB dB A-weighted — 94 — dB Output muted — –99 — dB 20 Hz – 20 kHz — +0.04, –0.05 — dB Rev. 1.1 9 CP2114 Figure 2. WM8523 Frequency Response (0 dB FS) Figure 3. WM8523 THD+N vs. Frequency (0 dB FS) 10 Rev. 1.1 CP2114 Figure 4. WM8523 THD+N vs. Amplitude (997 Hz) Table 12. Analog Output/Input Characteristics (PCM1774 Daughtercard) 25 °C, bus-powered, USB synchronization mode: asynchronous, digital audio interface mode: I2S, DAC/ADC gains set to 0 dB, test signal for analog output: uncompressed WAV file, full-scale sine wave at 997 Hz, measurement bandwidth 20 Hz to 20 kHz Additional parameters that apply to this table are as follows: VIO = VDD = VCC = VPA = 3.3 V. AOUT_L and AOUT_R outputs have 4.7 series resistors. Internal oscillator mode. Parameter THD + Noise Dynamic Range Noise Level Frequency response Test Condition Min Typ Max Unit 0 dB FS input –20 dB FS input –60 dB FS input — — — –82 –89 –89 — — — dB dB dB A-weighted — 89 — dB Output muted — –103 — dB 20 Hz – 20 kHz — +0.04, –0.11 — dB Rev. 1.1 11 CP2114 Table 13. Absolute Maximum Ratings Parameter Min Typ Max Unit Ambient Temperature Under Bias –55 — 125 °C Storage Temperature –65 — 150 °C VIO > 2.2 V VIO < 2.2 V –0.3 –0.3 — — 5.8 VIO + 3.6 V VDD > 3.0 V VDD not powered –0.3 –0.3 — — 5.8 VDD + 3.6 V –0.3 — 4.2 V Maximum Total Current through VDD, VIO, and GND — — 500 mA Maximum Output Current Sunk by RST or any I/O pin — — 100 mA Voltage on RST, GPIO, I2S, I2C, or UART Pins with respect to GND Voltage on VBUS with respect to GND Test Condition Voltage on VDD or VIO with respect to GND Note: Stresses above those listed may cause permanent damage to the device. This is a stress rating only, and functional operation of the devices at or exceeding the conditions in the operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. 12 Rev. 1.1 CP2114 3. Pinout and Package Definitions Table 14. CP2114 Pin Definitions Name Pin # VDD 7 Type Description Power In Power Supply Voltage Input. Power Out Voltage Regulator Output. See Section 10. VIO 6 GND 3 RST 10 REGIN 8 VBUS 9 D In VBUS Sense Input. This pin should be connected to the VBUS signal of a USB network. D+ 4 D I/O USB D+ D– 5 D I/O USB D– VPP 21* Special SUSPEND 17* D Out This pin indicates whether the device is in the USB Suspend or not (activelow). SUSPEND 18* D Out This pin indicates whether the device is in the USB Suspend or not (activehigh). SCK 2 D Out Serial clock output signal for the I2S interface. SDIN 1 D In SDOUT 32 D Out Serial data output signal for the I2S interface. MCLK 25 D Out Master clock output signal for the I2S interface. LRCK 23 D Out Left-right clock output for the I2S interface. EXTCLK 31* D In External clock input of CP2114 (optional). An external clock is needed if the codec/DAC does not support a 12.000 MHz master clock (MCLK). SDA 27 D I/O Serial data signal for the I2C interface. SCL 26 D I/O Serial clock signal for the I2C interface. GPIO.0 30* D I/O User-configurable input or output. D In Record Mute: Toggles record between mute and un-mute each time this pin is driven low. D I/O User-configurable input or output. D In Playback Mute: Toggles playback between mute and un-mute each time this pin is driven low. RMUTE GPIO.1 PMUTE 29* Power In I/O Supply Voltage Input. Ground. Must be tied to ground. D I/O Device Reset. Open-drain output of internal POR or VDD monitor. An external source can initiate a system reset by driving this pin low for the time specified in Table 3. Power In 5 V Regulator Input. This pin is the input to the on-chip voltage regulator. Connect a 4.7 µF capacitor between this pin and ground to support one-time programming via the USB interface. Serial data input signal for the I2S interface. *Note: Pins can be left unconnected when not used. Rev. 1.1 13 CP2114 Table 14. CP2114 Pin Definitions (Continued) Name Pin # Type GPIO.2 14* D I/O User-configurable input or output. D In Decreases volume each time this pin is driven low. D I/O User-configurable input or output. D In Increases volume each time this pin is driven low. D I/O User-configurable input or output. D Out Record Mute LED: This pin is driven low while recording is muted. D I/O User-configurable input or output. TXT D Out This pin toggles while the UART is transmitting data and is logic high when the UART is not transmitting data. DACSEL0 D In Selects one of the predefined DACs. See Section 8.2 for more information. D I/O User-configurable input or output. VOLGPIO.3 13* VOL+ GPIO.4 12* RMUTELED GPIO.5 GPIO.6 28* 11* Description RXT Out This pin toggles while the UART is receiving data and is logic high when the UART is not receiving data. DACSEL1 D In Selects one of the predefined DACs. See Section 8.2 for more information. D I/O User-configurable input or output. RTS D Out Ready to Send control output (active low) for the UART Interface. DACSEL2 D In Selects one of the predefined DACs. See Section 8.2 for more information. D I/O User-configurable input or output. CTS D In Clear To Send control input (active low) for the UART Interface. DACSEL3 D In Selects one of the predefined DACs. See Section 8.2 for more information. D I/O User-configurable input or output. D Out Outputs a configurable frequency clock signal. D I/O User-configurable input or output. D Out Asynchronous data output (UART Transmit) for the UART Interface. D I/O User-configurable input or output. D In Asynchronous data input (UART Receive) for the UART Interface. GPIO.7 GPIO.8 GPIO.9 19* 20* 22* CLKOUT GPIO.10 16* TX GPIO.11 15* RX NC 24* This pin should be left unconnected or tied to VIO. *Note: Pins can be left unconnected when not used. 14 Rev. 1.1 SDOUT EXTCLK GPIO.0_RMUTE GPIO.1_PMUTE GPIO.5_TXT_DACSEL0 SDA SCL MCLK 32 31 30 29 28 27 26 25 CP2114 SDIN 1 24 NC SCK 2 23 LRCK 3 22 GPIO.9_CLKOUT 21 VPP 20 GPIO.8_CTS_DACSEL3 GND D+ 4 D- 5 VIO 6 19 GPIO.7_RTS_DACSEL2 VDD 7 18 SUSPEND REGIN 8 17 SUSPEND CP2114-GM Top View 14 15 16 GPIO.11_RX GPIO.10_TX 12 GPIO.4_RMUTELED GPIO.2_VOL- 11 GPIO.6_RXT_DACSEL1 13 10 RST GPIO.3_VOL+ 9 VBUS GND (optional) Figure 5. QFN-32 Pinout Diagram (Top View) Rev. 1.1 15 CP2114 4. QFN-32 Package Specifications Figure 6. QFN-32 Package Drawing Table 15. QFN-32 Package Dimensions Dimension Min Typ Max Dimension Min Typ Max A A1 b D D2 e E 0.80 0.00 0.18 0.90 0.02 0.25 5.00 BSC. 3.30 0.50 BSC. 5.00 BSC. 1.00 0.05 0.30 E2 L L1 aaa bbb ddd eee 3.20 0.30 0.00 — — — — 3.30 0.40 — — — — — 3.40 0.50 0.15 0.15 0.10 0.05 0.08 3.20 3.40 Notes: 1. All dimensions shown are in millimeters (mm) unless otherwise noted. 2. Dimensioning and Tolerancing per ANSI Y14.5M-1994. 3. This drawing conforms to the JEDEC Solid State Outline MO-220, variation VHHD except for custom features D2, E2, and L which are toleranced per supplier designation. 4. Recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for Small Body Components. 16 Rev. 1.1 CP2114 Figure 7. QFN-32 Recommended PCB Land Pattern Table 16. QFN-32 PCB Land Pattern Dimensions Dimension Min Max Dimension Min Max C1 C2 E X1 4.80 4.80 4.90 4.90 X2 Y1 Y2 3.20 0.75 3.20 3.40 0.85 3.40 0.50 BSC 0.20 0.30 Notes: General 1. All dimensions shown are in millimeters (mm) unless otherwise noted. 2. This Land Pattern Design is based on the IPC-7351 guidelines. Solder Mask Design 3. All metal pads are to be non-solder mask defined (NSMD). Clearance between the solder mask and the metal pad is to be 60 m minimum, all the way around the pad. Stencil Design 4. A stainless steel, laser-cut and electro-polished stencil with trapezoidal walls should be used to assure good solder paste release. 5. The stencil thickness should be 0.125 mm (5 mils). 6. The ratio of stencil aperture to land pad size should be 1:1 for all perimeter pads. 7. A 3x3 array of 1.0 mm square openings on 1.2 mm pitch should be used for the center ground pad. Card Assembly 8. A No-Clean, Type-3 solder paste is recommended. 9. The recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for Small Body Components. Rev. 1.1 17 CP2114 5. Audio (I2S and I2C) Interfaces The I2C interface configures the DAC to output sound and the I2S interface provides the digital audio stream to the DAC. In addition to full-featured off the shelf functionality, the CP2114 can be customized in two ways; via one-time programmable ROM configuration and a real-time API. 5.1. One-Time Programmable ROM Configuration Programming The CP2114 has 5.5kB of on board one-time programmable ROM available to store up to 29 different custom configurations. Three of the 32 slots are preprogrammed configurations. The configurations can be selected as boot configurations and will automatically configure the CP2114 and the I2C connected DAC when the CP2114 is powered on. Alternatively the custom configurations can be assigned to a DAC select pin selection. The boot configuration is then selected by pin-strapping the DAC select pins. Silicon Labs provides a PC GUI application to program the configuration to the CP2114 one-time programmable ROM. The CP2114 can be programmed on a production line or a configuration file can be provided to Silicon Labs and pre-programmed parts can be supplied directly by Silicon Labs. 5.2. Real-Time Programming The CP2114 presents the host with a USB HID interface which can be used to send messages directly to the CP2114 for internal configuration or directly to the DAC over the I2C interface. This provides real-time configuration changes to the CP2114 and DAC via host program control. In addition, the USB HID pipe can be used to write and read to the CP2114 GPIO pins as desired. 5.3. CP2114 I2S and Left-Justified Digital Audio The CP2114 supports “I2S” and “Left-Justified” digital audio formats. Note that the difference in the two modes is that for the I2S format, the MSB of the data streams (SDOUT and SDIN) are delayed by one clock (SCK) cycle after the channel clock (LRCK) transitions as compared to the Left Justified format. The digital audio format can be configured in the CP2114 one-time programmable ROM. Figure 8 shows the signals in I2S format, and Figure 9 shows the signals in Left-Justified format. MCLK Left Channel LRCK Right Channel SCK SDOUT MSB -1 -2 +2 +1 LSB MSB -1 -2 +2 +1 LSB SDIN MSB -1 -2 +2 +1 LSB MSB -1 -2 +2 +1 LSB Figure 8. I2S Format 18 Rev. 1.1 CP2114 MCLK Left Channel LRCK Right Channel SCK SDOUT MSB -1 -2 -3 +2 +1 LSB MSB -1 -2 -3 +2 +1 LSB SDIN MSB -1 -2 -3 +2 +1 LSB MSB -1 -2 -3 +2 +1 LSB Figure 9. Left-Justified Format MCLK: Master Clock. This is a high frequency clock to the connected audio device (e.g. CODEC or DAC) used for the Digital to Analog conversion process within the connected audio device. This clock will be a multiple of the LRCK going to the connected audio device. Typically MCLK = 250*LRCK or MCLK=256*LRCK. LRCK: Left-Right Clock. This is used to synchronize the connected audio device audio data word timing with the CP2114 audio data word timing (i.e., edges are used to synchronize the beginning of the left and right audio samples). SCK: Bit Synchronization Clock (also called BCLK). This provides a timing signal used by the connected audio device to latch the audio output data bits on SDOUT and assert the audio input data bits on SDIN. SDOUT: Audio-out data stream going to the connected audio device (e.g. CODEC). SDIN: Audio-in data stream coming from the connected audio device (e.g. CODEC). Note: MCLK, LRCK, SCK and SDOUT are driven by the CP2114. SDIN is driven by the connected audio device. The CP2114 supports only 48 kHz, 16 bit digital audio. This is typically not an issue for source USB audio as the device capabilities are reported to the host and any sample rate conversion (for say 44.1 kHz audio) is done automatically by the host. However, some audio devices may require 24-bit digital audio data on the I2S data stream. In this case, the CP2114 will send the useful 16-bit audio to the connected audio device on SDOUT in the most significant 16 bits and pad the remaining 8 bits of data with 0s. Likewise the CP2114 will read the MSB 16 bits of data on DIN and throw out the LSB 8 bits from SDIN. The CP2114 can be configured in 16 bit or 24 bit mode via a configuration option in the CP2114 one-time programmable ROM. 5.4. USB and Digital Audio Clock Requirements The CP2114 supports a number of clock configurations allowing support for a variety of audio devices and associated clocking options to optimize cost and quality. The two clocks of consideration are: USB Clock: Full speed USB requires devices have a 12 MHz clock with tolerance of ±0.25%. This means the USB device (CP2114) must maintain its USB clock in the range of 11.97 MHz < USB Clock < 12.03 MHz. This range is supported by the CP2114 which also has built-in USB clock recovery. However, it does have implications on the audio device. Digital Audio Clock (MCLK): Audio devices typically require that MCLK must be a multiple of LRCK, and this multiple is typically required to be 250 or 256 (or some sub or super multiple of these values). Given an audio sample rate of LRCK = 48 kHz, the resulting MCLK requirement is shown in Equation 1 or Equation 2. MCLK = 250 48 kHz = 12.000 MHz Equation 1. Digital Audio Clock (MCLK) Frequency for a Multiple of 250 MCLK = 256 48 kHz = 12.288 MHz Equation 2. Digital Audio Clock (MCLK) Frequency for a Multiple of 256 Rev. 1.1 19 CP2114 An audio device accepting a multiple of 250 is thus compatible with USB clock requirements, whereas an audio device requiring a 256 multiple is fundamentally incompatible with USB clock requirements. In this case, generally one clock is needed for USB and another clock is needed for audio. The CP2114 supports a variety of configurations to address this issue and is covered in Section 5.6. 5.5. USB Audio Synchronization Modes The USB standard defines synchronization relative to source and sinks. For audio-out, the host is the source and the device is the sink. For audio-in, the device is the source and the host is the sink. USB defines modes which govern the operation of sources and sinks according to the following table. The CP2114 supports asynchronous and synchronous modes. Table 17. USB Audio Synchronization Modes Mode Source Sink Asynchronous Free running clock Provides implicit feedforward to the sink Free running clock Provides explicit feedback to the source Synchronous Clock locked to USB SOF Uses implicit feedback Clock locked to the USB SOF Uses implicit feedback Adaptive Clock locked to sink Uses explicit feedback Clock locked to the data flow Uses implicit feedback Notes: 1. Implicit feedforward means the recipient determines the next data input size according to the current input size (i.e. if 48 samples were sent in the current frame then expect the same number in the next frame). 2. Explicit feedback means the recipient of the feedback will receive an explicit request for the number of samples to send in the next frame. 20 Rev. 1.1 CP2114 5.6. CP2114 Clock Configuration The CP2114 always reports its capabilities to the USB host at a sample rate of 48 kHz and sample size of 16 bits. For source audio files differing from this format the USB host will automatically perform sample rate conversion. The CP2114 has the following configuration options: Table 18. Clock Configuration Options Configuration Parameter Stream Type Options Asynchronous Synchronous USB Clock Source Internal External System Clock Source Internal External System Clock Frequency 48 MHz 49.152 MHz 250 256 MCLK/LRCK Ratio Table 19 shows all possible clock configuration settings for the CP2114. The CP2114 divides the USB source clock by 4 so a clock of 48 MHz provides the 12 MHz clock needed for USB. The CP2114 divides the system clock by 4 to derive MCLK. So a 48 MHz system clock will generate MCLK = 12 MHz. If the CP2114 is configured to operate in Asynchronous mode, it will automatically use explicit feedback to the host. If it is configured for Synchronous mode, then the sample synchronization method is noted in the table. There are a number of invalid clocking configurations that result from either the USB clock not resulting in 12 MHz or the MCLK/LRCK not being an integer divisor. Operating in asynchronous mode is recommended because it best accommodates any mismatch in host/CP2114 clocks. Operating in synchronous mode requires the CP2114 to adjust its internal oscillator to match the host sample rate, or to periodically drop or repeat an audio sample if SYSCLK is driven by an External Clock. Table 19. Valid Clock Configuration Modes Mode 1 System USB Clock Clock (USBCLK) (SYSCLK) Source Source Int Int Int Freq (MHz) MCLK/ LRCK Ratio Ext Osc Freq (MHz) 48 250 NA Notes Lowest cost - no external clock required Audio device must support 12.0 MHz MCLK Sync mode: IntOsc adjusted to accommodate clock mismatch 2 Int Ext 48 256 49.152 3 Ext Int 48 49.152 250 256 48 4 Ext Ext 48 250 48 Rev. 1.1 Async mode: best audio quality Sync mode: must drop/repeat samples to accommodate clock mismatch IntOsc frequency dictated by audio device MCLK/LRCK ratio Sync mode: IntOsc adjusted to accommodate clock mismatch Audio device must support 12.0 MHz MCLK Async mode: best audio quality Sync mode: must drop/repeat samples to accommodate clock mismatch 21 CP2114 Figure 10 shows the clocking scheme, with the configurable options shown in darker boxes. The USB clock frequency must always be 12 MHz whether using the internal or an external oscillator. is SYSCLK/4 and so will be 12 MHz or 12.288 MHz (as determined by the audio device clock requirement). LRCK is MCLK divided by 250 or 256 in order to get the correct 48 kHz sample rate conversion. MCLK For For MCLK = 12.288 MHz, the LRCK divisor must be 256. MCLK = 12.000 MHz, the LRCK divisor must be 250. LRCK gates SCK and SCK is driven at SYSCLK / 14. SCK is the clock for SDOUT and SDIN. CMOS Oscillator 48MHz/ 49.152MHz SYSCLK 4 USB USB Block Internal Oscillator 48MHz/49.152 4 MCLK MCLK 250/256 LRCK LRCK 14 SCK SCK Audio Out Buffer SDOUT Audio In Buffer SDIN SDOUT MSB -1 SDIN MSB -1 Figure 10. Clock Configuration Block Diagram The particular setting for configuration 1 (USB and SYSCLK = internal frequency of 48 MHz, MCLK/LRCK divisor = 250) is shown in Figure 11. NC SYSCLK 4 USB USB Block Internal Oscillator 48MHz 4 MCLK MCLK 250 LRCK LRCK 14 SCK SCK Audio Out Buffer SDOUT Audio In Buffer SDIN SDOUT MSB -1 SDIN MSB -1 Figure 11. Configuration 1 Example 22 Rev. 1.1 CP2114 6. USB Function Controller and Transceiver The Universal Serial Bus (USB) function controller in the CP2114 is a USB 2.0 compliant full-speed device with integrated transceiver and on-chip matching and pullup resistors. The USB function controller manages all control, audio, and UART transfers between the USB and the CP2114. The USB Suspend and Resume modes are supported for power management of both the CP2114 device as well as external circuitry. The CP2114 will enter Suspend mode when Suspend signaling is detected on the bus. On entering Suspend mode, the Suspend signals are asserted. The Suspend signals are also asserted after a CP2114 reset until device configuration during USB enumeration is complete. The SUSPEND pin is logic high when the device is in the Suspend state, and logic low when the device is in the normal mode. The SUSPEND pin has the opposite logic value of the SUSPEND pin. The CP2114 exits Suspend mode when any of the following occur: Resume signaling is detected or generated, a USB Reset signal is detected, or a device reset occurs. SUSPEND and SUSPEND are weakly pulled to VIO in a high impedance state during a CP2114 reset. If this behavior is undesirable, a strong pulldown (10 k) can be used to ensure SUSPEND remains low during reset. The logic level and output mode (push-pull or open-drain) of various pins during USB Suspend is configurable in the PROM. See Section 9 for more information. 7. Asynchronous Serial Data Bus (UART) Interfaces The UART interface consists of the TX (transmit) and RX (receive) data signals as well as RTS (ready to send) and CTS (clear to send) flow control signals. The UART is programmable to support a variety of data formats and baud rates. The data formats and baud rates available are listed in Table 20. Table 20. Data Formats and Baud Rates Data Bits 5, 6, 7, and 8 Stop Bits 1, 1.51, and 2 Parity Type None, Even, Odd, Mark, Space Baud Rate 300 bps to 1 Mbps2, 3, 4, 5 Notes: 1. 1.5 stop bits only available when using 5 data bits. 2. Baud rates above 500,000 baud are not supported with 5 or 6 data bits 3. Max of 500 kBaud with flow control, audio playback only 4. Max of 230 kBaud with flow control, audio playback and listening 5. With flow control, audio can support higher baud rates, but throughput is greatly reduced. The baud rate generator for the UART interface is very flexible, allowing the user to request any baud rate in the range from 300 bps to 1 Mbps. If the baud rate cannot be directly generated from the 48 MHz oscillator, the device will choose the closest possible option. The actual baud rate is dictated by Equation 3 and Equation 4. Prescale = 4 if Requested Baud Rate 300 bps Prescale = 1 if Requested Baud Rate 300 bps 48 MHz Clock Divider = ---------------------------------------------------------------------------------------------------2 Prescale Requested Baud Rate Equation 3. Clock Divider Calculation 48 MHz Actual Baud Rate = ----------------------------------------------------------------------------2 Prescale Clock Divider Prescale = 4 if Requested Baud Rate 300 bps Prescale = 1 if Requested Baud Rate 300 bps Equation 4. Baud Rate Calculation Most baud rates can be generated with an error of less than 1.0%. A general rule of thumb for the majority of UART applications is to limit the baud rate error on both the transmitter and the receiver to no more than ±2%. The clock Rev. 1.1 23 CP2114 divider value obtained in Equation 3 is rounded to the nearest integer, which may produce an error source. Another error source will be the 48 MHz oscillator, which is accurate to ±0.25%. Knowing the actual and requested baud rates, the total baud rate error can be found using Equation 5. Actual Baud Rate Baud Rate Error (%) = 100 1 – ----------------------------------------------------------- 0.25% Requested Baud Rate Equation 5. Baud Rate Error Calculation The UART also supports the transmission of a line break. The length of time for a line break is programmable from 1 to 125 ms, or it can be set to transmit indefinitely until a stop command is sent from the application. 8. GPIO Pins The CP2114 supports twelve user-configurable GPIO pins. Each of these GPIO pins are usable as inputs, opendrain outputs, or push-pull outputs. All of the pins have alternate functions which are listed in Table 21. To use the pin as a GPIO, the pin must first be configured for that mode. More information regarding the configuration and usage of these pins is available in “AN721: CP210x/CP21xx Device Customization Guide” available on the Silicon Labs website. The configuration of the pins is one-time programmable for each device. See Section 9 for more information about programming the GPIO pin functionality. Table 21. GPIO Alternate Functions Pin Default Function Alternate Function 1 (GPIO Function) Alternate Function 2 GPIO.0_RMUTE Record Mute GPIO.0 GPIO.1_PMUTE Playback Mute GPIO.1 GPIO.2_VOL- Volume Down GPIO.2 GPIO.3_VOL+ Volume Up GPIO.3 GPIO.4_RMUTELED Record Mute LED GPIO.4 GPIO.5_TXT_DACSEL0 DAC Selector 0 GPIO.5 TX Toggle GPIO.6_RXT_DACSEL1 DAC Selector 1 GPIO.6 RX Toggle GPIO.7_RTS_DACSEL2 DAC Selector 2 GPIO.7 UART RTS GPIO.8_CTS_DACSEL3 DAC Selector 3 GPIO.8 UART CTS GPIO.9_CLKOUT Clock Output GPIO.9 GPIO.10_TX UART TX GPIO.10 GPIO.11_RX UART RX GPIO.11 The difference between an open-drain output and a push-pull output is when the GPIO output is driven to logic high. A logic high, open-drain output pulls the pin to the VIO rail through an internal, pull-up resistor. A logic high, push-pull output directly connects the pin to the VIO voltage. Open-drain outputs are typically used when interfacing to logic at a higher voltage than the VIO pin. These pins can be safely pulled to the higher, external voltage through an external pull-up resistor. The maximum external pull-up voltage is 5 V. The speed of reading and writing the GPIO pins is subject to the timing of the USB bus. GPIO pins configured as inputs or outputs are not recommended for real-time signaling. 24 Rev. 1.1 CP2114 8.1. GPIO.0-4—Audio Playback and Record The CP2114 includes several audio playback and record signals, such as volume increase, volume decrease, playback mute, and record mute. When connected over USB, the CP2114 can control the host volume settings with these pins via the standard USB HID Consumer Control Interface. On the CP2114 evaluation board, these pins are all connected to buttons. Single-pressing the volume increase (GPIO.3_VOL+) and volume decrease (GPIO.2_VOL-) buttons will increase or decrease the volume; holding the button will continue increasing or decreasing the volume. If playback is muted, changing the volume with either of these buttons will unmute playback. In addition, there are two mute functions implemented as well. Single-pressing the record mute (GPIO.0_RMUTE) and the playback mute (GPIO.1_PMUTE) buttons will toggle between mute and unmute states. When record is muted, the signal GPIO.4_RMUTELED will be driven low (and illuminate an LED on the evaluation board). 8.2. GPIO.5-8—DAC Selection The state of GPIO.5 through GPIO.8 specify which DAC configuration will be loaded after reset. By default, GPIO.5, GPIO.6, GPIO.7, and GPIO.8 are all configured for the DAC selection function (Alternate Function 1). If the four GPIO.5 through GPIO.8 pins are all configured as DAC Select inputs (their default configuration), the state of these pins specifies which DAC configuration will be loaded after reset (see Table 22). The boot DAC configuration specified by the one-time programmable ROM will be used if the state of these DAC Select pins is 1110b (Index 14), or if any of the four GPIO.5-8 pins have been configured to something other than DAC Select. The No DAC configuration option (1111b, i.e., Index 15) should be used when bringing up a new DAC. Using this configuration, DAC configuration text files can be written to RAM and tested until the DAC configuration string is finalized. At that point, the configuration string can be programmed into the one-time programmable ROM. DAC selection pin mapping is shown in Table 22. Table 22. DAC Selection Pin Mapping Index GPIO.8 DACSEL3 GPIO.7 DACSEL2 GPIO.6 DACSEL1 GPIO.5 DACSEL0 Boot DAC configuration 0 0 0 0 0 Config[0]: CS42L55 1 0 0 0 1 Config[1]: WM8523 2 0 0 1 0 Config[2]: PCM1774 3 0 0 1 1 4 0 1 0 0 5 0 1 0 1 6 0 1 1 0 7 0 1 1 1 8 1 0 0 0 9 1 0 0 1 10 1 0 1 0 11 1 0 1 1 12 1 1 0 0 13 1 1 0 1 14 1 1 1 0 Boot DAC configuration is specified by the onetime programmable ROM 15 1 1 1 1 No DAC configuration Rev. 1.1 User-programmed DAC configurations 25 CP2114 8.3. GPIO.5-6—UART Transmit and Receive Toggle GPIO.5 and GPIO.6 are configurable as UART Transmit Toggle and Receive Toggle pins. These pins are logic high when a device is not transmitting or receiving data, and they toggle at a fixed rate as specified in Table 5 when UART data transfer is in progress. Typically, these pins are connected to two LEDs to indicate data transfer. VIO CP2114 GPIO.5 – TX Toggle GPIO.6 – RX Toggle Figure 12. Transmit and Receive Toggle Typical Connection Diagram 26 Rev. 1.1 CP2114 8.4. GPIO.7-8—Hardware Flow Control (RTS and CTS) To utilize the functionality of the RTS and CTS pins of the CP2114, the device must be configured to use hardware flow control. RTS, or Ready To Send, is an active-low output from the CP2114 and indicates to the external UART device that the CP2114’s UART RX FIFO has not reached the watermark level and is ready to accept more data. When the CP2114 is processing audio, the watermark level is 2 bytes. When the CP2114 is not processing audio, the watermark is 226 bytes. When the amount of data in the RX FIFO reaches the watermark, the CP2114 pulls RTS high to indicate to the external UART device to stop sending data. CTS, or Clear To Send, is an active-low input to the CP2114 and is used by the external UART device to indicate to the CP2114 when the external UART device’s RX FIFO is getting full. The CP2114 will not send more than two bytes of data once CTS is pulled high. CP2114 RS-232 DTE TX TX RX RX GPIO.7 – RTS RTS GPIO.8 – CTS CTS Figure 13. Hardware Flow Control Typical Connection Diagram 8.5. GPIO.9—Clock Output GPIO.9 is configurable to output a configurable CMOS clock output. The clock output appears at the pin at the same time the device completes enumeration and exits USB Suspend mode. The clock output is removed from the pin when the device enters USB Suspend mode. The output frequency is configurable through the use of a divider and the accuracy is specified in Table 6. The output frequency is 24 MHz when the divider is set to 0 and the system clock is 48 MHz. The output frequency is 24.576 MHz when the divider is set to 0 and the system clock is 49.152 MHz. For divider values between 1 and 255, the output frequency is determined by the formula: SYSCLK GPIO.9 Clock Frequency = ----------------------------------------------2 ClockDivider Equation 6. GPIO.9 Clock Output Frequency Rev. 1.1 27 CP2114 9. One-Time Programmable ROM The CP2114 has an internal 5.5 kB configuration one-time programmable ROM. There are two configuration areas in the one-time programmable ROM: 1. Global configuration area. This area stores the USB string descriptors and GPIO pin configuration. The CP2114 ships with default global configuration settings that allow the CP2114 to be used as-is for customer production. There is also a Customer Global Configuration area that provides customization of the device if desired. 2. Audio specific configuration area. This area stores up to 32 different audio configurations. The configurations set behavior of the CP2114 audio functions as well as configuration data for DACs. The one-time programmable ROM is shown in Figure 14. Note that the CP2114 standard device ships preprogrammed for three different DACs, with the desired DAC being selected via the DAC Select pins (DACSEL0, DACSEL1, DACSEL2, DACSEL3). Additional DAC support can be added, and configuration of that DAC controlled by an one-time programmable ROM setting or by the DAC select pins. If the programmable ROM has not been programmed, the device uses the default configuration data shown in Table 26 and Table 27. The configuration data ROM can be programmed by Silicon Labs prior to shipment with the desired configuration information. It can also be programmed in-system over the USB interface by adding a capacitor to the PCB. If the configuration ROM is to be programmed in-system, a 4.7 µF capacitor must be present between the VPP pin and ground. No other circuitry should be connected to VPP during a programming operation, and VIO must remain at 3.3 V or higher to successfully write to the configuration ROM. Digital Audio Signal CP2114 I2S USB Host Audio DAC USB I2C Controller DAC Select Pins[0:3] RAM Config 4 DAC Configuration & Control EPROM Default Global Config Empty0 Empty1 Empty2 Empty3 Empty4 CS42L55 WM8523 PCM1774 Audio Config Empty Customized Global Config Empty31 Global Config Area Boot Index Area Audio Config Area Figure 14. One-Time Programmable ROM Configuration Block Diagram 28 Rev. 1.1 CP2114 9.1. Audio Interface Configuration The Audio configuration area is used to configure the boot index as well as the audio configuration strings. The boot index determines which of the programmed audio configuration strings will be used after reset. The following sections describe the audio interface in more detail. 9.1.1. Audio Interface Boot Configuration Process The global configurations are automatically loaded when the CP2114 powers up. The audio boot configuration depends on the GPIO DAC select pin settings according to flow chart shown in Figure 15. The audio configuration can be set by a one-time programmable ROM boot index or by reading the boot index from the DAC Select pins. Setting the DAC_Select pins to 0x0F will not boot any DAC configuration. This is needed for adding support for a new DAC. In this case, the Silicon Labs GUI can be used to write the DAC settings. After experimentation and testing, the configuration can be written to the one-time programmable ROM. The one-time programmable ROM can be programmed in-system or Silicon Labs can provide preprogrammed parts with a customer configuration. Boot Read EPROM Global Config Yes Boot Index = DAC Select Pins Boot Index = 0x0E? Use DAC Select Pins? No Yes Boot Index = EPROM Boot Index No Load CP2114 Config from EPROM No Boot Index = 0x0F? Yes Program DAC config over I2C Do not load any audio config Enumerate USB Low Power Suspend waiting for USB traffic Figure 15. Boot Configuration Flowchart Rev. 1.1 29 CP2114 9.1.2. Audio Configuration String Format There are two components to the audio configuration of the CP2114: 1. Programmability of the CP2114 itself. 2. Programmability of the DAC. To simplify the configuration of the CP2114 and the attached DAC, a unified configuration string is employed. The first 30 bytes of this configuration string are for the CP2114 audio and control properties. All data after byte 30 is for configuration of the DAC. Table 23 shows the format of the configuration string for the CP2114 and attached DAC. Note also that in the DAC configuration part there may be “in-band” commands. These are special characters that are used to specify delays and are documented in the following sections. In the one-time programmable ROM, the audio configuration string is preceded by a two-byte length field specifying the total size of the configuration in bytes including the two-byte length field itself. The least significant byte (LSB) of the length field goes first. For example, the audio configuration for the CS42L55 DAC consists of 98byte configuration. The length field itself is 2-byte long, which makes the total size 100-byte. The audio configuration starts with 0x64, 0x00 followed by the configuration string. The CP2114 configuration program only requires the configuration string. The program will parse the string, calculate the total length, and insert the length field before sending the request to the device. Table 23. Audio Configuration String Byte 30 Name Description 0 DAC_Version Identifies revision of DAC 1 User_Defined User can store any info desired here 2 I2C_Address Specify the DAC I2C address Rev. 1.1 CP2114 Table 23. Audio Configuration String Byte Name 3 Audio_Props Description Controls audio properties Bit Position 7 6 5 4 3 2 1 0 Bit Name MB ST I2C_CK I2C_PR DRS DVC LJMS AF MB Mute Bit. 0: No affect 1: CP2114 will handle mute via mute bits at bytes 12,13,14,15 and 17 ST Synchronization Type 0: Asynchronous. Will send feedback to USB host. 1: Synchronous. No feedback to USB host. Audio is synchronized via continuous clock adjustment of sample insert/drop, depending on clock configuration. I2C_CK Maximum I2C clock rate supported by the DAC. 0: 400 kHz 1: 100 kHz I2C_PR I2C Protocol for read operations. 0: Stop 1: Repeated Start DRS DAC Register Size 0: 8 bit 1: 16 bit DVC DAC Volume Control. 0: No volume control supported by DAC 1: Volume control supported by DAC If set, the CP2114 populates volume control in the feature unit USB descriptor. If clear, 0 is specified in volume control to prevent the host from sending SET_CUR requests. LJMS I2S Mode. Only applies if using Left Justified format. 0: 16bit Left Justified Mode. 1: 24bit Left Justified Mode AF Audio Format 0: I2S format 1: Left Justified format 4 Min_Volume Minimum Volume in dB, 8-bit signed. This corresponds to the volume control attribute MIN in USB Audio spec. 5 Max_Volume Maximum Volume in dB, 8-bit signed. This corresponds to the volume control attribute MAX in USB Audio spec. 6 Vol_Step Volume Step Counts per dB. For instance, if volume resolution is 0.25 dB, 4 shall be written. A computed RES is returned in response to volume control attribute query of RES from the host. Rev. 1.1 31 CP2114 Table 23. Audio Configuration String Byte 7 Name System_Props System Properties Bit Position 7 6 5 4 3 2 1 0 Bit Names DMMF ARE SVRP VUR UCS SCS SF ACR DMMF ARE DAC Min/Max register Format. 0: Unsigned 1: Signed Analog Record Enabled 0: Disable 1: Enable SVRP Secondary Volume Registers Polarity. 0: Secondary volume registers have same polarity as primary registers 1: Secondary volume registers have opposite polarity as primary registers. If only line out is present on the DAC, primary shall be line out; if only headphone is present, primary shall be headphone. If both line out and headphone are present on the DAC, either can be designated as primary. CP2114 updates either or both registers when the host changes volume. Some DACs may require a separate bit as a “take into effect immediately” bit. VUR Volume Update Registers. Some DACs require a specific register is written for volume updates to take effect. 0: DAC has no volume update registers. 1: DAC has volume update registers. UCS USB Clock Source 0: USB clock uses internal oscillator 1: USB clock uses external oscillator SCS System Clock Source. NOTE: Audio clocks will be driven from this source. 0: Audio uses internal oscillator 1: Audio uses external oscillator SF ACR 32 Description System Frequency 0: 48 MHz 1: 49.152 MHz Audio Clock Ratio. This is the MCLK/LRCK ratio. 0: 250 1: 256 8 DPVCL DAC Primary Volume Control Left channel register address. 9 DPVCR DAC Primary Volume Control Right channel register address. 10 DSVCL DAC Secondary Volume Control Left channel register address. 11 DSVCR DAC Secondary Volume Control Right channel register address. 12 DPMBLC DAC Primary Mute Bit Left Channel register address. Ignored if MB=0. 13 DPMBRC DAC Primary Mute Bit Right Channel register address. Ignored if MB=0. 14 DSMBLC DAC Secondary Mute Bit Left Channel register address. Ignored if MB=0. 15 DSMBRC DAC Secondary Mute Bit Right Channel register address. Ignored if MB=0. Rev. 1.1 CP2114 Table 23. Audio Configuration String Byte Name 16 DVCB Bit position Description DAC Volume Control Bits start position and bits count. Some DAC volume registers have limited significant bits. This field lets the significant bits be specified. For example if the volume registers use only bit [6:0] you would set Volume_Bit_Count=7 and Volume_Bit_Start=0. 7 6 Bit name 17 5 4 3 2 VBC 1 VBS VBC Volume Bit Count. Specifies number of significant bits for the volume registers VBS Volume Bits Start. Specifies the start position of the volume significant bits. DMBP Bit Position 0 DAC Mute Bit Positions. 7 6 Bit Name 5 4 3 2 DMBPL 1 0 DMBPR DMBPL DAC Mute Bit Position Left channel. Ignored if MB=0. DMBPR DAC Mute Bit Position Right channel. Ignored if MB=0. 18 DVMV DAC Value Minimum Volume. Specifies the value needed for minimum volume from the DAC 19 DVXV DAC Value Maximum Volume. Specifies the value needed for maximum volume from the DAC 20 DVUBP Bit position Bit name DAC Volume Update Bit Position. Ignored VUR=0. 7 6 5 4 3 DVUBPL 2 1 0 RCUBP DVUBPL DAC Volume Update Bit Position Left channel RCUBP DAC Volume Update Bit Position Right channel 21 DPVURL DAC Primary Volume Update Register Left channel register address. Ignored f VUR=0. 22 DPVURR DAC Primary Volume Update Register Right channel register address. Ignored f VUR=0. 23 DSVURL DAC Secondary Volume Update Register Left channel register address. Ignored f VUR=0. 24 DSVURR DAC Secondary Volume Update Register Right channel register address. Ignored f VUR=0. Rev. 1.1 33 CP2114 Table 23. Audio Configuration String Byte Name 25 DMP1 Bit Position Description DAC Mute Property 1 7 6 Bit Name GPION 26 4 GPION 3 2 1 0 x x SWM MBG GPIO Number (0..11) used for DAC mute. Ignored of MBG=0. SWM GPIO State When Muted. Ignored of MBG=0. 0: Muted when GPIO is low 1: Muted when GPIO is high. MBG Mute By GPIO. 0: Do not use GPIO for mute. 1: Use GPIO for Mute. DMP2 DAC Mute Property 2 Bit Position 7 6 5 4 3 2 1 0 Bit Name x x x x x x MBZ MBVR MBZ 34 5 Mute By Zeros. 0: Do not mute by sending 00’s to the DAC 1: Mute by sending 00’s to the DAC. This is useful for a DAC that does not support hardware mute or volume functions. Not supported when playback and record are both active. MBVR Mute By Volume Register. 0: Do not mute via the volume register. 1: Mute via the volume register. Some DACs mute by sending a specific value to the volume register. 27 DVMV DAC Volume Mute Value. Mute by sending this value to the volume registers. Ignored if MBVR=0. 28 Reserved Reserved 29 Reserved Reserved 30-xx DAC Config Start of DAC configuration string and “in-band” commands Rev. 1.1 CP2114 9.1.3. DAC Configuration String Starting at byte 30, a DAC configuration string is used to communicate with the DAC over the I2C interface. If the DAC register size bit is 0 (indicating 8-bit mode), the DAC register/value pairs should be written in the format of: Byte[30] = <DAC_Register_Address> Byte[31] = <DAC_Register_Value> Byte[32] = <DAC_Register_Address> Byte[33] = <DAC_Register_Value> ... If the DAC register size bit is 1 (indicating 16-bit mode), the DAC register/value pairs should be written in the format of: Byte[30] = <DAC_Register_Address> Byte[31] = <DAC_Register_Value_MSB> Byte[32] = <DAC_Register_Value_LSB> Byte[33] = <DAC_Register_Address> Byte[34] = <DAC_Register_Value_MSB> Byte[35] = <DAC_Register_Value_LSB> ... 9.1.4. DAC Configuration In-Band Commands To support special functions such as GPIO outputs, arbitrary delay in between DAC register access, DAC power off sequence in suspend and power on sequence in active mode, the CP2114 supports special in-band commands starting from byte 30. These commands are identified by command codes 0xFA to 0xFF. When parsing DAC register/value pairs, if CP2114 firmware encounters 0xFA to 0xFF in the <DAC_Register_Address> field, the CP2114 performs the task associated with the command instead of sending it to the DAC. SUSPEND_SEQUENCE specifies a sequence of DAC register/value pairs/triplets to power down certain blocks on the DAC in suspend mode to minimize power consumption. ACTIVE_SEQUENCE specifies a sequence of DAC register/value pairs/triplets to power up certain blocks on the DAC in active mode. The DELAY_MICROSECONDS, SET_GPIO and DELAY_MILLISECONDS in-band commands can be embedded in SUSPEND_SEQUENCE and ACTIVE_SEQUENCE if needed. SET_GPIO sets a specified GPIO to high or low. DELAY_MICROSECONDS instructs the firmware to introduce a coarse delay of n microseconds as specified in the parameter list. Similarly, DELAY_MILLISECONDS instructs the firmware to introduce a course delay in milliseconds. The format of most In-band commands except for SUSPEND_SEQUENCE and ACTIVE_SEQUENCE is analogous to DAC register/value pairs/triplets. Rev. 1.1 35 CP2114 Table 24. DAC Configuration In-Band Commands Name Identifier In-Band Parameter List DAC register size = 0 (8bit) In-Band Parameter List DAC register size = 1(16bit) SUSPEND_ SEQUENCE 0xFA <Length in bytes of register/value pairs or other in-band commands> <reg or other in-band commands> <value or in-band command parameter>… <Reserved> <Length in bytes of register/value triplet pairs or other in-band commands> <reg or other in-band command ID> <Value_Hi or high byte of in-band command parameter> <Value_Lo or low byte of inband command parameter> ACTIVE_ SEQUENCE 0xFB <Length in bytes of register/value pairs or other in-band commands> <reg or other in-band commands> <value or in-band command parameter>… <Reserved> <Length in bytes of register/value triplet pairs or other in-band commands> <reg or other in-band command ID> <Value_Hi or high byte of in-band command parameter> <Value_Lo or low byte of inband command parameter> REENUMERATE 0xFC <Reserved> <Reserved><Reserved> DELAY_ MICROSECONDS 0xFD <Delay> <Reserved> <Delay> SET_GPIO 0xFE (<GPIO_State> << 7 | <GPIO_Number> & 0x0F) <Reserved> (<GPIO_State> << 7 | <GPIO_Number> & 0x0F) DELAY_MILLISECONDS 0xFF <Delay> <Reserved> <Delay> The combination of SET_GPIO in-band commands and DELAY commands can be used to send pulses or toggle output GPIOs (assuming that these GPIOs have been configured as output pins). Some DACs may require DAC reset via a GPIO pin, this can be accomplished with in-band commands as well. 9.1.5. DAC Initialization The DAC configuration string should configure the DAC to initialize with muted playback. DAC volume registers should be set to minimum. This allows CP2114 to synchronize with the host at startup. 36 Rev. 1.1 CP2114 9.1.6. Example CP2114 Configuration String As can be seen in the Audio Configuration String Format, a number of fields are dedicated to defining how the DAC volume and mute function are implemented in the DAC. This is needed for the CP2114 to properly scale the volume from dB to DAC register values using a linear equation and send volume and mute messages from the host to the DAC. As an example of CP2114 configuration string, Table 25 shows the configuration string in one-time programmable ROM as shipped for the CS42L55 codec. Table 25. CS42L55 Configuration String Byte Value Description 0 01 DAC Version = 01. This can simply be an identifier for the configuration 1 00 User byte – any purpose 2 94 I2C Address of this DAC is 0x94 3 A6 MB = 1 Mute is handled with this DAC. ST = 0. Use Asynchronous mode—provide feedback to the host. I2C_CK = 1. Use 100 kHz I2C clock. I2C_PR = 0. I2C uses stop bit. DRS = 0. DAC has 8-bit registers. DVC = 1. DAC volume control is supported LJMS = 1. 24bit Left Justified mode is used. AF = 0. Left Justified format is used. 4 C4 Minimum volume value for the DAC is 0xC4 = –60 dB. 5 0C Maximum volume for the DAC is 0x0C = 12 dB 6 01 Volume step per dB is 1. 7 E0 DMMF = 1. DAC min/max registers are signed. ARE = 1. Analog Record is enabled. SVRP = 1. Secondary volume registers have opposite polarity as primary registers. VUR = 0. DAC does not have volume update (take effect) registers. UCS = 0. USB clock uses internal oscillator. SCS = 0. System clock uses internal oscillator. SF = 0. System frequency is 48 MHz. ACR = 0. Audio Clock Ration (MCLK/LRCK) is 250. 8 1C DPVL = 0x1C. DAC Primary Volume Control Left channel register address is 0x1C 9 1D DPVR = 0x1D. DAC Primary Volume Control Right channel register address is 0x1D 10 1A DSVL = 0x1A. DAC Secondary Volume Control Left channel register address is 0x1A 11 1B DSVR = 0x1B. DAC Secondary Volume Control Right channel register address is 0x1B 12 1C DPMBLC = 0x1C. DAC Primary Mute Bit Left channel register address is 0x1C 13 1D DPMBRC = 0x1D DAC Primary Mute Bit Right channel register address is 0x1D 14 1A DSMBLC = 0x1A. DAC Secondary Mute Bit Left channel register address is 0x1A 15 1B DSMBRC = 0x1B. DAC Secondary Mute Bit Right channel register address is 0x1B 16 70 DVCB = 0x70. VBC = 7. Volume register has 7 significant bits. VBS = 0. Volume control starts at bit 0. 17 77 DMBP = 0x77. DMBPL = 7. DAC Mute Bit Position Left channel is bit 7 DMBPR = 7. DAC Mute Bit Position Right channel is bit 7 Rev. 1.1 37 CP2114 Table 25. CS42L55 Configuration String Byte Value Description 18 44 DVMV = 0x44. DAC value for minimum volume is 0x44. 19 0C DVXV = 0x0C. DAC value for maximum volume is 0x0C. 20 00 NA - No volume update register. 21 00 NA - No volume update register. 22 00 NA - No volume update register. 23 00 NA - No volume update register. 24 00 NA - No volume update register. 25 00 NA. MBG = 0. No Mute by GPIO. 26 00 MBZ = 0. Do not mute by sending 00’s. MBVR = 0. Do not mute but volume register. 27 00 DVMV = 0. Do not mute by sending value to register. 28 00 Reserved 29 00 Reserved 38 Rev. 1.1 CP2114 9.2. USB and GPIO Configuration The global configuration area is used to store USB descriptors and GPIO configuration. If the programmable ROM has not been programmed, the default configuration data shown in Table 26, Table 27, and Table 28 is used. In addition, each field in Table 26, Table 27, and Table 28 may only be customized once. Table 26. Default USB Configuration Data Name Value Vendor ID 10C4h Product ID EAB0h Power Descriptor (Attributes) 80h (Bus-powered) Power Descriptor (Max. Power) 32h (100 mA) Release Number 0100h (Release Version 01.00) Manufacturer String “Silicon Laboratories” (62 ASCII characters maximum) Product Description String “CP2114 USB-Audio Bridge” (62 characters maximum) Serial String Unique 8 character ASCII string (30 characters maximum) Table 27. Default GPIO Data Pin Name Default Function GPIO.0_RMUTE Record Mute GPIO.1_PMUTE Playback Mute GPIO.2_VOL- Volume Down GPIO.3_VOL+ Volume Up GPIO.4_RMUTELED Record Mute LED GPIO.5_TXT_DACSEL0 DAC Selector 0 GPIO.6_RXT_DACSEL1 DAC Selector 1 GPIO.7_RTS_DACSEL2 DAC Selector 2 GPIO.8_CTS_DACSEL3 DAC Selector 3 GPIO.9_CLKOUT Clock Output GPIO.10_TX UART TX GPIO.11_RX UART RX Table 28. Default UART and Suspend Data Name Default Function Flush Buffers Flush TX and RX FIFO on open SUSPEND Output—Push Pull SUSPEND Output—Push Pull Suspend Latch 0x0000 Suspend Mode 0x0000 Clock Divider Divide by 1 While customization of the USB configuration data is optional, customizing the VID/PID combination is strongly recommended. A unique VID/PID will prevent the device from being recognized by any other manufacturer’s software application. A vendor ID can be obtained from www.usb.org or Silicon Labs can provide a free PID for the OEM product that can be used with the Silicon Labs VID. All CP2114 devices are pre-programmed with a unique serial number. It is important to have a unique serial if it is possible for multiple CP2114-based devices to be connected to the same PC. Rev. 1.1 39 CP2114 10. Voltage Regulator The CP2114 includes an on-chip voltage regulator with a 3.45 V output. This allows the CP2114 to be configured as either a USB bus-powered device or a USB self-powered device. A typical connection diagram of the device in a bus-powered application using the regulator is shown in Figure 16. When enabled, the voltage regulator output appears on the VDD pin and can be used to power external devices. See Table 4 for the voltage regulator electrical characteristics. If it is desired to use the regulator to provide VDD in a self-powered application, the same connections from Figure 16 can be used, but connect REGIN to an on-board 5 V supply, and disconnect it from the VBUS pin. In addition, if REGIN may be unpowered while VBUS is 5 V, a resistor divider (or functionally equivalent circuit) shown in Note 5 of Figure 17 is required to meet the absolute maximum voltage on VBUS specification in Table 13. Note 3 VIO 4.7 k CP2114 RST SUSPEND SUSPEND Note 2 3.45 V Power 1-5 F Suspend Signals Note 4 VPP VIO 4.7 F VDD SDA SCL 0.1 F MCLK SCK REGIN LRCK I2S and I2C Signals to DAC SDIN 1 F SDOUT EXTCLK GND USB Connector Clock Input (optional) GPIO.0_RMUTE GPIO.1_PMUTE VBUS VBUS GPIO.2_VOL- D+ D+ GPIO.3_VOL+ D- D- GPIO.4_RMUTELED GPIO.5_TXT_DACSEL0 GND GPIO.6_RXT_DACSEL1 GPIO.7_RTS_DACSEL2 Note 1 Volume/ Mute Controls DAC Selector GPIO.8_CTS_DACSEL3 GPIO.9_CLKOUT Clock Output (optional) GPIO.10_TX GPIO.11_RX UART Note 1 : Avalanche transient voltage suppression diodes compatible with Full-speed USB should be added at the connector for ESD protection. Use Littelfuse p/n SP0503BAHT or equivalent. Note 2 : VIO can be connected directly to VDD or to a supply as low as 1.8 V to set the I/O interface voltage. Note 3 : An external pull-up is not required, but can be added for noise immunity. Note 4 : If configuration ROM is to be programmed via USB, a 4.7 F capacitor must be added between VPP and ground. During a programming operation, the pin should not be connected to other circuitry, and VIO must be at least 3.3 V. Figure 16. Typical Bus-Powered Connection Diagram 40 Rev. 1.1 CP2114 Alternatively, if 3.0 to 3.6 V power source is supplied to the VDD pin, the CP2114 can function as a USB selfpowered device with the voltage regulator bypassed. For this configuration, the REGIN input should be tied to VDD to bypass the voltage regulator. A typical connection diagram showing the device in a self-powered application with the regulator bypassed is shown in Figure 17. The USB max power and power attributes descriptor must match the device power usage and configuration. See application note “AN721: CP210x/CP21xx Device Customization Guide” for information on how to customize USB descriptors for the CP2114. VIO Note 3 4.7 k CP2114 RST SUSPEND SUSPEND Note 2 VPP VIO Suspend Signals Note 4 4.7 F VDD 3.3 V Power REGIN SDA SCL 1-5 F 0.1 F MCLK SCK LRCK GND I2S and I2C Signals to DAC SDIN SDOUT EXTCLK Clock Input (optional) GPIO.0_RMUTE Note 5 (Optional) GPIO.1_PMUTE 24 k GPIO.2_VOL- VBUS USB Connector GPIO.3_VOL+ 47 k Volume/ Mute Controls GPIO.4_RMUTELED GPIO.5_TXT_DACSEL0 VBUS D+ D+ D- D- GPIO.6_RXT_DACSEL1 GPIO.7_RTS_DACSEL2 GND DAC Selector GPIO.8_CTS_DACSEL3 GPIO.9_CLKOUT Note 1 Clock Output (optional) GPIO.10_TX GPIO.11_RX UART Note 1 : Avalanche transient voltage suppression diodes compatible with Full-speed USB should be added at the connector for ESD protection. Use Littelfuse p/n SP0503BAHT or equivalent. Note 2 : VIO can be connected directly to VDD or to a supply as low as 1.8 V to set the I/O interface voltage. Note 3 : An external pull-up is not required, but can be added for noise immunity. Note 4 : If configuration ROM is to be programmed via USB, a 4.7 F capacitor must be added between VPP and ground. During a programming operation, the pin should not be connected to other circuitry, and VIO must be at least 3.3 V. Note 5 : For self-powered systems where VDD and VIO may be unpowered when VBUS is connected to 5 V, a resistor divider (or functionally-equivalent circuit) on VBUS is required to meet the absolute maximum voltage on VBUS specification in the Electrical Characteristics section. Figure 17. Typical Self-Powered Connection Diagram (Regulator Bypass) Rev. 1.1 41 CP2114 11. CP2114 Interface Specification and Windows Interface DLL The CP2114 is a USB Human Interface Device (HID), and as most operating systems include native HID drivers, custom drivers do not need to be installed. The CP2114 does not fit one of the standard HID device types, such as a keyboard or mouse, and any CP2114 PC application needs to use the CP2114’s HID specification to communicate with the device. The low-level HID specification for the CP2114 is provided in “AN433: CP2110/ CP2114 HID Interface Specification.” This document describes all of the basic functions for opening, reading from, writing to, and closing the device, as well as the ROM programming functions. A Windows DLL that encapsulates the CP2114 HID interface and also adds higher level features such as read/ write time-outs is provided by Silicon Labs. This DLL is the recommended interface for the CP2114. The Windows DLL is documented in CP2114 Windows DLL Specification. Both of these documents and the DLL are available online at http://www.silabs.com/. 12. Relevant Application Notes The following Application Notes are applicable to the CP2114. The latest versions of these application notes and their accompanying software are available at http://www.silabs.com/appnotes. AN721: CP210x/CP21xx Device Customization Guide. This application note describes how to use the AN721 software CP21xxSetIDs to configure the USB parameters on the CP21xx devices. AN433: CP2110/CP2114 HID to UART API Specification. This application note describes how to interface to the CP2114 using the Windows Interface DLL and the Max OS-X dylib. 42 Rev. 1.1 CP2114 DOCUMENT CHANGE LIST Revision 1.0 to Revision 1.1 Updated text describing MCLK as an input. MCLK is an output from the CP2114. Referenced the SDIN signal to a generic audio device, rather than a DAC, since a DAC would not have an input signal. Added a row for VBUS in Table 13, “Absolute Maximum Ratings,” on page 12. Added VDD Ramp Time for Power On specification to Table 3, “Reset Electrical Characteristics,” on page 6. Added VPP Voltage specification to Table 6, “One Time Programming Specifications,” on page 7. Updated "10. Voltage Regulator" on page 40 to add absolute maximum voltage on VBUS requirements in selfpowered systems. Rev. 1.1 43 CP2114 CONTACT INFORMATION Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 Tel: 1+(512) 416-8500 Fax: 1+(512) 416-9669 Toll Free: 1+(877) 444-3032 Please visit the Silicon Labs Technical Support web page: https://www.silabs.com/support/pages/contacttechnicalsupport.aspx and register to submit a technical support request. Patent Notice Silicon Labs invests in research and development to help our customers differentiate in the market with innovative low-power, small size, analogintensive mixed-signal solutions. Silicon Labs' extensive patent portfolio is a testament to our unique approach and world-class engineering team. The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice. Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages. Silicon Laboratories, Silicon Labs, and USBXpress are trademarks of Silicon Laboratories Inc. Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders 44 Rev. 1.1