知识门户

返回

第 4 章 电源电路:每块板子的"第一关"

views | comments

核心问题:怎么把电变成芯片能用的?


4.1 电源的基本概念#

4.1.1 一个生活类比#

想象你住在一栋大楼里。大楼的总水管提供 高压水(比如市政供水 0.4MPa),但你家的花洒、洗衣机、饮水机各自需要不同的水压。你不可能把市政高压水直接接到花洒上——那会把花洒冲爆。所以你需要一个 减压阀,把高压水变成适合家用的低压水。

电源电路做的事情完全一样:

生活类比电路对应
市政高压水外部输入电源(USB 5V、适配器 12V、电池 3.7V)
减压阀稳压器(LDO、DC-DC)
花洒需要 0.1MPaMCU 需要 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 负载需要什么:芯片的”口味”#

不同的芯片需要不同的电压,就像不同电器需要不同水压:

电压谁在用为什么是这个电压
5VUSB 设备、部分传感器、继电器历史标准(TTL 电平)
3.3V大多数 MCU(STM32、ESP32)现代 CMOS 工艺的标准供电
1.8VMCU 内核、DDR 内存更先进工艺需要更低电压
1.2V / 0.9V高端 SoC 内核、FPGA7nm/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 ──→ MCU
plaintext

设计电源树的步骤:

  1. 列出所有负载:把板子上每个芯片的供电电压和最大电流列出来
  2. 确定输入:你的电从哪来?电压多少?
  3. 选择转换方式:压差大用 DC-DC,压差小且噪声敏感用 LDO
  4. 画出层级关系:谁先转、谁后转、谁给谁供电
  5. 计算总功耗:确保输入电源的功率够用

💡 新人常犯的错误:只看电压不看电流。比如 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 管(调整管)工作在线性区(放大区),它根据输出电压的反馈,自动调节自身的导通程度,使得输出电压恒定。

工作流程(负反馈闭环):

  1. 分压电阻采样输出电压 Vout
  2. 误差放大器将采样值与内部基准电压(如 1.2V)比较
  3. 如果 Vout 偏低 → 误差放大器输出增大 → 调整管更导通 → Vout 升高
  4. 如果 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           GND
plaintext

输入电容(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 了!芯片会进入热保护甚至烧毁!

解决方案:

  1. 换用 DC-DC(效率 90%+,几乎不发热)
  2. 减小压差(如果输入是 3.7V 电池,压差只有 0.4V,功耗 = 0.2W,没问题)
  3. 换更大封装(如 TO-252,RθJA ≈ 50°C/W)
  4. 增加散热铜皮和热过孔

💡 经验法则:LDO 功耗超过 0.5W 时就要认真考虑散热;超过 1W 时建议直接用 DC-DC。

4.2.6 常见 LDO 选型速查#

型号输出电流压差噪声特点典型应用
AMS1117-3.31A1.1V一般便宜、常见开发板、学习
RT9013-33500mA0.25V低功耗便携设备
TPS7A20300mA0.06V超低超低噪声ADC、射频供电
LT3042200mA0.26V0.8μVrms极致低噪声精密模拟电路
ME6211500mA0.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,电流 2ADC-DC压差大、电流大,LDO 会烧
5V → 3.3V,电流 50mALDO电流小,LDO 简单且噪声低
5V → 3.3V,电流 1ADC-DC 或 LDO看散热条件
3.7V → 5V(升压)DC-DC (Boost)LDO 不能升压
给 ADC / 射频供电DC-DC + LDODC-DC 高效降压,LDO 滤除噪声

4.3.2 Buck(降压)基本原理#

核心思想#

Buck 电路的本质是:用高速开关把输入电压” chopping”成脉冲,再用 LC 滤波器把脉冲平滑成直流。

电路结构#

Vin ──┬──→ [开关管 S] ──┬──→ [电感 L] ──┬──→ Vout
      │                  │               │
      │                  │              [Cout]
      │                  │               │
      │             [二极管 D]           │
      │                  │               │
     GND                GND             GND
plaintext

两个工作阶段#

阶段 1:开关导通(Ton)

Vin ──→ [S 导通] ──→ [L] ──→ 负载

                    电流线性增大
                    电感储能
plaintext
  • 开关闭合,输入电压直接加在电感上
  • 电感电流线性增大:
  • 电感储存磁场能量
  • 二极管 D 反偏截止

阶段 2:开关关断(Toff)

                    [L] ──→ 负载
                     ↑         │
                     │         │
                [D 导通] ←─────┘

                    GND
plaintext
  • 开关断开,电感电流不能突变
  • 电感产生感应电动势(左负右正),通过二极管 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                GND
plaintext

两个工作阶段#

阶段 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 控制器,它的工作方式:

  1. 采样输出电压(通过 FB 引脚的分压电阻)
  2. 与内部基准电压比较
  3. 如果 Vout 偏低 → 增大占空比 → Vout 升高
  4. 如果 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 选型速查#

型号类型输入范围输出电流开关频率特点
MP1584Buck4.5~28V3A1.5MHz小封装、高性价比
TPS54331Buck3.5~28V3A570kHzTI 经典款
SY8088Buck2.5~5.5V2A1.5MHz超小封装 SOT23-5
MT3608Boost2~24V2A1.2MHz便宜、常见
TPS61023Boost0.5~5.5V3A2MHz超低输入电压
TPS63000Buck-Boost1.8~5.5V1.2A2.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) ──→ GND
plaintext

典型应用:产生 2.5V 基准

Vin (5V) ──→ [R = 1kΩ] ──┬──→ Vout = 2.495V

                      ┌────┴────┐
                      │  TL431  │
                      │ K  R  A │
                      └────┬────┘

                          GND
plaintext

R 和 K 短接时,输出固定的 2.495V。

产生可调电压(如 5V):

要得到 5V:,即 R1 = R2 = 10kΩ。

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 ─────────────────────── 截止(必须停止放电)
plaintext

4.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]

             GND
plaintext

充电过程:

  1. 恒流阶段(CC):电池电压 < 4.2V 时,以设定电流恒流充电
  2. 恒压阶段(CV):电池电压达到 4.2V 后,保持 4.2V,电流逐渐减小
  3. 终止:电流降到设定值的 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Ω]

                              GND
plaintext

ADC 读到的电压 = 电池电压 / 2。

精度问题

  • 锂电池放电曲线很平坦(3.7V ~ 3.9V 占了 80% 的容量),简单分压很难精确估算剩余电量
  • 适合粗略判断(如”电量低于 20% 报警”)

方法二:专用电量计芯片(精确)#

芯片接口精度特点
MAX17048I²C±3%无需电流采样电阻,算法估算
BQ27441I²C±1%库仑计数 + 电压补偿
CW2015I²C±5%国产、便宜

4.6.5 升压:电池 3.7V → 5V 输出#

很多 USB 设备需要 5V,但电池只有 3.7V(甚至放电到 3.0V)。这时需要 Boost 升压:

常用芯片:

芯片输入范围输出电流特点
MT36082~24V可调2A便宜、常见
TPS610230.5~5.5V可调3A超低输入
SY72082.8~16V可调3A高效率
IP53062.7~4.2V5V2.4A充电宝专用(集成充放电)

典型电路(MT3608):

电池 3.7V ──→ [MT3608] ──→ 5V 输出

              [电感 22μH]

              [肖特基二极管]

              [输出电容 22μF]
plaintext

4.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 管]

                          GND
plaintext
  • 正常时:TVS 不导通(高阻抗)
  • 过压时:TVS 瞬间导通(ns 级),将电压钳位到安全值
  • 配合保险丝:TVS 导通 → 大电流 → 保险丝熔断 → 彻底断开

选型

  • 工作电压(Vrwm)> 正常供电电压
  • 钳位电压(Vc)< 后级芯片的绝对最大额定值
  • 例:5V 系统选 SMBJ5.0A(Vrwm = 5V,Vc ≈ 9.2V)

稳压管钳位(低成本方案)#

电源+ ──→ [R] ──┬──→ 后级

           [稳压管 5.1V]

               GND
plaintext

适合小电流、低成本的场景。

4.7.3 过流保护#

方案原理特点
保险丝电流过大 → 熔断一次性,需更换
PTC 自恢复保险丝电流过大 → 发热 → 电阻急剧增大 → 限流可自恢复,但响应慢
电子保险丝(eFuse)电流采样 + MOS 管关断快速、可编程、可恢复
芯片内部 OCPDC-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),电流暴增,永久损坏

解决方案:

  1. 利用 EN 引脚级联
12V ──→ DC-DC(1.8V) ──→ PG 引脚 ──→ 使能 LDO(3.3V) 的 EN
plaintext

1.8V 的 DC-DC 输出 Power Good 信号后,才使能 3.3V 的 LDO。

  1. 专用时序控制芯片:如 TPS3808、MAX823

  2. PMIC(电源管理 IC):集成多路输出,内部自带时序控制

💡 新人建议:设计多电压系统时,一定要查每个芯片 datasheet 中的 “Power Supply Sequencing” 章节。


4.8 电源指示灯与使能控制#

4.8.1 电源指示灯#

最简单但最实用的功能——让用户知道”设备通电了”。

基本电路:

VCC (3.3V) ──→ [R = 1kΩ] ──→ [LED] ──→ GND
plaintext

限流电阻计算:

LED 颜色正向压降 VF推荐电流 IFR(VCC=3.3V)
红色1.8V5mA300Ω
绿色2.2V5mA220Ω
蓝色/白色3.0V5mA60Ω

💡 低功耗设计:电池设备中,指示灯可能消耗 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Ω 下拉]

                      GND
plaintext
  • GPIO 高电平:EN ≈ 3.3V → 电源开启
  • GPIO 低电平或浮空:EN ≈ 0V → 电源关闭
  • 10kΩ 串联电阻:防止 GPIO 和 EN 内部电路冲突

4.8.3 Power Good(PG)信号#

很多 DC-DC 和 LDO 有 PG / PWRGD 引脚:

  • 输出电压正常时:PG = 高电平(或开漏释放)
  • 输出电压异常时(过低/过高):PG = 低电平

用途:

  1. 给 MCU 一个”电源正常”中断信号
  2. 级联控制:第一级电源 PG → 使能第二级电源
  3. 系统复位: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 或稳压管)
  • 多电压系统检查了上电时序
  • 电池设备有充电管理 + 保护电路

推荐进一步阅读#

  1. TI 应用笔记:《Understanding LDO Dropout》(SLVA079)
  2. TI 应用笔记:《Basic Calculation of a Buck Converter’s Power Stage》(SLVA477)
  3. Murata 技术文档:《Decoupling Capacitors for Power Supply Lines》
  4. 各芯片 datasheet 的 “Typical Application” 和 “Layout Guidelines” 章节

下一章预告:第 5 章 MCU 最小系统——有了电源之后,我们来看一块板子的”骨架”怎么搭:复位、晶振、下载接口,一个都不能少。

Comment seems to stuck. Try to refresh?✨