CP2104 单芯片 USB 转 UART 桥接器 单芯片 USB 转 UART 数据传输 虚拟 COM 端口装置驱动程序 集成式 USB 收发器;无需外部电阻器 集成式时钟;无需外部晶振 集成式 1024 字节一次可编程 ROM,可用于定制产品 信息 片上上电复位电路 片上调压器:3.45 V 输出 USBXpress™ 直接驱动程序支持 USB 功能控制器 可配置 I/O(VDD 至 5 V),可使用外部上拉电阻进行配置 RS-485 模式,带总线收发器控制 免专利权使用费销售许可证 Windows 7/Vista/XP/Server 2003/2000 Windows CE® 6.0、 5.0 和 4.2 示例应用 所有握手和调制解调器接口信号 支持的数据格式: - 数据位:5、 6、 7 和 8 - 停止位:1、 1.5 和 2 - 奇偶校验:奇位、偶位、总为 1、总为 0、无奇偶校验 波特率:300 bps 至 2 Mbits 576 字节接收缓冲区;576 字节传输缓冲区 支持硬件或 X-On/X-Off 握手 四个 GPIO 信号用于表示状态和控制 可配置 I/O (1.8 V 至 VDD),可使用 VIO 引脚进行配置 符合 USB 规格 2.0 标准;全速 (12 Mbps) 通过 SUSPEND 和 SUSPEND 引脚支持 USB 挂起状态 异步串行数据总线 (UART) 可与现有 COM 端口 PC 应用程序一起工作 免专利权使用费销售许可证 Windows 7®/Vista®/XP®/Server 2003®/2000® Mac® OS-X Linux® 将 RS-232 老式装置升级到 USB 将 RS-485 老式装置升级到 USB 蜂窝电话 USB 接口电缆 PDA USB 接口电缆 USB 转 RS-232 串行适配器 电源电压 自供电:3.0 至 3.6 V USB 总线供电:4.0 至 5.25 V I/O 电压:1.8 V 至 VDD 封装 符合 RoHS 标准的 24 针 QFN (4x4 mm) 订购部件号 CP2104-F03-GM 温度范围:–40 至 +85 °C 到 VDD 的外部电源或 直接连接 CP2104 GPIO.0 VIO GPIO.1 GPIO.2 4 REGIN 输入 GPIO.3 调压器 RST 输出 SUSPEND VDD VBUS DD+ GND RI DCD VBUS DTR DD+ USB 收发器 USB 功能控制器 1024B PROM VPP ( 至 USB 挂起状态 的外部电路) SUSPEND 48 MHz 振荡器 GND USB 连接器 ( 至状态和控制的 外部电路) UART 576B 576B TX RX 缓冲器 缓冲器 DSR TXD 外部 RS-232 收发器或 UART 电路 RXD RTS CTS 图 1. 示例系统框图 修订版 1.0 10/10 版权所有 © 2010 Silicon Laboratories CP2104 CP2104 2 修订版 1.0 CP2104 目录 节 页码 1. 系统概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 2. 电气特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 3. 引脚分配和封装定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7 4. QFN-24 封装规格 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9 5. USB 功能控制器和收发器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6. 异步串行数据总线 (UART) 接口 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 6.1. 波特率生成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7. GPIO 引脚 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.1. GPIO.0-1 — 传输和接收计时 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.2. GPIO.2 — RS-485 收发器总线控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 7.3. 硬件流控制 (RTS 和 CTS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 8. 一次可编程 ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 9. 调压器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 10. CP2104 设备驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18 10.1. 虚拟 COM 端口驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 10.2. USBXpress 驱动程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 10.3. 驱动程序定制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 10.4. 驱动程序认证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 11. 相关应用说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19 文档变更列表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 联系信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 修订版 1.0 3 CP2104 1. 系统概述 CP2104 是一种高度集成的 USB 转 UART 桥接器控制器,它为将 RS-232/RS-485 设计升级到 USB 提供了一种简 单的解决方案,仅使用最少量的组件和 PCB 空间即可达成目的。 CP2104 紧凑的 4 x 4 mm QFN-24 封装 (有时称 作 “MLF” 或 “MLP”)内包含有一个 USB 2.0 全速功能控制器、USB 收发器、振荡器、一次可编程 ROM 以及带完整 调制解调器控制信号的异步串行数据总线 (UART)。不需要其它外部 USB 组件。 片上一次可编程 ROM 可用于定制 OEM 应用所需的 USB 供应商 ID、产品 ID、产品描述字符串、电源描述符、设备 发行编号、设备序列号以及 GPIO 配置。 由 Silicon Labs 提供、免专利权使用费的虚拟 COM 端口 (VCP) 设备驱动程序可使基于 CP2104 的产品作为连接 PC 应用的 COM 端口出现。 CP2104 UART 接口实现了所有 RS-232/RS-485 信号 (包括控制和握手信号),因此 不需要修改现有系统固件。该设备还具有多达四个 GPIO 信号,可由用户定义来表示状态和控制信息。通过 VIO 引 脚提供对低至 1.8 V I/O 接口电压的支持。在许多现有 RS-232 设计中,如果要将设计从 RS-232 升级到 USB,只需 将 RS-232 电平转换器更换为 CP2104 即可。通过 Silicon Labs USBXpress 驱动程序集提供直接访问驱动程序支 持。有关 CP2104 最新的应用说明和产品支持信息,请参阅 www.silabs.com。 提供 CP2104 的评估工具包 (部件号:CP2104EK) ,其中包括一个基于 CP2104 的 USB 转 UART/RS-232 评估 板,一整套 VCP 设备驱动程序、 USB 和 RS-232 电缆以及完整的文档。请联系 Silicon Labs 销售代表或访问 www.silabs.com 订购 CP2104 评估工具包。 4 修订版 1.0 CP2104 2. 电气特性 表 1. 最大绝对额定值 参数 条件 最小值 类型 最大值 单位 恒定偏差环境温度 –55 — 125 °C 存储温度 –65 — 150 °C –0.3 –0.3 — — 5.8 VIO + 3.6 V –0.3 — 4.2 V 通过 VDD、 VIO 和 GND 的最大总电流 — — 500 mA RST 或任何 I/O 引脚减弱的最大输出电流 — — 100 mA RST、 GPIO 或 UART 引脚相对于 GND 引脚的电压 VIO > 2.2 V VIO < 2.2 V VDD 或 VIO 相对于 GND 的电压 注:如果应力超过以上所列值,可能造成设备永久性损坏。以上仅为应力额定值,并不意味着设备可以在达到或超过本规格 工作参数的条件下正常工作。长时间在最大额定值条件下工作可能会影响设备的可靠性。 表 2. 全球直流电气特性 VDD = 3.0 至 3.6 V, –40 至 +85 °C,除非另行说明。 参数 条件 最小值 类型 最大值 单位 数字电源电压 (VDD) 3.0 — 3.6 V 数字端口 I/O 电源电压 (VIO) 1.8 — VDD V 供电电流1 正常工作;启用 VREG — 17.0 18.5 mA 供电电流1 挂起;启用 VREG — 100 200 µA — 200 228 µA –40 — +85 °C 供电电流 — USB 上拉2 规定工作温度范围 注: 1. 如果设备与 USB 总线相连,则应将 USB 上拉电流与供电电流相加得出总供电电流。 2. USB 上拉供电电流值根据 USB 规格计算得出。 修订版 1.0 5 CP2104 表 3. UART 和挂起 I/O 直流电气特性 VDD = 3.0 至 3.6 V, VIO = 1.8 V 至 VDD, –40 至 +85 °C,除非另行说明。 参数 条件 最小值 类型 最大值 单位 输出高压 (VOH) IOH = –10 µA IOH = –3 mA IOH = –10 mA VIO – 0.1 VIO – 0.2 — — — VIO – 0.4 — — — V 输出低压 (VOL) IOL = 10 µA IOL = 8.5 mA IOL = 25 mA — — — — — 0.6 0.1 0.4 — V 输入高压 (VIH) 0.7 x VIO — — V 输入低压 (VIL) — — 0.6 V 弱上拉关闭 弱上拉开启, VIN = 0 V — — — 25 1 50 µA 开漏,逻辑高电平 (1) — — 5.8 V 输入漏电流 最大输入电压 表 4. 复位电气特性 –40 至 +85 °C,除非另行说明。 参数 条件 最小值 类型 最大值 单位 0.75 x VIO — — V RST 输入低电压 — — 0.6 V 生成系统复位的最短 RST 低时间 15 — — µs RST 输入高压 表 5. 调压器电气规格 –40 至 +85 °C,除非另行说明。 参数 条件 最小值 类型 最大值 单位 3.0 — 5.25 V 3.3 3.45 3.6 V VBUS 检测输入阈值 2.5 — — V 偏置电流 — — 120 µA 输入电压范围 输出电压 输出电流 = 1 至 100 mA* *注:最大调压器供电电流为 100 mA,其中包括 CP2104 的供电电流。 表 6. GPIO 输出规格 –40 至 +85 °C,除非另行说明 参数 条件 最小值 类型 最大值 单位 停止位后 RS-485 有效时间 — 1 — 位时间* 传输计时频率 — 10 — Hz 接收计时频率 — 10 — Hz *注:以 1/波特率形式计算位时间。 6 修订版 1.0 CP2104 3. 引脚分配和封装定义 表 7. CP2104 引脚定义 名称 引脚编号 类型 说明 VDD 6 电源输入 电源电压输入。 电源输出 调压器输出。请参阅第 9 节。 电源输入 I/O 电源电压输入。 VIO 5 GND 2 RST 9 D I/O REGIN 7 电源输入 5 V 调压器输入。此引脚为片上调压器的输入。 VBUS 8 直流输入 VBUS 感应输入。此引脚应连接到 USB 网络的 VBUS 信号。 VPP 16* 特殊 在此引脚与地面之间连接一个 4.7 µF 电容器可支持通过 USB 接口进 行 ROM 编程。 D+ 3 D I/O USB D+ D– 4 D I/O USB D– TXD 21 直流输出 异步数据输出 (UART 传输)。 RXD 20 直流输入 异步数据输入 (UART 接收)。 CTS 18* 直流输入 清除发送控制输入 (低电平有效)。 RTS 19* 直流输出 发送就绪控制输出 (低电平有效)。 DSR 22* 直流输入 数据集就绪控制输入 (低电平有效)。 DTR 23* 直流输出 数据终端就绪控制输出 (低电平有效)。 DCD 24* 直流输入 数据载波检测控制输入 (低电平有效)。 RI 1* 直流输入 振铃指示器控制输入 (低电平有效)。 SUSPEND 17* 直流输出 当 CP2104 处于 USB 挂起状态时,此引脚为逻辑高电平。 SUSPEND 15* 直流输出 当 CP2104 处于 USB 挂起状态时,此引脚为逻辑低电平。 GPIO.3 11* D I/O 用户可配置输入或输出。 GPIO.2 12* D I/O 用户可配置输入或输出。 GPIO.1 13* D I/O 用户可配置输入或输出。 GPIO.0 14* D I/O 用户可配置输入或输出。 NC 10* 接地。必须连接到地面。 设备复位。内部 POR 或 VDD 监控器的开漏输出。可通过使用外部源 将此引脚迫低表 4 中指定的时间来启动系统复位。 此引脚应保持未连接状态,或连接至 VIO。 *注:不使用时可令引脚保持未连接状态。 修订版 1.0 7 DCD DTR DSR TXD RXD RTS 24 23 22 21 20 19 CP2104 RI 1 18 CTS GND 2 17 SUSPEND D+ 3 16 VPP D- 4 15 SUSPEND VIO 5 14 GPIO.0 VDD 6 13 GPIO.1 CP2104-GM 顶视图 11 12 GPIO.3 GPIO.2 9 RST 10 8 VBUS NC 7 REGIN GND(可选) 图 2. QFN-24 引脚分配图 (顶视图) 8 修订版 1.0 CP2104 4. QFN-24 封装规格 图 3. QFN-24 封装图 表 8. QFN-24 封装尺寸 尺寸 A A1 b D D2 e E E2 最小值 0.70 0.00 0.18 2.55 2.55 类型 0.75 0.02 0.25 4.00 BSC. 2.70 0.50 BSC. 4.00 BSC. 2.70 最大值 0.80 0.05 0.30 2.80 2.80 尺寸 L L1 aaa bbb ddd eee Z 是 最小值 0.30 0.00 — — — — — — 类型 0.40 — — — — — 0.24 0.18 最大值 0.50 0.15 0.15 0.10 0.05 0.08 — — 注: 1. 除非另有说明,所示所有尺寸单位均为毫米 (mm)。 2. 尺寸和公差标注符合 ANSI Y14.5M-1994。 3. 此图纸符合 JEDEC 固态草案 MO-220 变体 WGGD,但定制部件 D2、 E2、 Z、 Y 和 L 除外, 它们的公差标注遵从供应商规定。 4. 建议的卡回流温度曲线遵照针对小体型组件的 JEDEC/IPC J-STD-020 规格。 修订版 1.0 9 CP2104 图 4. QFN-24 建议的 PCB 焊盘图案 表 9. QFN-24 PCB 焊盘图案尺寸 尺寸 C1 C2 E X1 最小值 最大值 3.90 4.00 3.90 4.00 0.50 BSC 0.20 0.30 尺寸 X2 Y1 Y2 最小值 2.70 0.65 2.70 最大值 2.80 0.75 2.80 注: 一般说明 1. 除非另有说明,所示所有尺寸单位均为毫米 (mm)。 2. 此焊盘图案设计基于 IPC-7351 指导方针。 阻焊层设计 3. 所有金属焊盘均须为非阻焊层限定 (NSMD) 焊盘。阻焊层与金属焊盘之间的净空须至少达到 60 μm,焊盘四周净空均须达到该值。 网板设计 4. 应使用具有梯形壁的不锈钢激光切割电抛光网板来确保良好的焊膏脱离。 5. 网板厚度应为 0.125 mm (5 mil)。 6. 所有周边焊盘的网板孔径与焊盘尺寸的比率都应为 1:1。 7. 中心焊盘应在 1.30 mm 的螺距上使用一个 2x2 的 1.10 mm x 1.10 mm 开孔阵列。 卡组装 8. 建议使用免洗 3 类焊膏。 9. 建议的卡回流温度曲线遵照针对小体型组件的 JEDEC/IPC J-STD-020 规格。 10 修订版 1.0 CP2104 5. USB 功能控制器和收发器 CP2104 中的通用串行总线 (USB) 功能控制器是一个符合 USB 2.0 标准的全速设备,带有集成收发器和片上匹配和 上拉电阻。USB 功能控制器管理 USB 与 UART 之间的所有数据传输,以及 USB 主机控制器产生的命令请求和用于 控制 UART 和 GPIO 引脚功能的命令。 支持使用 USB 挂起和恢复信号同时对 CP2104 设备以及外部电路进行电源管理。检测到总线上存在挂起信令时, CP2104 便会进入挂起模式。进入挂起模式时, CP2104 即会声明 SUSPEND 和 SUSPEND 信号。 SUSPEND 和 SUSPEND 信号在 CP2104 复位后也会进行声明,直至 USB 枚举期间的设备配置完成为止。 发生下列任何一种情况时 CP2104 会退出挂起模式:检测到或产生了恢复信令;检测到 USB 复位信号;或发生设备 复位。退出挂起模式时, SUSPEND 和 SUSPEND 信号会取消声明。 SUSPEND 和 SUSPEND 信号在 CP2104 复位期间都会暂时性地高浮。如果不希望出现这种情况,可以利用强力下 拉 (10 kΩ) 来确保 SUSPEND 在复位期间一直保持在低水平。 USB 挂起期间各种引脚的逻辑电平和输出模式 (推挽或开漏)可在 PROM 中进行配置。有关详细信息,请参阅 第 8 节。 6. 异步串行数据总线 (UART) 接口 CP2104 UART 接口包括 TX(传输)和 RX(接收)数据信号以及 RTS、CTS、DSR、DTR、DCD 和 RI 控制信号。 UART 支持 RTS/CTS、 DSR/DTR 和 X-On/X-Off 握手。 UART 可通过编程支持各种数据格式和波特率。如果使用的是虚拟 COM 端口驱动程序,则在 PC 上进行 COM 端口 配置期间设置数据格式和波特率。如果使用的是 USBXpress 驱动程序,则通过 USBXpress API 配置 CP2104。 表 10 中列出了可用的数据格式和波特率。 表 10. 数据格式和波特率 数据位1 5、 6、 7 和 停止位 1、 1.52 和 2 奇偶校验类型 无、偶位、奇位、总为 1、总为 0 波特率 300 bps 至 2.0 Mbps 注: 1. 在 921600 bps 以上的波特率下不支持 5 和 6 位数据大小。 2. 1.5 停止位仅在使用 5 个数据位时可用。 修订版 1.0 11 CP2104 6.1. 波特率生成 波特率发生器非常灵活,允许用户请求 300 bps 至 2 Mbps 范围内的任何波特率。如果无法直接使用 48 MHz 振荡 器生成波特率,设备会选择尽可能接近的方案。实际波特率由 公式 1 和 公式 2 控制。 48 MHz 时钟分频器 = ----------------------------------------------------------------------2 × Prescale × 请求的波特率 预分频 = 4,如果请求的波特率 ≤ 365 bps 预分频 = 1,如果请求的波特率 > 365 bps 公式 1. 时钟分频器计算 48 MHz 实际波特率 = -----------------------------------------------------------------2 × Prescale × 时钟分频器 预分频 = 4,如果请求的波特率 ≤ 365 bps 预分频 = 1,如果请求的波特率 > 365 bps 公式 2. 波特率计算 大部分波特率可在小于 1.0% 的误差率下生成。对于大部分 UART 应用,一般的经验法则是,将发送器和接收器上 的波特率误差率限制在不超过 ±2% 的范围内。公式 1 求得的时钟分频器值四舍五入到最近的整数,这可能会产生误 差源。另一个误差源将是 48 MHz 振荡器,其准确率为 ±0.25%。知道了实际和请求的波特率,便可使用公式 3 计算 出总波特率误差。 实际波特率 -⎞ ± 0.25% 波特率误差 (%) = 100 × ⎛⎝ 1 – ----------------------------------请求的波特率⎠ 公式 3. 波特率误差计算 7. GPIO 引脚 CP2104 支持四个用户可配置 GPIO 引脚,用于表示状态和控制信息。其中的每个 GPIO 引脚都可用作输入、开漏 输出或推挽输出。其中的三个 GPIO 引脚还有一些备选功能,表 11 列出了这些功能。 表 11. GPIO 引脚备选功能 GPIO 引脚 备选功能 GPIO.0 传输计时 GPIO.1 接收计时 GPIO.2 RS-485 收发器控制 默认情况下,所有 GPIO 引脚都配置为 GPIO 输入。每个设备可一次性编程引脚的配置。开漏输出与推挽输出之间 的差异体现在 GPIO 输出被推升至逻辑高电平时。逻辑高电平开漏输出通过内部拉上电阻将引脚拉至 VIO 轨。逻辑 高电平推挽输出则将引脚直接连接至 VIO 电压。以高于 VIO 引脚的电压连接到逻辑电平时,通常使用开漏输出。可 以通过外部拉上电阻将这些引脚安全地拉至更高的外部电压。最大外部拉上电压为 5 V。 读写 GPIO 引脚的速度受限于 USB 总线的计时。建议不要将配置为输入或输出的 GPIO 引脚用于实时信令。 有关这些引脚的配置和使用的详细信息,请参阅 Silicon Labs 网站上的 “AN144: CP21xx Customization Guide” (AN144:CP21xx 定制指南)和 “AN223: Port Configuration and GPIO for CP210x” (AN223:CP210x 的端口配 置和 GPIO)。 12 修订版 1.0 CP2104 7.1. GPIO.0-1 — 传输和接收计时 GPIO.0 和 GPIO.1 可配置为传输计时和接收计时引脚。当设备不传输或接收数据时,这些引脚为逻辑高电平引脚, 传输数据时,它们以表 6 中规定的固定频率计时。这些引脚通常连接到两个 LED 以指示数据传输状态。 VIO CP2104 GPIO.0 — TX 切换 GPIO.1 — RX 切换 图 5. 传输和接收计时典型连接图 7.2. GPIO.2 — RS-485 收发器总线控制 GPIO.2 可配置为 RS-485 总线收发器控制引脚,连接到收发器的 DE 和 RE 输入。针对 RS-485 模式配置时,将在 UART 数据传输以及断线传输期间声明引脚。GPIO.2 的 RS-485 模式默认情况下高电平有效,也可配置用于低电平 有效模式。 CP2104 RS-485 收发器 TX R RX D GPIO.2 – RS485 RE DE 图 6. RS-485 收发器典型连接图 修订版 1.0 13 CP2104 7.3. 硬件流控制 (RTS 和 CTS) 要利用 CP2104 RTS 和 CTS 引脚的功能,必须将设备配置为使用硬件流控制。 RTS,或称发送就绪,是来自 CP2104 的低电平有效输出,它向外部 UART 设备指示, CP2104 的 UART RX FIFO 尚未达到 383 字节的水印级别,已准备好接受更多数据。当 RX FIFO 中的数据量达到水印时, CP2104 将 RTS 拉 高以指示外部 UART 设备停止发送数据。 CTS,或称清除发送,是 CP2104 的低电平有效输入,当外部 UART 设备的 RX FIFO 将要变满时,会使用它指示 CP2104。 CTS 拉高时, CP2104 不会发送超过两个字节的数据。 CP2104 RS232 系统 TX TX RX RX RTS RTS CTS CTS 图 7. 硬件流控制典型连接图 14 修订版 1.0 CP2104 8. 一次可编程 ROM CP2104 包括一个内部一次可编程 ROM,可用于定制 OEM 应用所需的 USB 供应商 ID (VID)、产品 ID (PID)、产品 描述字符串、电源描述符、设备发行编号、设备序列号、GPIO 配置以及挂起引脚和模式。如果可编程 ROM 尚未定 制,将使用表 12 和表 13 中所示的默认配置数据。 表 12. 默认 USB 配置数据 名称 值 供应商 ID 10C4h 产品 ID EA60h 电源描述符 (属性) 80h (总线供电) 电源描述符 (最大功率) 32h (100 mA) 发行编号 0100h (发行版本 01.00) 序列号 唯一的 8 字符 ASCII 字符串 (最多 63 个字符) 产品描述字符串 “CP2104 USB 转 UART 桥接器控制器” (最多 126 个字符) 表 13. 默认 GPIO、 UART 和挂起配置数据 名称 值 GPIO.0 GPIO 输入 GPIO.1 GPIO 输入 GPIO.2 GPIO 输入 GPIO.3 GPIO 输入 刷新缓冲区 打开时刷新 TX 和 RX FIFO SUSPEND 推挽 SUSPEND 推挽 RS-485 电平 高电平有效 尽管定制 USB 配置数据是可选的,我们仍建议定制 VID/PID 组合。唯一的 VID/PID 组合可防止驱动程序与任何其 它 USB 驱动程序发生冲突。可从 www.usb.org 获得供应商 ID,Silicon Labs 也可免费为 OEM 产品提供可与 Silicon Labs VID 一起使用的 PID。如果 OEM 应用可以实现将多台基于 CP210x 的设备与同一台 PC 相连,还建议对序列 号进行定制。 Silicon Labs 可以在装运前将所需的配置信息编入配置数据 ROM。也可以通过为 PCB 增加一个电容器通过 USB 接 口在系统内进行编程。如果配置 ROM 是在系统内进行编程,则必须在 VPP 引脚与地面之间增加一个 4.7 µF 电容 器。在编程操作期间,不应将其它电路连接到 VPP,并且 VDD 必须保持不低于 3.3 V,方可成功地写入配置 ROM。 修订版 1.0 15 CP2104 9. 调压器 CP2104 包括一个片上 5.0 转 3.45 V 调压器。这使 CP2104 可以配置为 USB 总线供电设备或 USB 自供电设备。 图 8 中显示的是设备在使用调压器的总线供电应用中的典型连接图。启用后,调压器输出即会出现在 VDD 引脚上, 可用于为外部设备供电。有关调压器的电气特性,请参阅表 5。如果调压器用于在自供电应用中提供 VDD,请使用 图 8 中的相同连接,但将 REGIN 连接到板载 5 V 供电,并断开它与 VBUS 引脚的连接 VIO VIO 注3 3.45 V 电源 CP2104 VDD 1-5 µF 4.7 k RST SUSPEND 0.1 µF SUSPEND REGIN 1 µF 至 USB 挂起状态的外部电路 GPIO.0 GPIO.1 GND USB 连接器 注2 GPIO.2 至状态和控制 的外部电路 GPIO.3 VBUS VBUS D+ D+ D- D- RI DCD GND DTR DSR TXD 注1 RXD VPP 4.7 µF 标准 UART 信号 RTS CTS 注4 注 1: 应在连接器处增加兼容全速 USB 的雪崩瞬态电压抑制二极管,以进行 ESD 保护。 使用 Littelfuse 部件号为 SP0503BAHT 的产品或等效产品。 注 2: 外部拉上并非必需, 但可以增加以提高抗扰度。 注 3: VIO 可以直接连接到 VDD,也可连接到低至 1.8 V 的电源以设置 I/O 接口电压。 注 4: 如果要通过 USB 对配置 ROM 进行编程, 则必须在 VPP 与地面之间增加一个 4.7 µF 电容器。 在编程操作期间, 引脚不应与其它电路相连, 并且 VDD 必须至少为 3.3 V。 图 8. 典型总线供电连接图 16 修订版 1.0 CP2104 如果为 VDD 引脚供应的是 3.0 转 3.6 V 电源,则 CP2104 还可以起 USB 自供电设备的作用,绕过调压器。对于此 配置,请将 REGIN 输入连接到 VDD 以绕过调压器。图 9 中显示的是一个典型的连接图,所示为自供电应用中绕过 了调压器的设备。 USB 最大功率和功率属性描述符必须与设备功耗和配置相匹配。有关如何为 CP2104 定制 USB 描述符的信息,请 参阅应用说明 “AN144: CP21xx Device Customization Guide” (AN144:CP21xx 设备定制指南)。 VIO VIO 注3 CP2104 VDD 4.7 k RST SUSPEND SUSPEND 3.3 V 电源 注2 至 USB 挂起状态的外部电路 REGIN 1-5 µF GPIO.0 0.1 µF GPIO.1 USB 连接器 GPIO.2 GND VBUS 至状态和控制 的外部电路 GPIO.3 VBUS D+ D+ D- D- RI DCD GND DTR DSR TXD 注1 RXD VPP 4.7 µF 标准 UART 信号 RTS CTS 注4 注 1: 应在连接器处增加兼容全速 USB 的雪崩瞬态电压抑制二极管, 以进行 ESD 保护。 使用 Littelfuse 部件号为 SP0503BAHT 的产品或等效产品。 注 2: 外部拉上并非必需, 但可以增加以提高抗扰度。 注 3: VIO 可以直接连接到 VDD, 也可连接到低至 1.8 V 的电源以设置 I/O 接口电压。 注 4: 如果要通过 USB 对配置 ROM 进行编程, 则必须在 VPP 与地面之间增加一个 4.7 µF 电容器。 在编程操作期间, 引脚不应与其它电路相连, 并且 VDD 必须至少为 3.3 V。 图 9. 典型自供电连接图 (绕过调压器) 修订版 1.0 17 CP2104 10. CP2104 设备驱动程序 有两套设备驱动程序可供 CP2104 设备使用:虚拟 COM 端口 (VCP) 驱动程序和 USBXpress 直接访问驱动程序。 只需一套驱动程序便可与设备建立连接。 http://www.silabs.com/products/mcu/Pages/SoftwareDownloads.aspx 上提供了最新的驱动程序。 10.1. 虚拟 COM 端口驱动程序 CP2104 虚拟 COM 端口 (VCP) 设备驱动程序可使基于 CP2104 的设备以 COM 端口形式出现在 PC 的应用软件面 前。PC 上运行的应用软件可以像访问标准硬件 COM 端口那样访问基于 CP2104 的设备。不过,PC 与 CP2104 设 备之间的实际数据传输是通过 USB 接口执行的。因此,无需修改应用程序,使用现有 COM 端口应用程序便可通过 USB 向基于 CP2104 的设备传输数据。有关用于使用虚拟 COM 驱动程序连接到 CP2104 的示例代码,请参阅应用 说明 “AN197: Serial Communications Guide for the CP210x” (AN197:CP210x 串行通信指南)。 10.2. USBXpress 驱动程序 Silicon Labs USBXpress 驱动程序提供了另外一种与 CP2104 设备连接的解决方案。不需要掌握串行端口协议专有 知识,而是使用简单的高级应用编程接口 (API) 来提供更简单的 CP210x 连接和功能。USBXpress for CP210x 开发 工具包包括 Windows 设备驱动程序、 Windows 设备驱动程序安装程序和卸载程序以及以 Windows 动态链接库 (DLL) 形式提供的主机接口函数库(主机 API)。建议为同时包括新 PC 软件的新产品使用 USBXpress 驱动程序集。 应用说明 “AN169: USBXpress Programmer's Guide” (AN169:USBXpress 编程人员指南)中对 USBXpress 做了 介绍。 10.3. 驱动程序定制 除了可以按照第 11 页的 “6. 异步串行数据总线 (UART) 接口” 中所述定制设备外,还可以对驱动程序以及驱动程序 安装软件包进行定制。有关生成定制 VCP 和 USBXpress 驱动程序的详细信息,请参阅 “AN220: USB Driver Customization” (AN220:USB 驱动程序定制)。 重要说明:驱动程序中的 VID/PID 必须与设备中的 VID/PID 匹配,驱动程序才能正常加载,设备随后方可与 PC 建 立连接。 10.4. 驱动程序认证 CP2104 附带的默认驱动程序通过了 Microsoft Windows 硬件质量实验室 (WHQL) 认证。认证意味着这些驱动程序 已经过 Microsoft 测试,可以安装在其最新操作系统上而不出现任何警告或错误。 使用 “AN220: USB Driver Customization” (AN220:USB 驱动程序定制)软件生成的定制驱动程序不会自动获得认 证。要获得认证,它们必须先履行 Microsoft 驱动程序分销商提交流程。请联系 Silicon Labs 支持部以获得有关履行 该流程的协助。 18 修订版 1.0 CP2104 11. 相关应用说明 以下应用说明适用于 CP2104。http://www.silabs.com/products/mcu/Pages/ApplicationNotes.aspx 上提供了这些应 用说明及其随附软件的最新版本。 AN144: CP21xx Device Customization Guide (AN144:CP21xx 设备定制指南) — 此应用说明描述如何使用 AN144 软件 CP21xxSetIDs 在 CP21xx 设备上配置 USB 参数。 AN169: USBXpress Programmer's Guide(AN169:USBXpress 编程人员指南)— 此应用说明描述 USBXpress API 接口并包括示例代码。 AN197: Serial Communications Guide for the CP210x (AN197:CP210x 串行通信指南)— 此应用说明描述如 何利用标准 Windows COM 端口功能来与 CP210x 进行通信,并包括示例代码。 AN220: USB Driver Customization (AN220:USB 驱动程序定制) — 此应用说明描述如何利用 AN220 软件来 为 VCP 或 USBXpress 驱动程序定制 OEM 信息。 AN223: Port Configuration And GPIO for CP210x (AN223:CP210x 端口配置和 GPIO) — 此应用说明描述如 何利用 AN223 软件配置 GPIO 的其它可配置引脚。 修订版 1.0 19 CP2104 文档变更列表 修订版 0.2 至修订版 0.3 更新了第 1 页图 1, “示例系统框图”。 增加了第 10 页图 4, “QFN-24 建议的 PCB 焊盘 图案”。 增加了第 16 页图 8, “典型总线供电连接图”。 增加了第 17 页图 9, “典型自供电连接图 (绕过调 压器) ”。 增加了第 12 页的 “6.1. 波特率生成” 。 将表 5 移至第 5 页的 “2. 电气特性” 。 修订版 0.3 至修订版 0.4 更新了第 1 页的订购部件号。 更新了第 1 页的自供电电源电压。 更新了表 2 的 USB 拉上供电电流。 更新了表 5 中的输出电压。 更新了表 7 引脚说明。 更新了表 10 波特率。 更新了图 9。 修订版 0.4 至修订版 1.0 更新了第 1 页的订购部件号。 更新了整个第 2 节的电气规格。 增加了表 6。 更新了第 7 节。 更新了第 8 节。 增加了表 11 和表 13。 更新了第 9 节中各图的说明。 20 修订版 1.0 CP2104 注: 修订版 1.0 21 CP2104 联系信息 Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 电话:1+(512) 416-8500 传真:1+(512) 416-9669 免费电话:1+(877) 444-3032 请访问 Silicon Labs 技术支持 Web 页面: https://www.silabs.com/support/pages/contacttechnicalsupport.aspx 并注册,以提交技术支持请求。 本文档中的信息在文档发布时被认为在所有方面都是准确的,但其内容可能会随时变更,恕不另行通知。Silicon Laboratories 对错误和遗漏 概不承担任何责任,并拒绝对因使用本文档中包含的信息而造成的任何后果承担责任。此外,Silicon Laboratories 对于未加描述的功能或参 数的正常工作概不承担任何责任。 Silicon Laboratories 保留在未做进一步通知的情况下进行更改的权利。 Silicon Laboratories 不对其产品 对任何特定用途的适用性做任何担保、表示或保证,也不承担因应用或使用任何产品或电路而引发的任何赔偿责任,并明确拒绝承担任何以 及全部赔偿责任,包括但不限于间接或附带损害。Silicon Laboratories 产品并非设计、计划或授权用于旨在支持或维持生命的应用,或任何 其它 Silicon Laboratories 产品的故障可能导致人员伤亡的应用。如果购买者购买或使用 Silicon Laboratories 产品是为了任何此类非预定或 未经授权的应用,则应对 Silicon Laboratories 受到的所有索赔和损害作出赔偿并使 Silicon Laboratories 免于受到相关的伤害。 Silicon Laboratories、 Silicon Labs 和 USBXpress 是 Silicon Laboratories Inc. 的商标。 本文中的其它产品或品牌名称均是其各自持有者的商标或注册商标 22 修订版 1.0