---
title: 电源电路
url: https://doc.liz6.com/hardware/04-analog-circuits/03-power-supply-circuits
locale: zh
area: hardware
tags:
- hardware
- 模拟电路
date: 2026-06-30
modified: 2026-07-11
description: 电源电路 电源系统架构 电源系统架构:两条输入路径殊途同归于稳压 DC 输出 路径一:AC 输入 AC 市电 变压器 整流 滤波 稳压 DC 输出 或 路径二:DC 输入 DC 输入 DC-DC 变换 稳压输出 典型系统举例 市电 220V AC AC-DC 12V DC POL 5V / 3.3V 1.8V / 1.…
---

# 电源电路

## 电源系统架构

<svg viewBox="0 0 720 368" xmlns="http://www.w3.org/2000/svg" font-family="-apple-system,'Source Han Sans CN','Microsoft YaHei',sans-serif" role="img" aria-label="电源系统架构:AC或DC输入两条路径最终归于稳压DC输出,典型系统再经POL就近产生多路电压">
  <defs>
    <marker id="pwArrow1" markerWidth="10" markerHeight="8" refX="8" refY="3" orient="auto"><path d="M0,0 L8,3 L0,6 Z" fill="#475569"/></marker>
  </defs>
  <rect width="720" height="368" fill="#ffffff"/>
  <text x="360" y="28" text-anchor="middle" font-size="17" font-weight="700" fill="#1f2933">电源系统架构:两条输入路径殊途同归于稳压 DC 输出</text>

  <text x="16" y="52" font-size="12.5" font-weight="700" fill="#1f2933">路径一:AC 输入</text>
  <rect x="16" y="60" width="88" height="40" rx="6" fill="#e2e8f0"/>
  <text x="60" y="84" text-anchor="middle" font-size="12" font-weight="600" fill="#475569">AC 市电</text>
  <rect x="122" y="60" width="88" height="40" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="166" y="84" text-anchor="middle" font-size="12" font-weight="600" fill="#3730a3">变压器</text>
  <rect x="228" y="60" width="88" height="40" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="272" y="84" text-anchor="middle" font-size="12" font-weight="600" fill="#3730a3">整流</text>
  <rect x="334" y="60" width="88" height="40" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="378" y="84" text-anchor="middle" font-size="12" font-weight="600" fill="#3730a3">滤波</text>
  <rect x="440" y="60" width="88" height="40" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="484" y="84" text-anchor="middle" font-size="12" font-weight="600" fill="#3730a3">稳压</text>
  <rect x="546" y="60" width="88" height="40" rx="6" fill="#dcfce7" stroke="#4ade80"/>
  <text x="590" y="84" text-anchor="middle" font-size="12" font-weight="700" fill="#166534">DC 输出</text>

  <line x1="104" y1="80" x2="120" y2="80" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="210" y1="80" x2="226" y2="80" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="316" y1="80" x2="332" y2="80" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="422" y1="80" x2="438" y2="80" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="528" y1="80" x2="544" y2="80" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>

  <line x1="300" y1="116" x2="330" y2="116" stroke="#cbd5e1" stroke-width="1"/>
  <text x="360" y="120" text-anchor="middle" font-size="12" fill="#94a3b8">或</text>
  <line x1="390" y1="116" x2="420" y2="116" stroke="#cbd5e1" stroke-width="1"/>

  <text x="16" y="140" font-size="12.5" font-weight="700" fill="#1f2933">路径二:DC 输入</text>
  <rect x="105" y="148" width="150" height="40" rx="6" fill="#e2e8f0"/>
  <text x="180" y="172" text-anchor="middle" font-size="12" font-weight="600" fill="#475569">DC 输入</text>
  <rect x="285" y="148" width="150" height="40" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="360" y="172" text-anchor="middle" font-size="12" font-weight="600" fill="#3730a3">DC-DC 变换</text>
  <rect x="465" y="148" width="150" height="40" rx="6" fill="#dcfce7" stroke="#4ade80"/>
  <text x="540" y="172" text-anchor="middle" font-size="12" font-weight="700" fill="#166534">稳压输出</text>

  <line x1="255" y1="168" x2="283" y2="168" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="435" y1="168" x2="463" y2="168" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>

  <line x1="16" y1="204" x2="704" y2="204" stroke="#e2e8f0" stroke-width="1"/>
  <text x="16" y="228" font-size="12.5" font-weight="700" fill="#1f2933">典型系统举例</text>

  <rect x="16" y="236" width="120" height="44" rx="6" fill="#e2e8f0"/>
  <text x="76" y="262" text-anchor="middle" font-size="11" font-weight="600" fill="#475569">市电 220V AC</text>
  <rect x="150" y="236" width="80" height="44" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="190" y="262" text-anchor="middle" font-size="11.5" font-weight="600" fill="#3730a3">AC-DC</text>
  <rect x="244" y="236" width="90" height="44" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="289" y="262" text-anchor="middle" font-size="11.5" font-weight="600" fill="#3730a3">12V DC</text>
  <rect x="348" y="236" width="70" height="44" rx="6" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="383" y="262" text-anchor="middle" font-size="11.5" font-weight="600" fill="#3730a3">POL</text>
  <rect x="432" y="236" width="170" height="44" rx="6" fill="#dcfce7" stroke="#4ade80"/>
  <text x="517" y="253" text-anchor="middle" font-size="10.5" font-weight="700" fill="#166534">5V / 3.3V</text>
  <text x="517" y="267" text-anchor="middle" font-size="10.5" font-weight="700" fill="#166534">1.8V / 1.2V…</text>

  <text x="383" y="292" text-anchor="middle" font-size="10" fill="#64748b">(Point of Load)</text>

  <line x1="136" y1="258" x2="148" y2="258" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="230" y1="258" x2="242" y2="258" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="334" y1="258" x2="346" y2="258" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>
  <line x1="418" y1="258" x2="430" y2="258" stroke="#475569" stroke-width="1.6" marker-end="url(#pwArrow1)"/>

  <rect x="40" y="304" width="640" height="48" rx="8" fill="#f0fdfa" stroke="#99f6e4"/>
  <text x="56" y="324" font-size="12.5" fill="#115e59">两条输入路径(AC 或 DC)最终都归一到稳压 DC 输出。实际系统常先转出 12V 主电源,</text>
  <text x="56" y="342" font-size="12.5" fill="#115e59">再由 POL(Point of Load)就近变换成 5V / 3.3V / 1.8V / 1.2V 等多路电压。</text>
</svg>

---

## 线性稳压器 (Linear Regulator)

### 基本原理
<svg viewBox="0 0 720 316" xmlns="http://www.w3.org/2000/svg" font-family="-apple-system,'Source Han Sans CN','Microsoft YaHei',sans-serif" role="img" aria-label="线性稳压器原理:调整管串在Vin与Vout之间,误差放大器比较Vout与Vref反馈控制调整管">
  <defs>
    <marker id="ldoArrow" markerWidth="10" markerHeight="8" refX="8" refY="3" orient="auto"><path d="M0,0 L8,3 L0,6 Z" fill="#475569"/></marker>
  </defs>
  <rect width="720" height="316" fill="#ffffff"/>
  <text x="360" y="28" text-anchor="middle" font-size="17" font-weight="700" fill="#1f2933">线性稳压器基本原理:调整管压降 = Vin − Vout</text>

  <text x="170" y="54" text-anchor="middle" font-size="12" fill="#64748b">Vin (未稳压)</text>
  <line x1="170" y1="58" x2="170" y2="68" stroke="#475569" stroke-width="1.6" marker-end="url(#ldoArrow)"/>

  <rect x="90" y="70" width="160" height="54" rx="8" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="170" y="92" text-anchor="middle" font-size="12.5" font-weight="700" fill="#3730a3">调整管 (BJT/MOS)</text>
  <text x="170" y="110" text-anchor="middle" font-size="10.5" fill="#4f46e5">工作在线性区 ≈ 可变电阻</text>

  <line x1="170" y1="124" x2="170" y2="186" stroke="#475569" stroke-width="1.6" marker-end="url(#ldoArrow)"/>

  <rect x="90" y="188" width="160" height="44" rx="8" fill="#dcfce7" stroke="#4ade80"/>
  <text x="170" y="215" text-anchor="middle" font-size="13" font-weight="700" fill="#166534">Vout (稳压)</text>

  <rect x="430" y="90" width="210" height="66" rx="8" fill="#f0fdfa" stroke="#99f6e4"/>
  <text x="535" y="112" text-anchor="middle" font-size="12.5" font-weight="700" fill="#115e59">误差放大</text>
  <text x="535" y="130" text-anchor="middle" font-size="10.5" fill="#0f766e">比较 Vout 与 Vref</text>
  <text x="535" y="146" text-anchor="middle" font-size="10.5" fill="#0f766e">控制调整管</text>

  <line x1="250" y1="205" x2="428" y2="145" stroke="#475569" stroke-width="1.6" marker-end="url(#ldoArrow)"/>
  <text x="345" y="168" text-anchor="middle" font-size="10" fill="#475569">感知 Vout(反馈)</text>

  <line x1="430" y1="108" x2="252" y2="97" stroke="#475569" stroke-width="1.6" marker-end="url(#ldoArrow)"/>
  <text x="345" y="90" text-anchor="middle" font-size="10" fill="#475569">控制信号</text>

  <line x1="535" y1="230" x2="535" y2="158" stroke="#475569" stroke-width="1.6" marker-end="url(#ldoArrow)"/>
  <text x="535" y="246" text-anchor="middle" font-size="11" fill="#64748b">Vref (基准)</text>

  <rect x="40" y="252" width="640" height="52" rx="8" fill="#eef2ff" stroke="#c7d2fe"/>
  <text x="56" y="272" font-size="12" fill="#3730a3">本质:调整管压降 = Vin − Vout;耗散功率 = (Vin−Vout) × Iout。</text>
  <text x="56" y="290" font-size="12" fill="#3730a3">压差越大、电流越大,发热越严重——这正是线性稳压器效率低的根源。</text>
</svg>

### 优缺点
```
优点:
  ✓ 低噪声、低纹波
  ✓ 瞬态响应快
  ✓ 电路简单 (外围元件少)
  ✓ 无 EMI 问题

缺点:
  ✗ 效率低: η ≈ Vout/Vin
    例: 12V→5V η=42% (58% 变成热量!)
  ✗ 只能降压
  ✗ 大压差/大电流时发热严重
```

### LDO (Low Dropout)
```
标准线性稳压需要 Vin - Vout > 2~3V
LDO 可以做到 Vin - Vout < 0.5V (甚至 100mV!)

调整管用 PNP 或 P-MOSFET → 压差仅 Vce(sat) 或 I×Rds(on)

选型:
  压差需求 > 1V → 78xx (7805, 7812...便宜)
  压差需求 < 0.5V → LDO (AMS1117, LP2985...)
```

### 典型芯片
| 型号 | Vout | Imax | 压差 | 特点 |
|------|------|------|------|------|
| 7805 | 5V | 1.5A | 2V | 经典三端稳压 |
| LM317 | 可调 | 1.5A | 2V | 可调输出: Vout=1.25(1+R2/R1) |
| AMS1117-3.3 | 3.3V | 1A | 1.1V | 常用 LDO |
| LP2985-3.3 | 3.3V | 150mA | 280mV | 超低压差、低噪声 |

---

## 开关电源 (Switching Regulator)

### 基本原理
```
开关管不停 ON/OFF → 储能元件 (L, C) 平滑能量 → 输出

    Vin ──[开关]──[L]─── Vout
              │     │
            [PWM]  [C]
                    │
                   GND

PWM: 脉冲宽度调制 → 调节占空比 D 来稳定输出
频率: 典型 100kHz ~ 2MHz
```

### 与线性电源对比
| 特性 | 线性 | 开关 |
|------|------|------|
| 效率 | 低 (30-60%) | 高 (80-95%) |
| 噪声 | 极低 | 有开关纹波+EMI |
| 复杂度 | 简单 | 复杂 (需 L, C, 补偿) |
| 体积 | 大 (需散热) | 小 |
| 只能降压? | 是 | 否 (可升降) |

---

## 三大基本拓扑

### Buck (降压)
```
              ┌── L ──┬── Vout
              │       │
Vin ──[SW]───┤       ┌┴┐
              │       │C│
              └──▸├──┴┬┘
                      │
                     GND

SW ON:  L 充电, C 供电给负载
SW OFF: L 通过二极管续流

Vout = D × Vin  (D = Ton/T)
D < 1 → Vout < Vin
```

### Boost (升压)
```
       ┌── L ──┬──▸├── Vout
       │       │       │
Vin ──┤       [SW]    ┌┴┐
       │       │       │C│
       └───────┴───────┴┬┘
                        │
                       GND

SW ON:  L 储能
SW OFF: L 的感应电压叠加 Vin → Vout > Vin

Vout = Vin / (1-D)
```

### Buck-Boost (升降压)
```
Vout = -Vin × D/(1-D)  (反相输出)

可输出高于或低于输入的电压 (极性反转)
```

---

## 实际设计要点

### 输入/输出电容
```
输入: 大容量电解 + 高频陶瓷 (0.1μF)
      电解处理低频纹波，陶瓷处理高频尖峰

输出: 根据纹波要求选
      ΔV = ΔI/(8×f×C) + ΔI×ESR  (Buck)
```

### 电感选择
```
Buck:
  L = (Vin-Vout)×D / (ΔI×f)
  ΔI 建议 ≈ 0.2~0.4 × Iout
  Isat > Iout + ΔI/2  (峰值电流)
```

### 布局要点
```
1. 开关回路面积最小化!
   (Vin → SW → L → Cout → GND 回路越小, EMI 越低)

2. 反馈线远离电感和开关节点

3. 输入电容紧靠 IC 引脚

4. GND 铺铜、单点接地或完整地平面
```

---

## 保护功能

| 保护 | 说明 |
|------|------|
| OCP (过流) | 输出电流超限时限制或关断 |
| OVP (过压) | 输出电压过高时关断 |
| OTP (过温) | 芯片温度超限时关断 (热关断) |
| UVLO | 输入电压过低时关断，防止异常工作 |
| 软启动 | 限制启动电流浪涌 |

---

## 常用芯片速查

| 芯片 | 类型 | Vin | Vout | Iout | 频率 |
|------|------|-----|------|------|------|
| LM2596 | Buck | 4.5-40V | 可调 | 3A | 150kHz |
| MP1584 | Buck | 4.5-28V | 可调 | 3A | 1.5MHz |
| MT3608 | Boost | 2-24V | 可调 | 2A | 1.2MHz |
| XL6009 | Boost | 5-32V | 可调 | 4A | 400kHz |
| TPS5430 | Buck | 5.5-36V | 可调 | 3A | 500kHz |

---
*关键词: 线性稳压, LDO, 开关电源, Buck, Boost, PWM, 效率, 纹波, EMI*
