第 4 章 电源电路:每块板子的"第一关"
核心问题:怎么把电变成芯片能用的?
4.1 电源的基本概念#
4.1.1 一个生活类比#
想象你住在一栋大楼里。大楼的总水管提供 高压水(比如市政供水 0.4MPa),但你家的花洒、洗衣机、饮水机各自需要不同的水压。你不可能把市政高压水直接接到花洒上——那会把花洒冲爆。所以你需要一个 减压阀,把高压水变成适合家用的低压水。
电源电路做的事情完全一样:
| 生活类比 | 电路对应 |
|---|---|
| 市政高压水 | 外部输入电源(USB 5V、适配器 12V、电池 3.7V) |
| 减压阀 | 稳压器(LDO、DC-DC) |
| 花洒需要 0.1MPa | MCU 需要 3.3V |
| 洗衣机需要 0.2MPa | 传感器需要 1.8V |
| 水管里的杂质过滤器 | 去耦电容、滤波器 |
4.1.2 输入来源:电从哪里来?#
你的电路板不会凭空产生电能,它必须从某个地方获取输入:
| 输入来源 | 典型电压 | 典型场景 |
|---|---|---|
| USB 接口 | 5V(USB 2.0)/ 5~20V(USB PD) | 开发板、手机配件 |
| 锂电池 | 3.0V ~ 4.2V(标称 3.7V) | 便携设备、可穿戴 |
| DC 适配器 | 5V / 9V / 12V / 24V | 路由器、工业设备 |
| 干电池 | 1.5V × N 节 | 遥控器、玩具 |
| PoE(以太网供电) | 48V | 网络摄像头、AP |
4.1.3 负载需要什么:芯片的”口味”#
不同的芯片需要不同的电压,就像不同电器需要不同水压:
| 电压 | 谁在用 | 为什么是这个电压 |
|---|---|---|
| 5V | USB 设备、部分传感器、继电器 | 历史标准(TTL 电平) |
| 3.3V | 大多数 MCU(STM32、ESP32) | 现代 CMOS 工艺的标准供电 |
| 1.8V | MCU 内核、DDR 内存 | 更先进工艺需要更低电压 |
| 1.2V / 0.9V | 高端 SoC 内核、FPGA | 7nm/5nm 工艺的核心电压 |
| 12V / 24V | 电机、LED 灯带 | 功率器件需要较高电压 |
4.1.4 电源树的概念(Power Tree)#
一块稍微复杂的板子,往往需要 多种电压 同时供电。这些电压之间的关系就像一棵树:
┌─── 5V ──→ USB 接口、继电器驱动
│
输入 12V ──→ DC-DC ─┼─── 3.3V ──→ MCU、传感器、WiFi 模块
│
└─── 1.8V ──→ MCU 内核、DDR
输入 3.7V(电池) ──→ Boost ──→ 5V ──→ LDO ──→ 3.3V ──→ MCUplaintext设计电源树的步骤:
- 列出所有负载:把板子上每个芯片的供电电压和最大电流列出来
- 确定输入:你的电从哪来?电压多少?
- 选择转换方式:压差大用 DC-DC,压差小且噪声敏感用 LDO
- 画出层级关系:谁先转、谁后转、谁给谁供电
- 计算总功耗:确保输入电源的功率够用
💡 新人常犯的错误:只看电压不看电流。比如 MCU 标称 3.3V,但峰值电流可能到 200mA;WiFi 模块发射时瞬间电流可达 500mA。如果 LDO 只能输出 150mA,系统就会在 WiFi 发射时随机复位。
4.1.5 一个完整的电源树实例#
以一个带 WiFi 的 IoT 传感器节点为例:
USB 5V 输入
│
├──→ LDO 3.3V (AMS1117-3.3) ──→ STM32 MCU (VDD)
│ │
│ ├──→ GPIO、UART、SPI
│ └──→ ADC (VDDA,需要更干净的 3.3V)
│
├──→ LDO 3.3V (独立一路) ──→ ESP32 WiFi 模块
│
└──→ LDO 1.8V ──→ 外部 Flash (如果有的话)plaintext为什么 MCU 和 WiFi 用两路独立的 3.3V? 因为 WiFi 发射时电流突变很大(从 10mA 瞬间跳到 500mA),如果共用一路 LDO,这个电流突变会在 LDO 输出上产生电压跌落,导致 MCU 复位或 ADC 读数跳变。
4.2 LDO(线性稳压器)#
4.2.1 一句话原理#
LDO 就是一个”自动调节的可变电阻”,通过消耗多余的电压来保持输出稳定。
更具体地说:LDO 内部有一个 MOS 管(调整管)工作在线性区(放大区),它根据输出电压的反馈,自动调节自身的导通程度,使得输出电压恒定。
Vin
│
│ ┌─────────────────────────┐
├──┤ 调整管 (P-MOS) │
│ │ ↕ 自动调节 │
│ └──────────┬──────────────┘
│ │
│ ├──→ Vout (稳定)
│ │
│ ┌────┴────┐
│ │ 分压电阻 │ ← 采样 Vout
│ └────┬────┘
│ │
│ ┌────┴────┐
│ │误差放大器│ ← 与基准电压比较
│ └────┬────┘
│ │
└─────────────┘ (反馈控制调整管)plaintext工作流程(负反馈闭环):
- 分压电阻采样输出电压 Vout
- 误差放大器将采样值与内部基准电压(如 1.2V)比较
- 如果 Vout 偏低 → 误差放大器输出增大 → 调整管更导通 → Vout 升高
- 如果 Vout 偏高 → 误差放大器输出减小 → 调整管更截止 → Vout 降低
4.2.2 优缺点#
| 优点 | 缺点 |
|---|---|
| 电路极简(通常只需 2 个电容) | 效率低:η = Vout / Vin |
| 输出噪声极低(μV 级) | 只能降压,不能升压 |
| 无开关噪声(没有高频纹波) | 压差大时发热严重 |
| 响应速度快(瞬态好) | 输出电流通常有限(几百 mA) |
| 成本低(几毛钱到几块钱) |
4.2.3 关键参数详解#
① 压差(Dropout Voltage)#
定义:LDO 能正常稳压所需的最小输入输出压差。
- 传统稳压器(如 7805):需要 Vin - Vout ≥ 2V
- LDO:通常只需 0.1V ~ 0.4V(甚至更低)
为什么重要? 假设你用电池供电(3.0V ~ 4.2V),需要输出 3.3V:
- 如果 LDO 压差是 0.5V,那电池电压必须 ≥ 3.8V 才能正常输出 3.3V
- 如果 LDO 压差是 0.1V,那电池电压 ≥ 3.4V 就行,电池利用率更高
💡 选型建议:电池供电场景,选压差 ≤ 0.2V 的 LDO。
② PSRR(电源抑制比)#
定义:LDO 对输入端噪声的抑制能力,单位 dB。
- PSRR = 60dB 意味着:输入端 1V 的纹波,到输出端只剩 1mV
- PSRR = 80dB 意味着:输入端 1V 的纹波,到输出端只剩 0.1mV
典型值:
- 低频(100Hz ~ 1kHz):60 ~ 80dB
- 高频(1MHz):可能降到 20 ~ 40dB
为什么重要? 如果你用 DC-DC 输出 5V(纹波 50mV),再经 LDO 降到 3.3V 给 ADC 供电:
- PSRR = 60dB @ 1MHz → 输出纹波 ≈ 50mV / 1000 = 50μV ✓ 很好
- PSRR = 20dB @ 1MHz → 输出纹波 ≈ 50mV / 10 = 5mV ✗ 可能影响 ADC 精度
💡 选型建议:给 ADC、射频、音频供电时,选 PSRR ≥ 60dB(在开关频率处)的 LDO。
③ 输出噪声#
定义:LDO 自身产生的噪声(不是从输入传过来的),通常用 μVrms 表示。
- 普通 LDO:30 ~ 100 μVrms
- 低噪声 LDO:< 10 μVrms(如 TPS7A20、LT3042)
④ 静态电流(Iq / Iground)#
定义:LDO 自身消耗的电流(不供给负载的部分)。
- 普通 LDO:几十 μA ~ 几 mA
- 超低功耗 LDO:< 1 μA(如 TPS7A02,Iq = 25nA)
为什么重要? 电池供电的待机场景,如果 LDO 自身消耗 1mA,一块 2000mAh 的电池只能待机 2000 小时(约 83 天)。如果 Iq = 25nA,待机时间可达数百年(当然受电池自放电限制)。
4.2.4 输入/输出电容为什么必须加#
几乎所有 LDO 的 datasheet 都会要求:
Vin ──┬──→ [LDO] ──┬──→ Vout
│ │
[Cin] [Cout]
│ │
GND GNDplaintext输入电容(Cin,通常 1μF ~ 10μF):
- 为 LDO 提供瞬态电流(LDO 内部调整管快速响应时需要)
- 抑制输入端的噪声传入
输出电容(Cout,通常 1μF ~ 22μF):
- 稳定性:LDO 的反馈环路需要输出电容提供相位补偿,没有它可能振荡
- 瞬态响应:负载电流突变时,电容先”顶住”,给 LDO 反应时间
⚠️ 注意:有些 LDO 对输出电容的 ESR 有要求(不能太低也不能太高)。陶瓷电容 ESR 极低,某些老款 LDO 用陶瓷电容反而不稳定。现代 LDO(如 TPS7A 系列)通常兼容陶瓷电容,但一定要看 datasheet。
4.2.5 热设计:什么时候会烫手?#
功耗公式:
结温计算:
其中:
:芯片内部结温(不能超过最大值,通常 125°C 或 150°C) :环境温度 :结到环境的热阻(取决于封装,单位 °C/W)
实际计算举例:
| 条件 | 数值 |
|---|---|
| Vin = 5V | |
| Vout = 3.3V | |
| Iout = 500mA | |
| 封装 SOT-223,RθJA = 150°C/W | |
| 环境温度 Ta = 25°C |
超过 150°C 了!芯片会进入热保护甚至烧毁!
解决方案:
- 换用 DC-DC(效率 90%+,几乎不发热)
- 减小压差(如果输入是 3.7V 电池,压差只有 0.4V,功耗 = 0.2W,没问题)
- 换更大封装(如 TO-252,RθJA ≈ 50°C/W)
- 增加散热铜皮和热过孔
💡 经验法则:LDO 功耗超过 0.5W 时就要认真考虑散热;超过 1W 时建议直接用 DC-DC。
4.2.6 常见 LDO 选型速查#
| 型号 | 输出电流 | 压差 | 噪声 | 特点 | 典型应用 |
|---|---|---|---|---|---|
| AMS1117-3.3 | 1A | 1.1V | 一般 | 便宜、常见 | 开发板、学习 |
| RT9013-33 | 500mA | 0.25V | 低 | 低功耗 | 便携设备 |
| TPS7A20 | 300mA | 0.06V | 超低 | 超低噪声 | ADC、射频供电 |
| LT3042 | 200mA | 0.26V | 0.8μVrms | 极致低噪声 | 精密模拟电路 |
| ME6211 | 500mA | 0.1V | 低 | 国产、便宜 | 消费电子 |
4.3 DC-DC(开关电源)#
4.3.1 为什么需要 DC-DC?#
回顾 LDO 的效率公式:η = Vout / Vin
- 5V → 3.3V:效率 = 66%(34% 变成热量)
- 12V → 3.3V:效率 = 27.5%(72.5% 变成热量!)
- 12V → 1.8V:效率 = 15%(完全不可接受)
而 DC-DC 的效率通常在 85% ~ 95%,无论压差多大。
什么时候用 DC-DC 而不是 LDO?
| 场景 | 选择 | 原因 |
|---|---|---|
| 12V → 5V,电流 2A | DC-DC | 压差大、电流大,LDO 会烧 |
| 5V → 3.3V,电流 50mA | LDO | 电流小,LDO 简单且噪声低 |
| 5V → 3.3V,电流 1A | DC-DC 或 LDO | 看散热条件 |
| 3.7V → 5V(升压) | DC-DC (Boost) | LDO 不能升压 |
| 给 ADC / 射频供电 | DC-DC + LDO | DC-DC 高效降压,LDO 滤除噪声 |
4.3.2 Buck(降压)基本原理#
核心思想#
Buck 电路的本质是:用高速开关把输入电压” chopping”成脉冲,再用 LC 滤波器把脉冲平滑成直流。
电路结构#
Vin ──┬──→ [开关管 S] ──┬──→ [电感 L] ──┬──→ Vout
│ │ │
│ │ [Cout]
│ │ │
│ [二极管 D] │
│ │ │
GND GND GNDplaintext两个工作阶段#
阶段 1:开关导通(Ton)
Vin ──→ [S 导通] ──→ [L] ──→ 负载
↑
电流线性增大
电感储能plaintext- 开关闭合,输入电压直接加在电感上
- 电感电流线性增大:
- 电感储存磁场能量
- 二极管 D 反偏截止
阶段 2:开关关断(Toff)
[L] ──→ 负载
↑ │
│ │
[D 导通] ←─────┘
│
GNDplaintext- 开关断开,电感电流不能突变
- 电感产生感应电动势(左负右正),通过二极管 D 续流
- 电感电流线性减小
- 电感释放能量给负载
占空比决定输出电压#
在稳态下(电感电流的增减量相等):
其中
例子:Vin = 12V,需要 Vout = 5V
即开关管在 41.7% 的时间导通,58.3% 的时间关断。
同步整流#
现代 DC-DC 芯片通常用 MOS 管 代替二极管 D(称为”同步整流”):
- 二极管方案:导通压降 0.3~0.7V,效率损失大
- 同步整流:MOS 管 Rds(on) 只有几 mΩ,压降极小,效率可达 95%+
4.3.3 Boost(升压)基本原理#
核心思想#
Boost 电路的”魔法”在于:电感先储能,然后与输入电压串联叠加,产生比输入更高的电压。
就像你用力压弹簧(储能),然后松手时弹簧的力加上你的手力,总力更大。
电路结构#
Vin ──→ [电感 L] ──┬──→ [二极管 D] ──┬──→ Vout
│ │
│ [Cout]
[开关管 S] │
│ │
GND GNDplaintext两个工作阶段#
阶段 1:开关导通(储能)
Vin ──→ [L] ──→ [S 导通] ──→ GND
电流增大,电感储能
二极管 D 截止(输出靠 Cout 维持)plaintext阶段 2:开关关断(释放+叠加)
Vin ──→ [L] ──→ [D 导通] ──→ Cout + 负载
↑
电感感应电压 + Vin 叠加
总电压 > Vin → 升压!plaintext- 开关断开瞬间,电感产生感应电动势(左负右正)
- 这个感应电压与 Vin 串联叠加
- 叠加后的电压通过二极管给输出电容充电
- 输出电压 > 输入电压
占空比与输出电压的关系#
例子:Vin = 3.7V(锂电池),需要 Vout = 5V
⚠️ 注意:当 D 接近 1 时,Vout 趋向无穷大(理论上)。实际中 D 不能太大(通常 < 0.9),否则效率急剧下降。
4.3.4 关键参数#
| 参数 | 含义 | 典型值 | 为什么重要 |
|---|---|---|---|
| 效率 η | 输出功率/输入功率 | 85%~95% | 决定发热和电池续航 |
| 开关频率 fsw | 每秒开关次数 | 100kHz ~ 3MHz | 频率越高,电感电容越小,但损耗越大 |
| 输出纹波 | 输出上的交流分量 | 10~50mVpp | 影响后级电路(ADC、射频) |
| 最大输出电流 | 能持续提供的电流 | 0.5A ~ 10A+ | 必须大于负载最大电流 |
| 输入电压范围 | 能正常工作的 Vin 范围 | 2.5V~36V | 必须覆盖实际输入 |
4.3.5 PWM 控制原理#
DC-DC 芯片内部有一个 PWM 控制器,它的工作方式:
- 采样输出电压(通过 FB 引脚的分压电阻)
- 与内部基准电压比较
- 如果 Vout 偏低 → 增大占空比 → Vout 升高
- 如果 Vout 偏高 → 减小占空比 → Vout 降低
这就是一个 负反馈闭环,和 LDO 的原理类似,只是执行机构从”可变电阻”变成了”开关”。
4.3.6 布局注意事项(非常重要!)#
DC-DC 的 PCB 布局比 LDO 复杂得多,布局不好直接导致性能下降甚至不工作。
核心原则:
| 规则 | 原因 |
|---|---|
| 输入电容紧贴 VIN 和 GND 引脚 | 减小高频电流环路面积,降低 EMI |
| 电感靠近 SW 引脚 | SW 节点是高 dv/dt 节点,走线越长辐射越大 |
| 电感下方不走敏感信号 | 电感的磁场会耦合到下方走线 |
| FB(反馈)走线远离电感和 SW | 防止开关噪声耦合到反馈环路 |
| 功率地和信号地分开,单点汇合 | 大电流在地线上产生压降,影响信号 |
| 输出电容靠近电感输出端 | 减小输出纹波 |
一个典型的 Buck 布局示意:
┌─────────────────────────────────────────┐
│ [Cin] [IC] [L] [Cout] │
│ │ │ │ │ │
│ └──GND─┘ │ └──→ Vout │
│ (紧贴!) │ │
│ │ │
│ FB 走线从远离电感的一侧引出 │
└─────────────────────────────────────────┘plaintext💡 新人建议:第一次用某颗 DC-DC 芯片时,严格照抄 datasheet 上的 Layout 参考图。不要”创新”。
4.3.7 常见 DC-DC 选型速查#
| 型号 | 类型 | 输入范围 | 输出电流 | 开关频率 | 特点 |
|---|---|---|---|---|---|
| MP1584 | Buck | 4.5~28V | 3A | 1.5MHz | 小封装、高性价比 |
| TPS54331 | Buck | 3.5~28V | 3A | 570kHz | TI 经典款 |
| SY8088 | Buck | 2.5~5.5V | 2A | 1.5MHz | 超小封装 SOT23-5 |
| MT3608 | Boost | 2~24V | 2A | 1.2MHz | 便宜、常见 |
| TPS61023 | Boost | 0.5~5.5V | 3A | 2MHz | 超低输入电压 |
| TPS63000 | Buck-Boost | 1.8~5.5V | 1.2A | 2.4MHz | 升降压一体 |
4.4 去耦电容体系#
4.4.1 为什么需要去耦电容?#
一个直觉类比:
把电源总线想象成小区的 主自来水管,把芯片想象成 住户。
- 主水管(电源总线)供水能力有限,而且水压会波动
- 住户(芯片)用水是间歇性的:洗衣机突然启动(数字电路翻转),瞬间需要大量水
- 如果每次都等主水管供水,水压会瞬间下降,其他住户受影响
解决方案:在每户门口放一个 储水罐(去耦电容)。
- 平时储水罐是满的
- 突然用水时,储水罐先顶上,主水管慢慢补充
- 其他住户不受影响
4.4.2 为什么需要多级去耦?#
不同容量的电容,擅长的频率范围不同:
| 电容 | 有效频率范围 | 作用 |
|---|---|---|
| 10μF(电解/钽/陶瓷) | DC ~ 几百 kHz | 储能、低频滤波 |
| 100nF(陶瓷) | 几百 kHz ~ 几十 MHz | 中频去耦(最常用!) |
| 10nF(陶瓷) | 几十 MHz ~ 几百 MHz | 高频去耦 |
| 1nF / 100pF | 几百 MHz ~ GHz | 超高频去耦 |
为什么不能只用一个大电容?
因为真实电容不是理想的——它有寄生电感(ESL)和寄生电阻(ESR)。在高频下,寄生电感起主导作用,大电容反而变成”电感”,阻抗急剧上升。
阻抗
↑
│ 大电容(10μF)
│ /
│ / 小电容(100nF)
│ / /
│/ /
│────/──────────────→ 频率
│ /
│ / 小电容在高频仍保持低阻抗
│ /plaintext多级并联 = 在宽频率范围内保持低阻抗。
4.4.3 布局原则:越小的电容越靠近引脚#
MCU 芯片
┌──────────────┐
│ VDD GND │
└──┬───────┬───┘
│ │
[10nF] ← 最近(< 1mm)
│
[100nF] ← 次近(< 3mm)
│
[10μF] ← 可以稍远(电源入口处)
│
VCC 总线plaintext为什么?
走线有寄生电感(约 1nH/mm)。高频电流需要走最短的路径到达电容。如果 100nF 电容离引脚 10mm,那 10mm 走线的寄生电感在 100MHz 时阻抗 = 2πfL = 2π × 100M × 10n ≈ 6.3Ω——这已经很大了,去耦效果大打折扣。
4.4.4 不放去耦电容会怎样?#
| 症状 | 原因 |
|---|---|
| MCU 随机复位 | 电源瞬间跌落低于复位阈值 |
| ADC 读数跳变 | 电源噪声耦合到模拟前端 |
| I²C / SPI 通信偶尔出错 | 电源毛刺导致逻辑电平误判 |
| WiFi / BLE 连接不稳定 | 发射瞬间电流突变,电源跌落 |
| 示波器看到电源上有大量毛刺 | 数字开关噪声无泄放路径 |
💡 经验法则:
- 每个 VCC 引脚:100nF 陶瓷电容(0402 或 0603 封装)
- 每组电源入口:10μF 陶瓷电容
- 模拟电源(VDDA):额外加 1μF + 100nF
- 宁可多放,不要少放
4.5 基准电压源#
4.5.1 为什么 ADC 需要稳定的 Vref?#
ADC 的工作原理是把输入电压与参考电压做比较:
如果 Vref 本身在波动(比如跟着电源纹波变),那即使 Vin 完全不变,ADC 的输出数字也会跳动。
例子:12 位 ADC,Vref = 3.3V
- 1 LSB = 3.3V / 4096 = 0.8mV
- 如果 Vref 有 10mV 的纹波 → 相当于 12 LSB 的误差!
- 对于 16 位 ADC(1 LSB = 50μV),10mV 纹波 = 200 LSB 的误差,完全不可接受
4.5.2 常见基准电压源芯片#
| 型号 | 类型 | 输出电压 | 初始精度 | 温漂 | 特点 |
|---|---|---|---|---|---|
| TL431 | 可调(分流型) | 2.5V ~ 36V | ±1%(A 级 ±0.5%) | 30~92 ppm/°C | 便宜、万能 |
| REF3033 | 固定(串联型) | 3.3V | ±0.2% | 25 ppm/°C | 低功耗、小封装 |
| REF3025 | 固定(串联型) | 2.5V | ±0.2% | 25 ppm/°C | 同上 |
| LM4040 | 固定(分流型) | 2.048V / 2.5V / 4.096V | ±0.2% | 150 ppm/°C | 无需外部电容 |
| ADR445 | 固定(串联型) | 5.0V | ±0.05% | 3 ppm/°C | 超高精度 |
| REF200 | 固定电流源 | 100μA × 2 | ±0.5% | 25 ppm/°C | 精密电流源 |
4.5.3 关键参数解读#
初始精度(Initial Accuracy)#
芯片在 25°C 时,输出电压与标称值的偏差。
- ±1%:3.3V 基准实际可能是 3.267V ~ 3.333V
- ±0.2%:3.3V 基准实际可能是 3.293V ~ 3.307V
温漂(Temperature Coefficient,TC)#
温度每变化 1°C,输出电压变化多少。单位:ppm/°C(百万分之一每度)。
计算举例:
- 基准 2.5V,温漂 25 ppm/°C
- 温度从 25°C 变到 85°C(变化 60°C)
- 电压变化 = 2.5V × 25 × 10⁻⁶ × 60 = 3.75mV
对于 12 位 ADC(Vref = 2.5V,1 LSB = 0.61mV),3.75mV ≈ 6 LSB 误差。
对于 16 位 ADC(1 LSB = 38μV),3.75mV ≈ 99 LSB 误差——需要选更低温漂的基准。
4.5.4 TL431 详解(最常用)#
TL431 是一个 可编程精密稳压源,内部结构:
Cathode (K) ──→ 输出
│
┌────┴────┐
│ NPN │
│ 晶体管 │
└────┬────┘
│
┌────┴────┐
│误差放大器│ ← REF 引脚(2.495V 基准)
└────┬────┘
│
Anode (A) ──→ GNDplaintext典型应用:产生 2.5V 基准
Vin (5V) ──→ [R = 1kΩ] ──┬──→ Vout = 2.495V
│
┌────┴────┐
│ TL431 │
│ K R A │
└────┬────┘
│
GNDplaintextR 和 K 短接时,输出固定的 2.495V。
产生可调电压(如 5V):
要得到 5V:
4.5.5 布局注意事项#
- 基准电压源 远离数字噪声(MCU、DC-DC、时钟)
- 加去耦电容(通常 100nF + 10μF)
- 走线尽量短,不要和数字信号平行走
- 如果是给 ADC 供电,用独立的走线从基准源直接拉到 ADC 的 VREF 引脚
4.6 电池管理(便携设备)#
4.6.1 锂电池特性#
单节锂离子电池(Li-ion / Li-Po)的关键参数:
| 参数 | 数值 | 说明 |
|---|---|---|
| 标称电压 | 3.7V | 平均工作电压 |
| 满充电压 | 4.2V | 超过会过充,有爆炸风险 |
| 截止电压 | 3.0V(有些 2.75V) | 低于会过放,电池永久损坏 |
| 充电方式 | CC/CV(恒流/恒压) | 先恒流充到 4.2V,再恒压涓流 |
| 典型容量 | 500mAh ~ 5000mAh | 取决于尺寸 |
| 最大充电电流 | 通常 1C(即容量值) | 2000mAh 电池最大 2A 充电 |
充放电曲线(简化):
电压
4.2V ─────────────────────── 满充
╱
╱ ← 恒压阶段(电流逐渐减小)
╱
3.7V ─── 标称电压(大部分工作时间在这里)
╲
╲ ← 电压快速下降
╲
3.0V ─────────────────────── 截止(必须停止放电)plaintext4.6.2 充电芯片#
TP4056(最经典的线性充电芯片)#
特点:
- 输入:USB 5V
- 充电电压:固定 4.2V
- 充电电流:由外部电阻 Rprog 设定
- 封装:SOP-8(底部有散热焊盘)
- 价格:几毛钱
充电电流设定:
| Rprog | 充电电流 |
|---|---|
| 10kΩ | 120mA |
| 5kΩ | 240mA |
| 2kΩ | 600mA |
| 1.2kΩ | 1000mA(1A) |
典型应用电路:
USB 5V ──→ [TP4056] ──→ 锂电池 3.7V
│
[Rprog]
│
GNDplaintext充电过程:
- 恒流阶段(CC):电池电压 < 4.2V 时,以设定电流恒流充电
- 恒压阶段(CV):电池电压达到 4.2V 后,保持 4.2V,电流逐渐减小
- 终止:电流降到设定值的 1/10 时,认为充满,停止充电
指示灯:
- CHRG 引脚:充电中拉低(接 LED 亮红灯)
- STDBY 引脚:充满后拉低(接 LED 亮绿灯)
⚠️ TP4056 的局限:它只管充电,不提供过放保护!电池放到 3.0V 以下它不管。所以需要额外的保护电路。
BQ24075(带路径管理)#
比 TP4056 高级,增加了 电源路径管理(Power Path Management):
- 充电时,负载由 USB 直接供电(不经过电池)
- 电池充满后自动切换到 USB 供电
- 拔掉 USB 后无缝切换到电池供电
- 不会”边充边放”(TP4056 的问题)
4.6.3 电池保护电路:DW01 + 8205A#
这是最经典的单节锂电池保护方案:
DW01A:保护控制芯片(SOT-23-6 封装) FS8205A:双 N-MOS 管(TSSOP-8 封装)
保护功能:
| 保护类型 | 触发条件 | 动作 |
|---|---|---|
| 过充保护 | 电池电压 > 4.25V ~ 4.35V | 关断充电 MOS |
| 过放保护 | 电池电压 < 2.4V ~ 3.0V | 关断放电 MOS |
| 过流保护 | 放电电流 > 阈值(约 3A) | 关断放电 MOS |
| 短路保护 | 电流极大(> 10A) | 立即关断 |
电路连接(简化):
电池+ ──→ P+(输出正极)
│
│ ┌──────────┐
├──→ │ DW01A │
│ │ 1 2 3 │──→ 8205A 栅极控制
│ │ 6 5 4 │
│ └──────────┘
│ │
电池- ──→ 8205A ──→ P-(输出负极)plaintext工作原理:
- 正常时:DW01 输出高电平 → 8205A 内两个 MOS 导通 → 电池正常充放电
- 过充时:DW01 关断充电 MOS → 充电路径断开
- 过放时:DW01 关断放电 MOS → 放电路径断开
💡 实际使用:市面上有集成 TP4056 + DW01 + 8205A 的模块(常见的蓝色小板),几块钱一个,非常适合 DIY。
4.6.4 电量检测#
方法一:分压 + ADC(最简单)#
电池 3.7V ──→ [R1 = 100kΩ] ──┬──→ ADC 输入
│
[R2 = 100kΩ]
│
GNDplaintextADC 读到的电压 = 电池电压 / 2。
精度问题:
- 锂电池放电曲线很平坦(3.7V ~ 3.9V 占了 80% 的容量),简单分压很难精确估算剩余电量
- 适合粗略判断(如”电量低于 20% 报警”)
方法二:专用电量计芯片(精确)#
| 芯片 | 接口 | 精度 | 特点 |
|---|---|---|---|
| MAX17048 | I²C | ±3% | 无需电流采样电阻,算法估算 |
| BQ27441 | I²C | ±1% | 库仑计数 + 电压补偿 |
| CW2015 | I²C | ±5% | 国产、便宜 |
4.6.5 升压:电池 3.7V → 5V 输出#
很多 USB 设备需要 5V,但电池只有 3.7V(甚至放电到 3.0V)。这时需要 Boost 升压:
常用芯片:
| 芯片 | 输入范围 | 输出 | 电流 | 特点 |
|---|---|---|---|---|
| MT3608 | 2~24V | 可调 | 2A | 便宜、常见 |
| TPS61023 | 0.5~5.5V | 可调 | 3A | 超低输入 |
| SY7208 | 2.8~16V | 可调 | 3A | 高效率 |
| IP5306 | 2.7~4.2V | 5V | 2.4A | 充电宝专用(集成充放电) |
典型电路(MT3608):
电池 3.7V ──→ [MT3608] ──→ 5V 输出
│
[电感 22μH]
│
[肖特基二极管]
│
[输出电容 22μF]plaintext4.7 电源保护#
4.7.1 防反接保护#
问题:用户把电源正负极接反了怎么办?
后果很严重:电解电容爆裂、IC 烧毁、PCB 走线烧断。
方案一:串联肖特基二极管(最简单)#
电源+ ──→|──→ 负载+
D
电源- ─────────→ 负载-plaintext- 正接:二极管导通,压降约 0.3V(肖特基)
- 反接:二极管截止,无电流
缺点:
- 有 0.3V 压降(3.3V 系统损失 9%)
- 大电流时发热:P = 0.3V × 2A = 0.6W
方案二:P-MOS 防反接(推荐)#
电源+ ──→ [P-MOS: S→D] ──→ 负载+
│
G (通过电阻接 GND)
电源- ──────────────────→ 负载-plaintext工作原理:
- 正接时:电流先通过 MOS 的体二极管导通 → S 极电压 ≈ Vin - 0.7V → Vgs = -(Vin - 0.7V)< Vgs(th) → MOS 完全导通 → 压降只有几十 mV
- 反接时:Vgs > 0 → MOS 不导通 → 保护后级
优点:
- 导通压降极小(Rds(on) × I,通常 < 50mV)
- 几乎无功耗损失
选型注意:
- Vgs(th) 要足够低(< 2V),确保低压时也能导通
- 如果输入电压可能超过 Vgs(max)(通常 ±20V),需要加稳压管钳位
方案三:保险丝 + 反并二极管#
电源+ ──→ [保险丝] ──→ 负载+
│
[二极管 D](反向并联,阴极接电源+)
│
电源- ──────────→ 负载-plaintext- 正接:二极管反偏,不导通,无损耗
- 反接:二极管正偏导通 → 短路 → 保险丝熔断 → 保护后级
缺点:保险丝熔断后需要更换(或用 PTC 自恢复保险丝)。
4.7.2 过压保护#
场景:用户误接了 12V 适配器到设计为 5V 输入的设备。
TVS 管(瞬态电压抑制器)#
电源+ ──→ [保险丝/PTC] ──┬──→ 后级电路
│
[TVS 管]
│
GNDplaintext- 正常时:TVS 不导通(高阻抗)
- 过压时:TVS 瞬间导通(ns 级),将电压钳位到安全值
- 配合保险丝:TVS 导通 → 大电流 → 保险丝熔断 → 彻底断开
选型:
- 工作电压(Vrwm)> 正常供电电压
- 钳位电压(Vc)< 后级芯片的绝对最大额定值
- 例:5V 系统选 SMBJ5.0A(Vrwm = 5V,Vc ≈ 9.2V)
稳压管钳位(低成本方案)#
电源+ ──→ [R] ──┬──→ 后级
│
[稳压管 5.1V]
│
GNDplaintext适合小电流、低成本的场景。
4.7.3 过流保护#
| 方案 | 原理 | 特点 |
|---|---|---|
| 保险丝 | 电流过大 → 熔断 | 一次性,需更换 |
| PTC 自恢复保险丝 | 电流过大 → 发热 → 电阻急剧增大 → 限流 | 可自恢复,但响应慢 |
| 电子保险丝(eFuse) | 电流采样 + MOS 管关断 | 快速、可编程、可恢复 |
| 芯片内部 OCP | DC-DC / LDO 内部限流 | 自动,但只保护芯片自身 |
PTC 选型举例:
- 正常工作电流 500mA
- 选 PTC:保持电流(Ihold)= 750mA,触发电流(Itrip)= 1.5A
- 正常时 PTC 电阻 < 0.1Ω,几乎无影响
- 过流时 PTC 电阻升到几十 Ω,限制电流
4.7.4 上电时序#
问题:有些芯片要求多路电源按特定顺序上电。
典型例子:
- FPGA:要求 VCCINT(内核 1.0V)先于 VCCO(IO 3.3V)上电
- 某些 SoC:要求 1.8V 先于 3.3V
- 如果顺序反了:芯片可能闩锁(latch-up),电流暴增,永久损坏
解决方案:
- 利用 EN 引脚级联:
12V ──→ DC-DC(1.8V) ──→ PG 引脚 ──→ 使能 LDO(3.3V) 的 ENplaintext1.8V 的 DC-DC 输出 Power Good 信号后,才使能 3.3V 的 LDO。
-
专用时序控制芯片:如 TPS3808、MAX823
-
PMIC(电源管理 IC):集成多路输出,内部自带时序控制
💡 新人建议:设计多电压系统时,一定要查每个芯片 datasheet 中的 “Power Supply Sequencing” 章节。
4.8 电源指示灯与使能控制#
4.8.1 电源指示灯#
最简单但最实用的功能——让用户知道”设备通电了”。
基本电路:
VCC (3.3V) ──→ [R = 1kΩ] ──→ [LED] ──→ GNDplaintext限流电阻计算:
| LED 颜色 | 正向压降 VF | 推荐电流 IF | R(VCC=3.3V) |
|---|---|---|---|
| 红色 | 1.8V | 5mA | 300Ω |
| 绿色 | 2.2V | 5mA | 220Ω |
| 蓝色/白色 | 3.0V | 5mA | 60Ω |
💡 低功耗设计:电池设备中,指示灯可能消耗 5mA × 3.3V = 16.5mW。如果设备需要待机几个月,考虑用 GPIO 控制 LED(需要时才亮),或者用 1MΩ 上拉到 VCC 的超暗 LED(电流 < 5μA)。
4.8.2 EN 引脚控制:用 GPIO 控制电源通断#
很多 LDO 和 DC-DC 都有 EN(Enable)引脚:
- EN = 高电平 → 电源输出开启
- EN = 低电平 → 电源关闭(静态电流降到 nA 级)
应用场景:
MCU GPIO ──→ [EN 引脚] ──→ LDO ──→ 传感器供电plaintext- 需要采集数据时:GPIO 拉高 → 传感器上电 → 采集 → GPIO 拉低 → 传感器断电
- 待机时传感器完全断电,功耗从 50mA 降到 < 1μA
注意事项:
| 问题 | 解决方案 |
|---|---|
| GPIO 驱动能力不够 | 加 MOS 管驱动 EN |
| EN 引脚有内部上拉 | 确认 GPIO 能拉低到 < 0.4V |
| 上电瞬间 GPIO 状态不确定 | EN 引脚加下拉电阻(确保默认关闭) |
| 需要延迟使能 | RC 延时电路或软件延时 |
典型电路:
MCU GPIO ──→ [10kΩ] ──┬──→ EN 引脚
│
[100kΩ 下拉]
│
GNDplaintext- GPIO 高电平:EN ≈ 3.3V → 电源开启
- GPIO 低电平或浮空:EN ≈ 0V → 电源关闭
- 10kΩ 串联电阻:防止 GPIO 和 EN 内部电路冲突
4.8.3 Power Good(PG)信号#
很多 DC-DC 和 LDO 有 PG / PWRGD 引脚:
- 输出电压正常时:PG = 高电平(或开漏释放)
- 输出电压异常时(过低/过高):PG = 低电平
用途:
- 给 MCU 一个”电源正常”中断信号
- 级联控制:第一级电源 PG → 使能第二级电源
- 系统复位:PG 低 → 触发 MCU 复位
本章小结#
| 知识点 | 一句话记住 |
|---|---|
| 电源树 | 像树一样从输入分到各路负载 |
| LDO | 简单、安静、但效率低(适合小电流、低噪声) |
| DC-DC | 高效、但 noisy(适合大电流、大压差) |
| 去耦电容 | 每个 VCC 引脚放 100nF,越小越近 |
| 基准电压 | ADC 精度的天花板 |
| 电池管理 | 充电(TP4056)+ 保护(DW01)缺一不可 |
| 电源保护 | 防反接 + 过压 + 过流,三件套 |
| EN 控制 | 不用的时候关掉电源,省电 |
实战 Checklist:设计电源时的自检清单#
- 列出所有负载的电压和最大电流
- 画出电源树
- 压差 > 2V 或电流 > 500mA → 用 DC-DC
- 噪声敏感(ADC、射频)→ DC-DC 后加 LDO
- 每个 VCC 引脚有 100nF 去耦电容
- 电源入口有 10μF 储能电容
- LDO 功耗 < 0.5W(否则换 DC-DC 或加散热)
- DC-DC 布局照抄 datasheet 参考
- 有防反接保护
- 有输入过压保护(TVS 或稳压管)
- 多电压系统检查了上电时序
- 电池设备有充电管理 + 保护电路
推荐进一步阅读#
- TI 应用笔记:《Understanding LDO Dropout》(SLVA079)
- TI 应用笔记:《Basic Calculation of a Buck Converter’s Power Stage》(SLVA477)
- Murata 技术文档:《Decoupling Capacitors for Power Supply Lines》
- 各芯片 datasheet 的 “Typical Application” 和 “Layout Guidelines” 章节
下一章预告:第 5 章 MCU 最小系统——有了电源之后,我们来看一块板子的”骨架”怎么搭:复位、晶振、下载接口,一个都不能少。