单片机控制 CH224A 取电压三条路怎么选,六个坑怎么绕

CH224A 是沁恒(WCH)的 USB PD 受电端控制器。我会先核对数据手册里的引脚功能、配置方式,以及是否支持用单片机改电压,再动笔。

手册(CH224 v2.1)、官方社区答疑和三份开源驱动都核对过了。有一个地方必须先说清:CH224A 的 IO 电平表里没有 15V 档,PPS/AVS 只有 CH224Q 支持,网上不少教程把这两个型号混着写。下面成稿。

用单片机控制 CH224A 请求 PD 电压,本质是让 MCU 告诉这颗受电端芯片 “我要几伏”,再由它去和充电器谈。手册给的路径有三条:单电阻、I/O 电平、I2C。最省事的是 I/O 电平,三根 GPIO 就能切 5V/9V/12V/20V/28V,但它拿不到 15V 档;最灵活的是 I2C,7 位地址 0x22 或 0x23,往 0x0A 寄存器写一个字节就能切档,还能从 0x09 读握手状态、从 0x50 读当前档位可用电流;最省器件的是单电阻,CFG1 对地接一颗电阻就固定一个电压,但改不了。三条路有个共同前提容易被忽略:CH224A 的 VBUS 引脚必须短接到 VHV,不是像 CH224K 那样串电阻;而且只有 CFG1 接了电阻(单电阻模式)时,I2C 功能才会自动启用,CFG2/CFG3 才变成 SCL/SDA。另外两个型号差异必须记住:CH224A 的 I/O 电平表是 9/12/20/28V,没有 15V;PPS 和 AVS 模式只有 CH224Q 支持,CH224A 只能走固定档位。搞混这两点,代码写得再对也切不出想要的电压。

一、先看清引脚,哪几根是单片机要碰的

引脚名称类型关键点
1VHV电源工作电源输入,耐压 32V,外接 1μF 对地电容,注意电容耐压
8VBUS输入电压检测,必须短接至 VHV(CH224A 与 CH224K 不同)
9CFG1输入档位配置 1,耐压 3.8V;接电阻决定上电默认电压,拉高即 5V
2CFG2/SCL输入,内置上拉电平配置的 CFG2,或 I2C 时钟
3CFG3/SDA双向,内置上拉电平配置的 CFG3,或 I2C 数据
10PG开漏输出Power Good,低电平有效,需外部上拉
6/7CC2/CC1双向Type-C CC,接反插检测
4/5DP/DM双向USB 总线,走 QC/BC1.2 等 A 口协议

要点是:CFG2 和 CFG3 内置上拉,支持 3.3V 或 5V 电平输入,可以用推挽也可以用开漏驱动;CFG1 没有内置上拉,要拉高得外部给 ——100kΩ 上拉到 VHV(不需要 MCU 控制时),或者经 2kΩ 串到 MCU 的 GPIO 推挽输出(5V 逻辑),或者直接接 GPIO 推挽(3.3V 逻辑)。

二、方式一:单电阻,最省事也最死板

CFG1 对 GND 接一颗电阻,CFG2/CFG3 悬空即可。阻值对应关系如下:

CFG1 对地电阻请求电压
6.8kΩ9V
24kΩ12V
56kΩ15V
120kΩ20V
210kΩ28V

这条路适合 “一块板子只出一种电压” 的场景。注意手册这一版把 20V 从 “NC” 改成了 120kΩ,如果你照旧版电路把 CFG1 空着当 20V 用,在 CH224A 上不一定能拿到 20V—— 旧版 CH224K 的 NC=20V 是那颗芯片的规则,不是这颗的。

三、方式二:I/O 电平,单片机最常用的三根线

CFG1、CFG2、CFG3 直接接 MCU 的 GPIO,用高低电平组合选档。CH224A 的真值表:

CFG1CFG2CFG3请求电压
0009V
00112V
01120V
01028V
1XX5V

“0” 是低电平,外部短接 GND;“1” 是高电平,CFG2/CFG3 靠内置上拉,CFG1 需要外部驱动。

这张表和 CH224K 最大的不同就在这里:CH224K 是 “0,1,1 = 15V、0,1,0 = 20V”,CH224A 是 “0,1,1 = 20V、0,1,0 = 28V”。CH224A 用 IO 电平根本切不出 15V,要 15V 只能走单电阻(56kΩ)或 I2C(0x0A 写 0x03)。这是替换 CH224K 时最容易踩的一脚。

四、方式三:I2C,寄存器级控制

CFG1 接电阻(决定上电默认电压),CFG2/CFG3 当 SCL/SDA 用,I2C 功能自动启用。7 位地址 0x22 或 0x23,速率 400kHz。

寄存器名称读写说明
0x09状态只读bit0 BC、bit1 QC2、bit2 QC3、bit3 PD 激活、bit4 EPR 激活、bit5 AVS 存在、bit6 EPR 存在
0x0A电压控制只写0=5V,1=9V,2=12V,3=15V,4=20V,5=28V,6=PPS,7=AVS
0x50电流只读当前档位最大可用电流,单位 50mA,仅 PD 握手后有效
0x51/0x52AVS 电压高低位只写仅 CH224Q,单位 100mV
0x53PPS 电压只写仅 CH224Q,写入值 = 电压 × 10
0x60~0x8FPD 源能力只读适配器完整电源信息

两条硬约束:CH224A 只支持单字节读写,CH224Q 才支持连续读写;PPS/AVS 只有 CH224Q 支持。所以要读 0x60~0x8F 这一片源能力表,在 CH224A 上得逐字节搬,不能一次连读。

五、硬件连线,六条清单

  1. VBUS 短接 VHV,别串电阻。CH224A 的 VBUS 耐压只有 3.8V,内部靠分压检测,串电阻的接法是 CH224K 的。
  2. VHV 对地 1μF,耐压按 30V 选,别用 0603 低压电容凑。
  3. CFG1 默认电压要兜底。MCU 启动慢时,CFG1 可能浮空,芯片会按 IO 模式解析,极端情况直接请求 20V—— 如果下游电路扛不住 20V,就在 CFG1 上挂一颗电阻,保证上电瞬间先拿到安全电压。
  4. 5V 逻辑串 2kΩ,3.3V 逻辑直接 0Ω。CFG1 耐压 3.8V,5V 直连会顶到极限。
  5. PG 上拉。开漏低有效,上拉到 3.3V,用它可以判断电压是否已经到位,比死等延时靠谱。
  6. 要 28V 或大于 60W,得模拟 E-Mark:用 Type-C 公头,CC2 对 GND 接 1kΩ;而且适配器要支持 PD3.1 EPR、线缆要支持 240W,否则芯片会向下请求它能拿到的最高电压。

六、软件怎么写,按这个顺序

define CH224_ADDR 0x22 // 7位地址

/ 1. 读状态,确认握手成功 /

uint8_t st;

i2c_read_reg(CH224_ADDR, 0x09, &st, 1);

if (!(st & 0x08)) { // bit3 = PD 激活

/ 没握上 PD,检查 CC 线序、适配器能力、线缆 /

}

/ 2. 切档:0x0A 只写,写一个字节 /

i2c_write_reg(CH224_ADDR, 0x0A, 0x04); // 0x04 = 20V

/ 3. 等电压稳定,再读电流能力 /

i2c_read_reg(CH224_ADDR, 0x50, &cur, 1); // 单位 50mA,3250 即 162.5W 档

三个写法上的细节:0x0A 是只写寄存器,别指望读回来校验,要校验就看 0x09 的 PD 位和实际 VBUS;切换档位后下游电容和负载要能承受新电压,最好先把负载断开或降载;CH224A 是单字节读写,写多字节寄存器(比如 AVS 高低位)在 Q 上才成立。

七、六个高频坑

现象大概率原因处理
固定 15V 拿不到用了 IO 电平方式,CH224A 表里没 15V改 56kΩ 电阻或走 I2C 写 0x03
单电阻配置失败,始终 5VCFG2/CFG3 接了单独供电的 MCU,上电时被拉低先断开 CFG2/CFG3 上电测试,再查焊接与适配器
I2C 写进去没反应只接了 SCL/SDA,CFG1 悬空,I2C 没启用CFG1 必须挂电阻,启用单电阻模式
写 PPS 寄存器无效CH224A 不支持 PPS/AVS 模式换 CH224Q,或改用固定档位
读源能力表数据错乱用了连续读CH224A 改成逐字节读
上电瞬间烧后级CFG1 浮空,默认请求 20VCFG1 加默认电阻,或 MCU 先上电再插线

八、调试顺序,从硬到软

  1. 先只焊 CH224A + 1μF + CFG1 电阻,不接 MCU,插 PD 充电器,用万用表看 VBUS 是否等于电阻设定的电压。
  2. 接 MCU,先只读 0x09,确认 I2C 通、PD 位为 1。
  3. 再试 IO 方式切档,用示波器看 CFG 三根线的电平是否符合真值表。
  4. I2C 切档时逐档验证,每切一次量一次 VBUS,别一次跳到 28V。
  5. 最后接负载,观察 PG 引脚和 0x50 的电流读数是否对得上。

九、收尾

单片机控制 CH224A,选路比写代码更重要:只要固定电压就别上 MCU,一颗电阻搞定;要在 5/9/12/20/28V 之间跳,三根 GPIO 足够;要 15V、要读源能力、要做产品级状态机,就走 I2C,但记住 CFG1 必须挂电阻、0x0A 只写、单字节读写。至于 PPS 那种 0.1V 步进的细调,别在 CH224A 上折腾,那是 CH224Q 的活。

相关 FAQ

问题 1:单片机控制 CH224A,用 IO 电平方式能切出 15V 吗?

回答 1:不能。CH224A 的 I/O 电平真值表只有 9V、12V、20V、28V 和 5V 五档,没有 15V;这是它和 CH224K 的关键差异(CH224K 的 0,1,1 是 15V)。要用单片机控制 CH224A 拿到 15V,只能走单电阻方式(CFG1 对地 56kΩ)或 I2C 方式(向 0x0A 寄存器写 0x03)。

问题 2:单片机通过 I2C 控制 CH224A,为什么写了寄存器电压却不变?

回答 2:先查三个前提。第一,CFG1 必须接电阻启用单电阻模式,I2C 功能才会自动开启,CFG1 悬空时写寄存器无效;第二,0x0A 是只写寄存器,写不进去通常是地址或时序问题,7 位地址为 0x22 或 0x23;第三,如果写的是 PPS 或 AVS 模式(0x06、0x07),CH224A 不支持,只有 CH224Q 支持,此时寄存器会被 ACK 但电压不变。

问题 3:单片机控制 CH224A 切电压,硬件上最容易接错的是哪一处?

回答 3:VBUS 引脚。CH224A 的 VBUS 必须短接到 VHV,耐压只有 3.8V;很多从 CH224K 迁移过来的板子沿用了 VBUS 串电阻的接法,那是 CH224K 的规则(VBUS 耐压 8V)。另外 CFG1 要留一颗默认电阻,否则 MCU 启动前引脚浮空可能让芯片按 IO 模式解析并请求 20V,下游扛不住就会烧。

问题 4:单片机控制 CH224A 和用 CH224Q,应该怎么选?

回答 4:看要不要细调和连续读写。只需要 5/9/12/20/28V 固定档位、且想兼容 CH224K 的旧 PCB,用 CH224A,多数情况换外围器件即可替换;需要 PPS/AVS 的 0.1V 步进调压、需要连续读取 0x60~0x8F 的适配器源能力表,必须用 CH224Q,因为 PPS/AVS 模式和连续读写只有 CH224Q 支持。新项目若空间紧张,手册也建议优先 CH224Q。

参考资料

  • [2026-11-10](能否提供旧版 CH224K 手册:新设计建议使用 CH224A 或 CH224Q)沁恒微电子社区
  • [2026-11-09](CH224K VDD 设计 VS CFG 设计问题请教)沁恒微电子社区
  • [2026-11-07](CH224A 单电阻配置无法成功诱骗电压)沁恒微电子社区
  • [2026-10-21](AI-Controlled Power Output Case Study:CH224 驱动与电压调节)安信可文档中心
  • [2026-10-11](PD 诱骗板参考设计)EEWorld 参考设计中心
  • [2026-07-15](FGV CH224A_Board:Arduino I2C / IO 库与接线说明)GitHub Pages
  • [2025-02-27](USB PD 多快充协议受电芯片 CH224 数据手册 V2.1)沁恒微电子
  • [2024-03-13](USB PD 等多快充协议受电芯片 CH224 中文手册 V1G)沁恒微电子

免责声明

本文为公开数据手册、厂商社区答疑与开源驱动文档的整理比对,不构成电路设计或量产方案建议。文中引脚定义、单电阻阻值与电压对照(6.8kΩ/24kΩ/56kΩ/120kΩ/210kΩ 对应 9/12/15/20/28V)、I/O 电平真值表(CH224A 为 9/12/20/28V 与 5V)、I2C 地址 0x22/0x23、寄存器地址与位定义、400kHz 速率、PD3.2 EPR 最高 140W、4~30V 输入等,均以沁恒 CH224 数据手册 V2.1(CH224Q/CH224A 部分)为准;手册版本间存在差异(如旧版 CH224K 的 “CFG1 悬空即 20V” 规则、20V 档由 NC 改为 120kΩ),实际设计请以所用型号对应版本的原版手册为准。“CH224A 只支持单字节读写”“PPS/AVS 仅 CH224Q 支持” 来自英文版 V2.0 与中文版 V2.1 的寄存器说明,若后续手册更新请重新核对。文中提到的调试现象与排查顺序,来自沁恒官方社区技术支持答复与第三方开源驱动实践,属经验性结论,不保证覆盖所有板级情况。涉及 28V 或大于 60W 的应用需模拟 E-Mark、匹配 PD3.1 EPR 适配器与 240W 线缆,实际可达电压与电流受适配器、线缆和负载共同限制。高压调试请断开负载、使用隔离电源并做好防护,因照本文操作导致的器件损坏或人身伤害,本文不承担责任。

本文来自作者[频域织元师]投稿,不代表乌兰科技网立场,如若转载,请注明出处:https://www.wlcbnews.com/itzx/202611/1242.html

赞 (6)

今日大家都在搜的词:

发表回复

本站作者后才能评论

评论列表(4条)

  • 频域织元师
    频域织元师 2026年11月10日

    我是乌兰科技网的签约作者“频域织元师”!

  • 频域织元师
    频域织元师 2026年11月10日

    希望本篇文章《单片机控制 CH224A 取电压三条路怎么选,六个坑怎么绕》能对你有所帮助!

  • 频域织元师
    频域织元师 2026年11月10日

    本站[乌兰科技网]内容主要涵盖:互联网行业的追踪与探索

  • 频域织元师
    频域织元师 2026年11月10日

    本文概览:CH224A 是沁恒(WCH)的 USB PD 受电端控制器。我会先核对数据手册里的引脚功能、配置方式,以及是否支持用单片机改电压,再动笔。

联系我们

联系:143 0457 151

工作时间:周一至周五,9:30-18:30,节假日休息

关注我们