CP2108 Data Sheet The CP2108 is a highly integrated USB to Quad UART Bridge Controller providing a simple solution for updating RS-232/ RS-485 designs to USB using a minimum of components and PCB space. The CP2108 includes a USB 2.0 full-speed function controller, USB transceiver, oscillator, EEPROM, and four asynchronous serial data buses (UART) with full modem control signals in a compact 9 mm x 9 mm 64-pin QFN package. The on-chip EEPROM may be used to customize the USB Vendor ID (VID), Product ID (PID), product description string, power descriptor, device release number, interface strings, device serial number, modem and GPIO configuration as desired for applications. All customization and configuration options can be selected using a simple GUI-based configurator. By eliminating the need for complex firmware and driver development, the CP2108 devices enable quick USB connectivity with minimal development effort. KEY FEATURES * No firmware development required * Simple GUI-based configurator * Integrated USB transceiver; no external resistors required * Integrated clock; no external crystal required * USB 2.0 full-speed compatible * Four independent UART interfaces * 16 GPIOs with configurable options * Royalty free Virtual COM port (VCP) drivers CP2108 is ideal for a wide range of applications, including the following: * Servers * Instrumentation * Point-of-Sale products * Industrial control CP2108 Connect to VBUS or External Supply VREGIN VDD Voltage Regulator 80 MHz Oscillator Baud Rate Generator RI(0-3) Clock Divider DCD(0-3) DTR(0-3) VSS USB Connector VBUS USB Interface Handshake Control VBUS D+ D+ D- D- Full-Speed 12 Mbps Transceiver Peripheral Function Controller Data FIFO RTS(0-3) UART1 RX(0-3) UARTn (0-3) VIO TX(0-3) UART2 GPIO.0 - GPIO.15 18 /RESET (2.7 to 6.0 V) DSR(0-3) CTS(0-3) GND (3.0 V to VDD) 6 UART0 VIO VIOHD EEPROM (Product Customization) SUSPEND /SUSPEND UART3 I/O Power and Logic Levels UART0-2, GPIO, SUSPEND, RESET High Drive UART 3(Pins 1-6) silabs.com | Building a more connected world. Rev. 1.2 CP2108 Data Sheet Feature List and Ordering Information 1. Feature List and Ordering Information CP 2108 - B 03 - G M R Tape and Reel (Optional) Package Type -- QFN64 Temperature Grade -- -40 to +85 C (G) Firmware Revision Hardware Revision Interface Family, USB-to-Quad-UART Bridge Silicon Labs Xpress Product Line Figure 1.1. CP2108 Part Numbering The CP2108 devices have the following features: * Single-Chip USB-to-QUAD UART Data Transfer * Four independent UART interfaces * Integrated USB transceiver; no external resistor required * Integrated clock; no external crystal required * Integrated programmable EEPROM for storing customizable product information * On-chip power-on reset circuit * On-chip voltage regulator: 3.3 V output * USB Peripheral Function Controller * USB Specification 2.0 compliant; full-speed (12 Mbps) * USB suspend states supported via SUSPEND pins * Virtual COM Port Drivers * Works with existing COM port PC applications * Royalty-free distribution license * Supported on Windows, Mac, and Linux * Supply Voltage * Self-powered: 3.0 to 3.6 V * USB bus powered: 4.0 to 5.5 V * VIO voltage: 3.0 to VDD * VIOHD voltage: 2.7 to 6 V silabs.com | Building a more connected world. * UART Interface Features * Each UART interface supports the following: * Supports hardware flow control (RTS/CTS) * Supports all modem control signals * Data formats supported: * Data bits: 5, 6, 7, and 8 * Stop bits: 1, 1.5, and 2 * Parity: odd, even, set, mark and none * Baud rates: 300 bps to 2 Mbps * UART 3 (pins 1-6) supports interfacing to devices up to 6 V * GPIO Interface Features * Total of 16 GPIO pins with configurable options * Suspend pin support * Usable as inputs, open-drain or push-pull outputs * 4 configurable clock outputs for external devices * RS-485 bus transceiver control * Toggle LED upon transmission * Toggle LED upon reception * Package Options * RoHS-UART 3 compliant 64-pin QFN (9x9 mm) * Temperature Range * -40 to +85 C * Ordering Part Number * CP2108-B03-GM Rev. 1.2 | 2 Table of Contents 1. Feature List and Ordering Information . . . . . . . . . . . . . . . . . . . . . . 2 2. System Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3. Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1 Electrical Characteristics . . . . . . . . . . . . . 3.1.1 Recommended Operating Conditions . . . . . . . 3.1.2 UART, GPIO, and Suspend I/O Electrical Characteristics 3.1.3 GPIO . . . . . . . . . . . . . . . . . . 3.1.4 Reset Electrical Characteristics . . . . . . . . . 3.1.5 Voltage Regulator . . . . . . . . . . . . . 3.1.6 USB Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . .10 3.3 Thermal Conditions . . . . . . . . . . . . . . . . . . . . . . . . . .11 3.4 Throughput and Flow Control. . . . . . . . . . . . . . . . . . . . . . . . .11 . . 6 6 7 7 8 8 9 4. Pin Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 5. QFN64 Package Specifications. . . . . . . . . . . . . . . . . . . . . . . . 16 5.1 QFN64 Package Dimensions . . . . . . . . . . . . . . . . . . . . . . . . .16 5.2 QFN64 PCB Land Pattern . . . . . . . . . . . . . . . . . . . . . . . . . .18 5.3 QFN64 Package Marking . . . . . . . . . . . . . . . . . . . . . . . . . .19 6. Typical Connection Diagrams . . . . . . . . . . . . . . . . . . . . . . . . 20 7. USB Function Controller and Transceiver . . . . . . . . . . . . . . . . . . .23 8. Asynchronous Serial Data Bus (UART) Interfaces 8.1 Baud Rate Generation . 9. GPIO and UART Pins . . . . . . . . . . . . . . . . . . . . . . . . .24 . . . . . . . . . . . . . . . . .24 . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 9.1 GPIO -- Alternate Clock Outputs . . . . . . . . . . . . . . . . . . . . . . .25 9.2 GPIO -- Transmit and Receive Toggle . . . . . . . . . . . . . . . . . . . . .26 9.3 RS-485 Transceiver Bus Control . . . . . . . . . . . . . . . . . . . . .27 9.4 Hardware Flow Control (RTS and CTS) . . . . . . . . . . . . . . . . . . . . .28 9.5 High Drive Pins UART 3 Pins 1-6 . . . . . . . . . . . . . . . . . . . . .29 10. Internal EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 11. CP2108 Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . 32 11.1 Virtual COM Port (VCP) Drivers . . . . . . . . . . . . . . . . . . . . . . .32 11.2 Driver Customization . . . . . . . . . . . . . . . . . . . . . . . . . . .32 11.3 Driver Certification . . . . . . . . . . . . . . . . . . . . . . . . . . .32 . 12. Relevant Application Notes and Software . . . . . . . . . . . . . . . . . . . 33 13. Revision History. . . . . . . . . . . . . . . . . . . . . . . . . . . . . silabs.com | Building a more connected world. 34 Rev. 1.2 | 3 13.1 Revision 1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 13.2 Revision 1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 13.3 Revision 1.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 13.4 Revision 0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 silabs.com | Building a more connected world. Rev. 1.2 | 4 CP2108 Data Sheet System Overview 2. System Overview The CP2108 is a highly integrated USB-to-Quad-UART Bridge Controller providing a simple solution for updating RS-232/RS-485 designs to USB using a minimum of components and PCB space. The CP2108 includes a USB 2.0 full-speed function controller, USB transceiver, oscillator, EEPROM, and four asynchronous serial data buses (UART) with full modem control signals in a compact 9 x 9 mm QFN-64 package (sometimes called "MLF" or "MLP"). The on-chip EEPROM may be used to customize the USB Vendor ID (VID), Product ID (PID), Product Description String, Power Descriptor, Device Release Number, Interface Strings, Device Serial Number, Modem, and GPIO configuration as desired for OEM applications. The EEPROM is programmed on-board via the USB, allowing the programming step to be easily integrated into the product manufacturing and testing process. Royalty-free Virtual COM Port (VCP) device drivers provided by Silicon Labs allow a CP2108-based product to appear as four COM ports in PC applications. The CP2108 UART interfaces implement all RS-232/RS-485 signals including control and handshaking, so existing system firmware does not need to be modified. The device also features a total of sixteen GPIO signals that can be user-defined for status and control information. See www.silabs.com/appnotes for the latest application notes and product support information for the CP2108. An evaluation kit for the CP2108 is available. It includes a CP2108-based USB-to-UART/RS-232 evaluation board, a complete set of VCP device drivers, USB and RS-232 cables, and full documentation. Contact a Silicon Labs sales representative or go to www.silabs.com/products/interface/Pages/CP2108EK.aspx to order the CP2108 Evaluation Kit. silabs.com | Building a more connected world. Rev. 1.2 | 5 CP2108 Data Sheet Electrical Specifications 3. Electrical Specifications 3.1 Electrical Characteristics All electrical parameters in all tables are specified under the conditions listed in 3.1.1 Recommended Operating Conditions, unless stated otherwise. 3.1.1 Recommended Operating Conditions VDD= 3.0 to 3.6 V, -40 to +85 C unless otherwise specified. Table 3.1. Recommended Operating Conditions1 Parameter Symbol Test Condition Min Typ Max Unit Operating Supply Voltage VDD VDD 3.0 -- 3.6 V Operating Supply Voltage VREGIN2 VREGIN 4.0 -- 5.5 V Operating Supply Voltage VIO VIO 3.0 -- VDD V Operating Supply Voltage VIOHD VIOHD 2.7 -- 6.0 V Supply Current--Normal 3 IDD -- 56 -- mA Supply Current--Suspended 3 IDD Bus Powered -- 460 -- A Self Powered -- 330 -- A Supply Current - USB Pull-up 4 IPU -- 200 228 A Operating Ambient Temperature TA -40 -- 85 C Operating Junction Temperature TJ -40 -- 105 C Note: 1. All voltages are with respect to VSS. 2. This applies only when using the regulator. When not using the regulator, VREGIN and VDD are tied together externally and it is allowable for VREGIN to be equal to VDD. 3. If the device is connected to the USB bus, the USB pull-up current should be added to the supply current to calculate total required current. 4. The USB pull-up supply current values are calculated values based on USB specifications. silabs.com | Building a more connected world. Rev. 1.2 | 6 CP2108 Data Sheet Electrical Specifications 3.1.2 UART, GPIO, and Suspend I/O Electrical Characteristics VDD= 3.0 to 3.6 V, VIO=1.8 V to VDD, VIOHD = 2.7 V to 6.0 V, -40 to +85 C unless otherwise specified. Table 3.2. UART, GPIO, and Suspend I/O Parameter Output High Voltage Symbol Test Condition Min Typ Max Unit VOH VIO - 0.7 -- -- V VOH VIOHD - 0.7 -- -- V -- -- 0.6 V -- -- 0.6 V VIO - 0.6 -- -- V -- -- 0.6 V (All pins except High Drive UART 3 pins 1-6) Output High Voltage (High Drive UART 3 pins 1-6) Output Low Voltage VOL (All pins except High Drive pins 1- 6) Output Low Voltage Low Drive IOL = 3 mA VOL (High Drive pins 1-6) High Drive IOL = 12.5 mA Input High Voltage VIH 3.0 VIO 3.6 Input Low Voltage VIL Weak Pull-up Current IPU VIO = 3.6 V -30 -20 -10 A IPU VIOHD = 2.7 V -15 -10 -5 A VIOHD = 6.0 V -30 -20 -10 A Min Typ Max Unit (VIN = 0 V) Weak Pull-up Current UART 3 (pins 1-6) 3.1.3 GPIO -40 to +85C unless otherwise specified. Table 3.3. GPIO Output Specifications Parameter Symbol Test Condition RS-485 Active Time After Stop Bit tACTIVE -- 1 -- bit time1 TX Toggle Rate fTXTOG -- 15 -- Hz RX Toggle Rate fRXTOG -- 15 -- Hz Clock Output Rate fCLOCK ~158k -- 20M Hz Note: 1. Bit-time is calculated as 1 / baud rate. silabs.com | Building a more connected world. Rev. 1.2 | 7 CP2108 Data Sheet Electrical Specifications 3.1.4 Reset Electrical Characteristics -40 to +85 C unless otherwise specified. Table 3.4. Reset Parameter Power-On Reset (POR) Threshold Symbol Test Condition Min Typ Max Unit VPOR Rising Voltage on VDD -- 1.4 -- V Falling Voltage on VDD 0.8 1 1.3 V 10 -- 3000 s VIO - 0.6 -- -- V VDD Ramp Time tRMP Time to VDD 3.0 V /RESET Input High Voltage VIHRESET 3.0 VIO 3.6 /RESET Input Low Voltage VILRESET -- -- 0.6 V /RESET Low Time to Generate a System Reset tRSTL 50 -- -- ns Min Typ Max Unit 3.1.5 Voltage Regulator -40 to +85 C unless otherwise specified. Table 3.5. Voltage Regulator Parameter Symbol Test Condition Output Voltage (at VDD pin) VDDOUT 3.15 3.3 3.4 V Output Current (at VDD pin)1 IDDOUT -- -- 150 mA Output Load Regulation VDDLR -- 0.1 1 mV/mA Output Capacitance CVDD 1 -- 10 F Note: 1. This is the total current the voltage regulator is capable of providing. Any current consumed by the CP2108 reduces the current available to external devices powered from VDD. silabs.com | Building a more connected world. Rev. 1.2 | 8 CP2108 Data Sheet Electrical Specifications 3.1.6 USB Transceiver -40 to +85 C unless otherwise specified. Table 3.6. USB Transceiver Parameter Valid Supply Range Symbol Test Condition VDD Min Typ Max Unit 3.0 -- 3.6 V (for USB Compliance) VBUS Pull-Down Leakage Current IVBUSL VBUS = 5 V, VIO = 3.3 V -- 10 -- A VBUS Detection Input Threshold VVBUSTH 3.0 VIO 3.6 VIO - 0.6 -- -- V Transmitter Output High Voltage VOH 2.8 -- -- V Output Low Voltage VOL -- -- 0.8 V Output Crossover Point VCRS 1.3 -- 2.0 V Output Impedance ZDRV Driving High -- 38 -- Driving Low -- 38 -- 1.425 1.5 1.575 k Low Speed 75 -- 300 ns Full Speed 4 -- 20 ns Low Speed 75 -- 300 ns Full Speed 4 -- 20 ns 0.2 -- -- V 0.8 -- 2.5 V -- <1.0 -- A Pull-up Resistance RPU Full Speed (D+ Pull-up) Low Speed (D- Pull-up) Output Rise Time Output Fall Time TR TF Receiver Differential Input VDI | (D+) - (D-) | Sensitivity Differential Input Common Mode Range VCM Input Leakage Current IL Pull-ups Disabled Refer to the USB Specification for timing diagrams and symbol definitions. silabs.com | Building a more connected world. Rev. 1.2 | 9 CP2108 Data Sheet Electrical Specifications 3.2 Absolute Maximum Ratings Stresses above those listed in 3.2 Absolute Maximum Ratings may cause permanent damage to the device. This is a stress rating only and functional operation of the devices at those or any other conditions above those indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability. For more information on the available quality and reliability data, see the Quality and Reliability Monitor Report at http://www.silabs.com/support/quality/pages/ default.aspx. Table 3.7. Absolute Maximum Ratings Parameter Symbol Test Condition Min Max Unit Ambient Temperature Under Bias TBIAS -55 125 C Storage Temperature TSTG -65 150 C Voltage on VDD VDD VSS - 0.3 4.2 V Voltage on VREGIN VREGIN VSS - 0.3 6.0 V Voltage on VBUS VBUS VIO 3.3 V VSS - 0.3 5.8 V VIO < 3.3 V VSS - 0.3 VIO + 2.5 Voltage on VIO VIO VSS - 0.3 4.2 V Voltage on VIOHD VIOHD VSS - 0.3 6.5 V Voltage on /RESET VIN VIO 3.3 V VSS - 0.3 5.8 V VIO < 3.3 V VSS - 0.3 VIO + 2.5 V GPIO/UART pins except 1-6 VSS - 0.3 VIO + 0.3 V UART pins 1-6 VSSHD - 0.3 VIOHD + 0.3 V VIO 3.3 V VSS - 0.3 5.8 V VIO < 3.3 V VSS - 0.3 VIO + 2.5 V -- 400 mA 400 -- mA UART,GPIO,Suspend I/O, /RESET except for UART 3 pins1-6 -100 100 mA UART 3 pins 1-6 -300 300 mA UART,GPIO,Suspend I/O, /RESET except for UART 3 pins1-6 -100 100 mA UART 3 pins 1-6 -300 300 mA Sum of all I/O and /RESET -400 400 mA -- 800 mW Voltage on GPIO or UART pins Voltage on D+ or D- VIN VIN Total Current Sunk into Supply Pins ISUPP Total Current Sourced out of Ground Pins IVSS Current Sourced or Sunk by Any I/O Pin IPIO Current Injected on Any I/O Pin IINJ Total Injected Current on I/O Pins IINJ Power Dissipation at TA = 85 C PD VDD, VREGIN, VIO,VIOHD Note: 1. VSS and VSSHD provide separate return current paths for device supplies, but are not isolated. They must always be connected to the same potential on board. silabs.com | Building a more connected world. Rev. 1.2 | 10 CP2108 Data Sheet Electrical Specifications 3.3 Thermal Conditions Table 3.8. Thermal Conditions Parameter Symbol Thermal Resistance Test Condition JA Min Typ Max Unit 25 C/W Note: 1. Thermal resistance assumes a multi-layer PCB with any exposed pad soldered to a PCB pad. 3.4 Throughput and Flow Control The throughput values in the following table are typical values based on bench testing and can serve as a guideline for expected performance. Other factors such as PC system performance and USB bus loading will have an effect on throughput. Each column in the table shows the typical throughput using 1, 2, 3 or all 4 UART interfaces for the set baud rate. 1. It is not necessary to use hardware flow control if all CP2108 interfaces are configured for 230,400 bps or lower. 2. For baud rates above 230,400 bps, hardware flow control should be used to guarantee reception of all bytes across the UART. Also, sending data across multiple interfaces simultaneously will cause a reduction in the effective throughput for each interface. 3. UART 3 has lower throughput rates than UARTS 0-2. If the application is configured such that different interfaces will operate at different baud rates, the interface at the lowest baud rate should be put on UART 3. UART 3 throughput is 5% to 20% slower than the other interfaces. 4. The performance of UART 3 starts to become significantly slower than the other UART interfaces at baud rates greater than 230,400 bps. Table 3.9. Throughput Guidelines Comparing UARTS in Operation at Different Set Baud Rates Set Baud Rate 230,400 (bps) 460,800 (bps) 921,600 (bps) 2M (bps) 1 UART in operation: Throughput 196,900 (bps) 387,200 (bps) 694,200 (bps) 760,000 (bps) 2 UARTs in operation: Throughput 200,400 (bps) 381,600 (bps) 463,700 (bps) 537,400 (bps) 3 UARTs in operation: Throughput 200,300 (bps) 259,800 (bps) 314,800 (bps) 388,000 (bps) 4 UARTs in operation: Throughput 180,300 (bps) 208,900 (bps) 234,000 (bps) 288,200 (bps) silabs.com | Building a more connected world. Rev. 1.2 | 11 CP2108 Data Sheet Pin Definitions RESET D- D+ VBUS VREGIN VSS VDD TX0 RX0 RTS0 CTS0 DTR0 DSR0 DCD0 RI0 TX1 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 4. Pin Definitions RX3 1 48 RX1 VSSHD 2 47 RTS1 VIOHD 3 46 CTS1 TX3 4 45 DTR1 CTS3 5 44 DSR1 RTS3 6 43 DCD1 RI3 7 42 RI1 DCD3 8 64 pin QFN 41 GPIO.0 DSR3 9 (TopView) 40 GPIO.1 DTR3 10 39 VIO RI2 11 38 GPIO.2 DCD2 12 37 GPIO.3 CTS2 13 36 NC RTS2 14 35 NC RX2 15 34 GPIO.4 TX2 16 33 GPIO.5 24 25 26 27 28 29 30 31 32 VIO VSS GPIO.12 GPIO.11 GPIO.10 GPIO.9 GPIO.8 GPIO.7 GPIO.6 21 GPIO.15 23 20 SUSPEND GPIO.13 19 SUSPEND 22 18 DTR2 GPIO.14 17 DSR2 VSS Figure 4.1. CP2108 Pin Definitions Table 4.1. Pin Definitions for CP2108 QFN64 Pin Name VSS Type Pin Primary Function Alternate Function Ground 25 Device Ground -- 59 silabs.com | Building a more connected world. Rev. 1.2 | 12 CP2108 Data Sheet Pin Definitions Pin Name VSSHD VDD Type Pin Primary Function Alternate Function Ground 2 High Drive Device Ground UART 3 pins 1-6. Connect to Device Ground. -- Power (Core) 58 Power Supply Voltage Input -- Voltage Regulator Output VIO Power (I/O) Non High Drive 24 Non High Drive I/O Supply Voltage Input -- Power (I/O) High Drive 3 High Drive I/O Supply Voltage Input -- VREGIN Power (Regulator) 60 Voltage Regulator Input. This pin is the input to the on-chip voltage regulator. -- RESET Active-low Reset 64 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 5. D- USB Data- 63 USB D- -- D+ USB Data+ 62 USB D+ -- USB Bus Sense 61 VBUS Sense Input. This pin should be connected to the VBUS signal of a USB network. -- TX0 Digital Output 57 UART 0 Transmit (TX) -- RX0 Digital Input 56 UART 0 Receive (RX) -- Digital Output 55 UART 0 Ready to Send (RTS) -- VIOHD VBUS RTS0 39 Indicates to the modem that the UART is ready to receive data. CTS0 Digital Input 54 UART 0 Clear to Send (CTS) -- Indicates the modem is ready to send data to the UART. DTR0 Digital Output 53 UART 0 Data Terminal Ready (DTR) -- Informs the modem that the UART is ready to establish a communications link. DSR0 Digital Input 52 UART 0 Data Set Ready (DSR) -- Indicates that the modem is ready to establish the communications link with the UART. DCD0 Digital Input 51 UART 0 Data Carrier Detect (DCD) -- Indicates that the data carrier has been detected by the modem. RI0 Digital Input 50 UART 0 Ring Indicator (RI) -- Indicates that a telephone ringing signal has been detected by the modem. TX1 Digital Output 49 UART 1 Transmit (TX) -- RX1 Digital Input 48 UART 1 Receive (RX) -- RTS1 Digital Output 47 UART 1 Ready to Send (RTS) -- CTS1 Digital Input 46 UART 1 Clear to Send (CTS) -- silabs.com | Building a more connected world. Rev. 1.2 | 13 CP2108 Data Sheet Pin Definitions Pin Name Type Pin Primary Function Alternate Function DTR1 Digital Output 45 UART 1 Data Terminal Ready (DTR) -- DSR1 Digital Input 44 UART 1 Data Set Ready (DSR) -- DCD1 Digital Input 43 UART 1 Data Carrier Detect (DCD) -- RI1 Digital Input 42 UART 1 Ring Indicator (RI) -- GPIO.0 Digital I/O 41 General Purpose I/O 0 UART 0 TX Toggle GPIO.1 Digital I/O 40 General Purpose I/O 1 UART 0 RX Toggle GPIO.2 Digital I/O 38 General Purpose I/O 2 UART 0 RS-485 GPIO.3 Digital I/O 37 General Purpose I/O 3 Clock Output 0 GPIO.4 Digital I/O 34 General Purpose I/O 4 UART 1 TX Toggle GPIO.5 Digital I/O 33 General Purpose I/O 5 UART 1 RX Toggle GPIO.6 Digital I/O 32 General Purpose I/O 6 UART 1 RS-485 GPIO.7 Digital I/O 31 General Purpose I/O 7 Clock Output 1 GPIO.8 Digital I/O 30 General Purpose I/O 8 UART 2 TX Toggle GPIO.9 Digital I/O 29 General Purpose I/O 9 UART 2 RX Toggle GPIO.10 Digital I/O 28 General Purpose I/O 10 UART 2 RS-485 GPIO.11 Digital I/O 27 General Purpose I/O 11 Clock Output 2 GPIO.12 Digital I/O 26 General Purpose I/O 12 UART 3 TX Toggle GPIO.13 Digital I/O 23 General Purpose I/O 13 UART 3 RX Toggle GPIO.14 Digital I/O 22 General Purpose I/O 14 UART 3 RS-485 GPIO.15 Digital I/O 21 General Purpose I/O 15 Clock Output 3 SUSPEND Digital Output 20 Suspend Indicator - Active High -- SUSPEND Digital Output 19 Suspend Indicator - Active Low -- DTR2 Digital Output 18 UART 2 Data Terminal Ready (DTR) -- DSR2 Digital Input 17 UART 2 Data Set Ready (DSR) -- TX2 Digital Output 16 UART 2 Transmit (TX) -- RX2 Digital Input 15 UART 2 Receive (RX) -- RTS2 Digital Output 14 UART 2 Ready to Send (RTS) -- CTS2 Digital Input 13 UART 2 Clear to Send (CTS) -- DCD2 Digital Input 12 UART 2 Data Carrier Detect (DCD) -- RI2 Digital Input 11 UART 2 Ring Indicator (RI) -- DTR3 Digital Output 10 UART 3 Data Terminal Ready (DTR) -- DSR3 Digital Input 9 UART 3 Data Set Ready (DSR) -- DCD3 Digital Input 8 UART 3 Data Carrier Detect (DCD) -- RI3 Digital Input 7 UART 3 Ring Indicator (RI) -- RTS3 Digital Output 6 UART 3 Ready to Send (RTS) High Drive -- CTS3 Digital Input 5 UART 3 Clear to Send (CTS) High Drive -- Digital Output 4 UART 3 Transmit (TX) High Drive -- TX3 silabs.com | Building a more connected world. Rev. 1.2 | 14 CP2108 Data Sheet Pin Definitions Pin Name Type Pin Primary Function Alternate Function RX3 Digital Input 1 UART 3 Receive (RX) High Drive -- NC No Connect 35 -- -- 36 silabs.com | Building a more connected world. Rev. 1.2 | 15 CP2108 Data Sheet QFN64 Package Specifications 5. QFN64 Package Specifications 5.1 QFN64 Package Dimensions Figure 5.1. QFN64 Package Drawing Table 5.1. QFN64 Package Dimensions Dimension Min Typ Max A 0.80 0.85 0.90 A1 0.00 0.02 0.05 b 0.18 0.25 0.30 D D2 9.00 BSC 3.95 4.10 e 0.50 BSC E 9.00 BSC 4.25 E2 3.95 4.10 4.25 L 0.30 0.40 0.50 aaa 0.10 bbb 0.10 ccc 0.08 ddd 0.10 eee 0.05 silabs.com | Building a more connected world. Rev. 1.2 | 16 CP2108 Data Sheet QFN64 Package Specifications Dimension Min Typ Max Note: 1. All dimensions shown are in millimeters (mm) unless otherwise noted. 2. Dimensioning and Tolerancing per ANSI Y14.5M-1994. 3. This package outline conforms to JEDEC MO-220. 4. Recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for Small Body Components. silabs.com | Building a more connected world. Rev. 1.2 | 17 CP2108 Data Sheet QFN64 Package Specifications 5.2 QFN64 PCB Land Pattern Figure 5.2. QFN64 Recommended PCB Land Pattern Table 5.2. QFN64 PCB Land Pattern Dimensions Dimension mm C1 8.90 C2 8.90 E 0.50 X1 0.30 Y1 0.85 X2 4.25 Y2 4.25 silabs.com | Building a more connected world. Rev. 1.2 | 18 CP2108 Data Sheet QFN64 Package Specifications Dimension mm Note: General 1. All dimensions shown are in millimeters (mm). 2. This Land Pattern Design is based on the IPC-7351 guidelines. 3. All dimensions shown are at Maximum Material Condition (MMC). Least Material Condition (LMC) is calculated based on a Fabrication Allowance of 0.05 mm. Solder Mask Design 1. 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 1. A stainless steel, laser-cut and electro-polished stencil with trapezoidal walls should be used to assure good solder paste release. 2. The stencil thickness should be 0.125 mm (5 mils). 3. The ratio of stencil aperture to land pad size should be 1:1 for all pads. 4. A 3x3 array of 1.0 mm square openings on a 1.5 mm pitch should be used for the center ground pad. Card Assembly 1. A No-Clean, Type-3 solder paste is recommended. 2. The recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for Small Body Components. 5.3 QFN64 Package Marking CP2108-GM YYWWTTTTTT e3 TW Figure 5.3. QFN64 Package Marking The package marking consists of: * GM - The package type. * TTTTTT - A trace or manufacturing code. * YY - The last two digits of the assembly year. * WW - The two-digit workweek when the device was assembled. * e3 - Lead-free (RoHS compliance) designator. * TW - Device origin (Taiwan) (ISO abbreviation). silabs.com | Building a more connected world. Rev. 1.2 | 19 CP2108 Data Sheet Typical Connection Diagrams 6. Typical Connection Diagrams The CP2108 includes an on-chip 5 to 3.3 V voltage regulator, which allows the CP2108 to be configured as either a USB bus-powered device or a USB self-powered device. The following figure shows a typical connection diagram of the device in a bus-powered application using the regulator. When used, the voltage regulator output appears on the VDD pin and can be used to power external devices. See 3.1.5 Voltage Regulator for the voltage regulator electrical characteristics. CP2108 Note 5 2.7V-6.0V VIO Note 2 VIOHD 1-5 F 4.7 k 0.1 F Note 4 3.3 V Power Note 3 /RESET VIO RI(0-3) VDD DCD(0-3) UART0 DTR(0-3) 0.1 F 1-5 F DSR(0-3) UART1 RTS(0-3) VREGIN CTS(0-3) RX(0-3) 1 F TX(0-3) VSSHD VSS USB Connector GPIO.0 - GPIO.15 SUSPEND /SUSPEND VBUS UART2 UART3 UART and GPIO Signals VBUS D+ D+ D- D- GND Note 1 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 : An external pull-up is not required, but can be added for noise immunity. Note 3 : VIO can be connected directly to VDD or to a supply in the range of 3.0-3.6 V. Note 4: There are 2 VIO pins. All should be connected together. Each pin requires a separate 1 F and a 0.1 F capacitor. VIO can also be connected to VIOHD if VIOHD is in the range of 3.0-3.6 V. Note 5 : VIOHD can be connected directly to VDD or to a supply in the range of 3.0-6 V. Figure 6.1. Typical Bus-Powered Connection Diagram silabs.com | Building a more connected world. Rev. 1.2 | 20 CP2108 Data Sheet Typical Connection Diagrams There are two configurations for self-powered applications: regulator used and regulator bypassed. To provide VDD in a self-powered application using the regulator, use the same connections from the previous figure, but connect VREGIN to an on-board 5 V supply and disconnect it from the VBUS pin. The typical self-powered connections with the regulator used is shown in the following figure. 2.7-6.0 V Note 5 1-5 F VIOHD CP2108 VIO 0.1 F Note 2 4.7 k Note 4 3.3 V Power Note 3 VIO /RESET RI(0-3) VDD DCD(0-3) UART0 DTR(0-3) 0.1 F 1-5 F DSR(0-3) UART1 RTS(0-3) 5 V Power VREGIN CTS(0-3) RX(0-3) 1 F TX(0-3) VSSHD VSS USB Connector GPIO.0 - GPIO.15 SUSPEND /SUSPEND VBUS UART2 UART3 UART and GPIO Signals VBUS D+ D+ D- D- GND Note 1 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 : An external pull-up is not required, but can be added for noise immunity. Note 3 : VIO can be connected directly to VDD or to a supply in the range of 3.0-3.6 V. Note 4: There are 2 VIO pins. All should be connected together. Each pin requires a separate 1 F and a 0.1 F capacitor. VIO can also be connected to VIOHD if VIOHD is in the range of 3.0-3.6 V. Note 5 : VIOHD can be connected directly to VDD or to a supply in the range of 3.0-6 V. Figure 6.2. Typical Self-Powered (Regulator Used) Connection Diagram silabs.com | Building a more connected world. Rev. 1.2 | 21 CP2108 Data Sheet Typical Connection Diagrams Alternatively, if 3.0 to 3.6 V power is supplied to the VDD pin, the CP2108 can function as a USB self-powered device with the voltage regulator bypassed. For this configuration, the VREGIN input should be tied to VDD to bypass the voltage regulator. The following figure shows a typical connection diagram showing the device in a self-powered application with the regulator bypassed. 2.8V-6.0V VIOHD 1-5 F CP2108 0.1 F VIO Note 4 Note 3 3.3 V Power Note 2 4.7 k VIO VDD VREGIN /RESET RIn DCDn UART0 DTRn 1-5 F 0.1 F DSRn VSSHD RTSn VSS CTSn USB Connector RXn TXn VBUS VBUS D+ D+ GPIO.0 - GPIO.15 D- D- SUSPEND GND /SUSPEND UART1 UART2 UART3 UART and GPIO Signals Note 1 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 : An external pull-up is not required, but can be added for noise immunity. Note 3 : 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 4: There are 2 VIO pins. All should be connected together. Each require a separate 1 F and a 0.1 F capacitor. Figure 6.3. Typical Self-Powered Connection Diagram (Regulator Bypass) silabs.com | Building a more connected world. Rev. 1.2 | 22 CP2108 Data Sheet USB Function Controller and Transceiver 7. USB Function Controller and Transceiver The Universal Serial Bus (USB) function controller in the CP2108 is a USB 2.0 compliant full-speed device with integrated transceiver and on-chip matching and pull-up resistors. The USB function controller manages all data transfers between the USB and the UARTs as well as command requests generated by the USB host controller and commands for controlling the function of the UARTs and GPIO pins. Device pins for UART 0-2 are powered by VIO, while UART 3 pins 1-6 are powered through VIOHD and are high drive pins. These high drive pins have higher input voltage requirements than other pins which are noted in all the electrical tables. The USB Suspend and Resume signals are supported for power management of both the CP2108 device as well as external circuitry. The CP2108 will enter Suspend mode when Suspend signaling is detected on the bus. Upon entering Suspend mode, the CP2108 asserts the SUSPEND and /SUSPEND signals. SUSPEND and /SUSPEND signals are also asserted after a CP2108 reset until device configuration during USB enumeration is complete. The CP2108 exits the 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. On exit of Suspend mode, the SUSPEND and /SUSPEND signals are de-asserted. SUSPEND and /SUSPEND are weakly pulled to VIO in a high impedance state during a CP2108 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 EEPROM. See TODO for more information. The USB max power and power attributes descriptor must match the device power usage and configuration. See application note AN721: CP210x/CP211x Device Customization Guide on www.silabs.com/appnotes for information on how to customize USB descriptors for the CP2108. silabs.com | Building a more connected world. Rev. 1.2 | 23 CP2108 Data Sheet Asynchronous Serial Data Bus (UART) Interfaces 8. Asynchronous Serial Data Bus (UART) Interfaces The CP2108 contains four UART interfaces, each consisting of the TX (transmit) and RX (receive) data signals and RTS and CTS flow control signals. The UARTs also support modem flow control (DSR, DTR, DCD, RI). The UARTs are programmable to support a variety of data formats and baud rates. The Virtual COM Port (VCP) drivers are used to set the data format and baud rate during COM port configuration on the PC. The data formats and baud rates available to each UART interface are listed in the following table. Table 8.1. Data Formats and Baud Rates (All UART Interfaces) Parameter Value Data Bits1 5, 6, 7, 8 (normal mode or fixed mode) Stop Bits 1, 1.5, 2 Parity Type Odd, Even, Set, Mark, None Baud Rate 300 bps to 2.0 Mbps1 Note: 1. Review 3.4 Throughput and Flow Control for expected throughput based on selected UART Interface(s) and Baud Rate. 8.1 Baud Rate Generation The baud rate generator for the interface is very flexible, allowing any baud rate in the range from 300 bps to 2.0 Mbps. If the baud rate cannot be directly generated from the 80 MHz oscillator, the device will choose the closest possible option. The actual baud rate is dictated by the following equations. Clock Divider = 80 MHz -1 2 x Requested Baud Rate Actual Baud Rate = 80 MHz 2 x Clock Divider 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 divider value obtained in Equation 1 is rounded to the nearest integer, which may produce an error source. Another error source will be the 80 MHz oscillator, which is accurate to 0.25%. Knowing the actual and requested baud rates, the total baud rate error can be found using the following equation. ( Baud Rate Error (%) = 100 x 1 - ) Actual Baud Rate 0.25% Requested Baud Rate The UART interfaces support the transmission and reception of a line break. The CP2108 detects a line break when the RX line is held low for longer than one byte time at the configured baud rate. The length of a transmitted line break is application-specific: the application sends a SET_BREAK command to set the TX line low, and the line stays low until the application sends a CLEAR_BREAK command. silabs.com | Building a more connected world. Rev. 1.2 | 24 CP2108 Data Sheet GPIO and UART Pins 9. GPIO and UART Pins The CP2108 supports sixteen user-configurable GPIO pins for status and control information. Each of these GPIO pins are usable as inputs, open-drain outputs, or push-pull outputs. By default, all of the GPIO pins are configured as a GPIO input. A logic high, opendrain 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 and push-pull outputs are identical when driving a logic low. The speed to read and write the GPIO pins from an application is subject to the timing of the USB bus. GPIO pins configured as inputs or outputs are not recommended for real-time signaling. In addition to the primary GPIO function, each GPIO pin has an alternate function listed in the following table. More information regarding the configuration and usage of the GPIO pins can be found in application note AN721: CP210x/CP211x Customization Guide available on the Silicon Labs website: www.silabs.com/appnotes. Table 9.1. GPIO Mode Alternate Functions GPIO Pin Alternate Functions GPIO.0 UART 0 TX Toggle GPIO.1 UART 0 RX Toggle GPIO.2 UART 0 RS-485 GPIO.3 Clock Output 0 GPIO.4 UART 1 TX Toggle GPIO.5 UART 1 RX Toggle GPIO.6 UART 1 RS-485 GPIO.7 Clock Output 1 GPIO.8 UART 2 TX Toggle GPIO.9 UART 2 RX Toggle GPIO.10 UART 2 RS-485 GPIO.11 Clock Output 2 GPIO.12 UART 3 TX Toggle GPIO.13 UART 3 RX Toggle GPIO.14 UART 3 RS-485 GPIO.15 Clock Output 3 9.1 GPIO -- Alternate Clock Outputs There are four alternate clock outputs. The clock output frequency is shown in the following equation. Each clock has a 1-byte divider value. GPIO pins 3,7,11, and 15 can 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 clocks are derived by dividing the CP2108 core clock, allowing external components to be clocked synchronously with the CP2108. Clock Output Frequency = 40 MHz Clock Divider Note: A clock divider value of 1 is invalid, and a clock divider of 0 results in a frequency of 156 kHz. silabs.com | Building a more connected world. Rev. 1.2 | 25 CP2108 Data Sheet GPIO and UART Pins 9.2 GPIO -- Transmit and Receive Toggle GPIO.0, GPIO.1, GPIO.4, GPIO.5, GPIO.8, GPIO.9, GPIO.12, and GPIO.13 pins are configurable as Transmit Toggle and Receive Toggle pins for the four UART interfaces. These pins are logic high when a device is not transmitting or receiving data, and they toggle at a fixed rate as specified in 3.1.3 GPIO when data transfer is in progress. Typically, these pins are connected to two LEDs to indicate data transfer. VIO/VIOHD CP2108 TX Toggle RX Toggle Figure 9.1. Transmit and Receive Toggle Typical Connection Diagram silabs.com | Building a more connected world. Rev. 1.2 | 26 CP2108 Data Sheet GPIO and UART Pins 9.3 RS-485 Transceiver Bus Control GPIO.2, GPIO.6, GPIO.10, and GPIO.14 are alternatively configurable as RS-485 bus transceiver control pins. When configured for RS-485 mode, the pin is asserted during UART data transmission and line break transmission. The RS-485 mode is active-high by default, but the pins can also be configured for active-low mode. RS-485 Transceiver CP2108 TX R RX D RS485 RE DE Figure 9.2. RS-485 Transceiver Typical Connection Diagram CP2108 TX0 TX RX0 RX RTS0 RTS CTS0 CTS TX1 TX RX1 RX RTS1 RTS CTS1 CTS TX2 TX RX2 RX RTS2 RTS CTS2 CTS TX3 TX RX3 RX RTS3 RTS CTS3 CTS RS-232 System RS-232 System RS-232 System RS-232 System Figure 9.3. Hardware Flow Control Typical Connection Diagram silabs.com | Building a more connected world. Rev. 1.2 | 27 CP2108 Data Sheet GPIO and UART Pins 9.4 Hardware Flow Control (RTS and CTS) To utilize the functionality of the RTS and CTS pins of the CP2108, each interface must be configured to use hardware flow control. RTS, or Ready To Send, is an active-low output from the CP2108 and indicates to the external UART device that the CP2108's UART RX FIFO has not reached the watermark level of 1536 bytes and is ready to accept more data. When the amount of data in the RX FIFO reaches the watermark, the CP2108 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 CP2108 and is used by the external UART device to indicate to the CP2108 when the external UART device's RX FIFO is getting full. The CP2108 will not send more than two bytes of data once CTS is pulled high. The CP2108 stores the received data in internal buffers. It is possible for the CP2108 to receive data on the RX line before a handle to it is opened. In this case the user may wish to send the data to the USB pipe or may wish to flush it. Similarly, the user may close the handle while data is still in the internal transmit buffer. It may be desirable to continue sending all of the data out the TX pin after the handle has been closed. The flush buffer configuration options allow the user to define whether each buffer is flushed when a handle to the device is opened or closed. By default all the buffers will be flushed when a handle is opened and will not be flushed when a handle is closed. These options are configurable using Xpress Configurator in Simplicity Studio (www.silabs.com/simplicity) as shown in the following figure. Figure 9.4. Flush Buffers Options in Xpress Configurator Customization Utility silabs.com | Building a more connected world. Rev. 1.2 | 28 CP2108 Data Sheet GPIO and UART Pins 9.5 High Drive Pins UART 3 Pins 1-6 The UART 3 pins 1-6 are high drive pins that have different input voltage conditions than the other UART and GPIO pins. If an input voltage for VDD, VIO, and VIOHD is used that is overlapping for the three ranges, then these pins can all be tied together. One of the benefits of this variation is that UART 3 can accept an input of up to 6 V and therefore can be connected directly to a 5 V device without additional circuitry. silabs.com | Building a more connected world. Rev. 1.2 | 29 CP2108 Data Sheet Internal EEPROM 10. Internal EEPROM The CP2108 includes an internal EEPROM that may be used to customize the USB Vendor ID (VID), Product ID (PID), Product Description String, Power Descriptor, Device Release Number, Interface Strings, and Device Serial Number as desired for OEM applications. If the EEPROM has not been programmed with OEM data, the default configuration data shown in the following tables are used. While customization of the USB configuration data is optional, customizing the VID/PID combination is strongly recommended. A unique VID/PID combination will prevent the driver from conflicting with any other USB driver from a different manufacturer's product. 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. Customizing the serial string for each individual device is also recommended if the OEM application is one in which it is possible for multiple CP210x-based devices to be connected to the same PC. Refer to application note AN721: CP210x/CP211x Customization Guide for more information about device customization. Table 10.1. Default USB Configuration Data Name Description Default Value Vendor ID (VID) The Vendor ID is a four digit hexadecimal number that is unique to a particular vendor. 10C4h, for example, is the Silicon Labs Vendor ID. 10C4h Product ID (PID) The Product ID is a four digit hexadecimal number that identifies the vendor's device. EA71h, for example, is the default Product ID for Silicon Labs' CP2108 USB-to-QuadUART Bridge devices. EA71h Power Descriptor (Attributes) This setting determines whether the device is Bus-Powered, i.e. it is powered by the host, or Self-Powered, i.e. it is powered from a supply on the device. 80h (Bus-Powered) Power Descriptor (Max Power) This describes the maximum amount of power that the device will draw from the host in mA multiplied by 2. For example, 32h equates to 100 mA. 32h (100 mA) Release Number The Release Version is a binary-coded-decimal value that is assigned by the device manufacturer. 0140h (Release Version 01.4.0) Serial String The Serial String is an optional string that is used by the host to distinguish between multiple devices with the same VID and PID combination. It is limited to 126 characters. 126 characters maximum Product Description String The Product String is an optional string that describes the product. It is limited to 126 characters maximum. "CP2108 USB to Quad Bridge Controller" (126 characters maximum) Interface 0 String The Interface String is an optional string that describes each one of the device's interfaces. Each string is limited to 43 characters. "CP2108 Interface 0" (43 characters maximum) Interface 1 String The Interface String is an optional string that describes each one of the device's interfaces. Each string is limited to 43 characters. "CP2108 Interface 1" (43 characters maximum) Interface 2 String The Interface String is an optional string that describes each one of the device's interfaces. Each string is limited to 43 characters. "CP2108 Interface 2" (43 characters maximum) Interface 3 String The Interface String is an optional string that describes each one of the device's interfaces. Each string is limited to 43 characters. "CP2108 Interface 3" (43 characters maximum) Table 10.2. Default GPIO, UART, and Suspend Configuration Data Name Value GPIO.0 GPIO Input silabs.com | Building a more connected world. Rev. 1.2 | 30 CP2108 Data Sheet Internal EEPROM Name Value GPIO.1 GPIO Input GPIO.2 GPIO Input GPIO.3 GPIO Input GPIO.4 GPIO Input GPIO.5 GPIO Input GPIO.6 GPIO Input GPIO.7 GPIO Input GPIO.8 GPIO Input GPIO.9 GPIO Input GPIO.10 GPIO Input GPIO.11 GPIO Input GPIO.12 GPIO Input GPIO.13 GPIO Input GPIO.14 GPIO Input GPIO.15 GPIO Input SUSPEND Push-pull, Active-High SUSPEND Push-pull, Active-Low RS-485 Level Active-High The internal EEPROM is programmed using the USB interface. This allows the OEM's USB configuration data and serial number to be written to the CP2108 on-board during the manufacturing and testing process. A stand-alone utility for programming the internal EEPROM is available from Silicon Labs. A library of routines provided in the form of a Windows(R) DLL is also available. This library can be used to integrate the EEPROM programming step into custom software used by the OEM to streamline testing and serial number management during manufacturing. USB descriptors can be locked to prevent future modification. silabs.com | Building a more connected world. Rev. 1.2 | 31 CP2108 Data Sheet CP2108 Device Drivers 11. CP2108 Device Drivers The device driver available for CP2108 is the Virtual COM Port (VCP) driver. The latest drivers are available at www.silabs.com/ vcpdrivers. 11.1 Virtual COM Port (VCP) Drivers The CP2108 Virtual COM Port (VCP) device drivers allow a CP2108-based device to appear to the PC's application software as four COM ports. Application software running on the PC accesses the CP2108-based device as it would access four standard hardware COM ports. However, actual data transfer between the PC and the CP2108 device is performed over the USB interface. Therefore, existing COM port applications may be used to transfer data via the USB to the CP2108-based device without modifying the application. See application note AN197: Serial Communications Guide for the CP210x for example code for interfacing to a CP2108 using the VCP drivers. Note: Because the CP2108 uses a USB-based communication interface, timing will not be controllable or guaranteed as it is with a standard COM port. Full-speed USB operates on 1 ms frames, and the host schedules packets for each USB device where it can in the 1 ms frame. It is recommended to use large data transfers when reading and writing from the host to send data as quickly as possible. 11.2 Driver Customization In addition to customizing the device as described in 8. Asynchronous Serial Data Bus (UART) Interfaces, the drivers and the drivers installation package can be also be customized. See application note AN220: USB Driver Customization for more information on generating customized VCP drivers. Note: The VID/PID in the drivers must match the VID/PID in the device for the drivers to load properly when the device is connected to the PC. 11.3 Driver Certification The default drivers for the CP2108 are Microsoft Windows Hardware Quality Labs (WHQL) certified. The certification means that the drivers have been tested by Microsoft and their latest operating systems will allow the drivers to be installed without any warnings or errors. The customized drivers that are generated using the AN220 software are not automatically certified. To become certified, they must go first through the Microsoft Driver Reseller submission process. Refer to AN807: Recertifying a Customized Windows HCK Driver Package for assistance with this process. silabs.com | Building a more connected world. Rev. 1.2 | 32 CP2108 Data Sheet Relevant Application Notes and Software 12. Relevant Application Notes and Software The following Application Notes are applicable to the CP2108 devices. The latest versions of these application notes and their accompanying software are available at www.silabs.com/interface-appnotes or within Simplicity Studio in the [Application Notes] area. * AN721: CP210x Device Customization Guide -- This application note guides developers through the configuration process of devices using Simplicity Studio [Xpress Configurator]. * AN197: Serial Communications Guide for the CP210x -- This application note describes how to use the standard Windows COM port function to communicate with the CP210x and includes example code. * AN220: USB Driver Customization -- This application note describes how to use the AN220 software to customize the VCP or USBXpress drivers with OEM information. * AN571: CP210x Virtual COM Port Interface -- This application note describes the virtual COM port interface and the commands that can be used with the driver. * AN807: Recertifying a Customized Windows HCK Driver Package -- This document describes the process of recertifying a customized driver package created by the AN220 driver customization wizard for Windows. The CP2108 Software Development Kit can be downloaded from www.silabs.com/interface-software. See the Xpress Configurator utility in Simplicity Studio (www.silabs.com/simplicity) for information on how to customize USB descriptors for the CP2108. silabs.com | Building a more connected world. Rev. 1.2 | 33 CP2108 Data Sheet Revision History 13. Revision History 13.1 Revision 1.2 February 15th, 2017 Updated orderable part number to CP2108-B03-GM. Updated 9.1 GPIO -- Alternate Clock Outputs and the valid range of clock outputs in 3.1.3 GPIO to match the behavior of the B03 revision devices. Updated document formatting. Removed specific operating system versions supported. Removed the Device Specific Behavior section and moved this information to the device errata. Merged the Ordering Part Number Information chapter into 1. Feature List and Ordering Information. Added a note to 11.1 Virtual COM Port (VCP) Drivers regarding data timing with USB. Added a reference to AN807: Recertifying a Customized Windows HCK Driver Package in 11.3 Driver Certification and 12. Relevant Application Notes and Software. Removed a reference to AN335: USB driver Installation Utility from 12. Relevant Application Notes and Software because this software is no longer utilized by the standard VCP driver package. Updated 5.3 QFN64 Package Marking to the new format for B03 devices. 13.2 Revision 1.1 February 2014 Added CP2108-B02-GM part number. Added the Ordering Part Number Information chapter. Updated URL in 12. Relevant Application Notes and Software. Added the Device Specific Behavior chapter. 13.3 Revision 1.0 November 2012 Removed preliminary language. Updated front page feature list. Added the 2. System Overview chapter. Updated table formatting in the 3. Electrical Specifications chapter. Adjusted the order of chapters in the document. 13.4 Revision 0.1 March 2012 Initial release. silabs.com | Building a more connected world. Rev. 1.2 | 34 Simplicity Studio One-click access to MCU and wireless tools, documentation, software, source code libraries & more. Available for Windows, Mac and Linux! IoT Portfolio www.silabs.com/IoT SW/HW www.silabs.com/simplicity Quality www.silabs.com/quality Support and Community community.silabs.com Disclaimer Silicon Labs intends to provide customers with the latest, accurate, and in-depth documentation of all peripherals and modules available for system and software implementers using or intending to use the Silicon Labs products. Characterization data, available modules and peripherals, memory sizes and memory addresses refer to each specific device, and "Typical" parameters provided can and do vary in different applications. Application examples described herein are for illustrative purposes only. Silicon Labs reserves the right to make changes without further notice and limitation to product information, specifications, and descriptions herein, and does not give warranties as to the accuracy or completeness of the included information. Silicon Labs shall have no liability for the consequences of use of the information supplied herein. This document does not imply or express copyright licenses granted hereunder to design or fabricate any integrated circuits. The products are not designed or authorized to be used within any Life Support System without the specific written consent of Silicon Labs. A "Life Support System" is any product or system intended to support or sustain life and/or health, which, if it fails, can be reasonably expected to result in significant personal injury or death. Silicon Labs products are not designed or authorized for military applications. Silicon Labs products shall under no circumstances be used in weapons of mass destruction including (but not limited to) nuclear, biological or chemical weapons, or missiles capable of delivering such weapons. Trademark Information Silicon Laboratories Inc.(R) , Silicon Laboratories(R), Silicon Labs(R), SiLabs(R) and the Silicon Labs logo(R), Bluegiga(R), Bluegiga Logo(R), Clockbuilder(R), CMEMS(R), DSPLL(R), EFM(R), EFM32(R), EFR, Ember(R), Energy Micro, Energy Micro logo and combinations thereof, "the world's most energy friendly microcontrollers", Ember(R), EZLink(R), EZRadio(R), EZRadioPRO(R), Gecko(R), ISOmodem(R), Precision32(R), ProSLIC(R), Simplicity Studio(R), SiPHY(R), Telegesis, the Telegesis Logo(R), USBXpress(R) and others are trademarks or registered trademarks of Silicon Labs. ARM, CORTEX, Cortex-M3 and THUMB are trademarks or registered trademarks of ARM Holdings. Keil is a registered trademark of ARM Limited. All other products or brand names mentioned herein are trademarks of their respective holders. Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 USA http://www.silabs.com