---
title: Power Supply Circuits
url: https://doc.liz6.com/en/hardware/04-analog-circuits/03-power-supply-circuits
locale: en
area: hardware
tags:
- hardware
- analog-circuits
date: 2026-06-30
modified: 2026-07-16
description: 'Power Supply Circuits Power System Architecture Power System Architecture: Two Input Paths Converge to Regulated DC Output Path 1: AC Input AC Mains Transformer…'
---

# Power Supply Circuits

## Power System Architecture

<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="Power System Architecture: AC or DC input two paths ultimately converge to regulated DC output, typical system then generates multiple voltages nearby via 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">Power System Architecture: Two Input Paths Converge to Regulated DC Output</text>

  <text x="16" y="52" font-size="12.5" font-weight="700" fill="#1f2933">Path 1: AC Input</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 Mains</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">Transformer</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">Rectification</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">Filtering</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">Regulation</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 Output</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">or</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">Path 2: DC Input</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 Input</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 Conversion</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">Regulated Output</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">Typical System Example</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">Mains 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">Both input paths (AC or DC) ultimately converge to a regulated DC output. In actual systems, a 12V main supply is often generated first,</text>
  <text x="56" y="342" font-size="12.5" fill="#115e59">which is then converted nearby by POL (Point of Load) into multiple voltages such as 5V / 3.3V / 1.8V / 1.2V.</text>
</svg>

---

## Linear Regulator

### Basic Principle
<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="Linear Regulator Principle: Pass transistor in series between Vin and Vout, error amplifier compares Vout with Vref to control pass transistor">
  <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">Basic Principle of Linear Regulator: Pass Transistor Dropout Voltage = Vin − Vout</text>

  <text x="170" y="54" text-anchor="middle" font-size="12" fill="#64748b">Vin (Unregulated)</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">Pass Transistor (BJT/MOS)</text>
  <text x="170" y="110" text-anchor="middle" font-size="10.5" fill="#4f46e5">Operates in Linear Region ≈ Variable Resistor</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 (Regulated)</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">Error Amplifier</text>
  <text x="535" y="130" text-anchor="middle" font-size="10.5" fill="#0f766e">Compares Vout with Vref</text>
  <text x="535" y="146" text-anchor="middle" font-size="10.5" fill="#0f766e">Controls Pass Transistor</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">Sense Vout (Feedback)</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">Control Signal</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 (Reference)</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">Essence: Pass Transistor Dropout Voltage = Vin − Vout; Power Dissipation = (Vin−Vout) × Iout.</text>
  <text x="56" y="290" font-size="12" fill="#3730a3">The larger the dropout voltage and current, the more severe the heating—this is the root cause of low efficiency in linear regulators.</text>
</svg>

### Pros and Cons
```
Pros:
  ✓ Low noise, low ripple
  ✓ Fast transient response
  ✓ Simple circuit (few external components)
  ✓ No EMI issues

Cons:
  ✗ Low efficiency: η ≈ Vout/Vin
    Example: 12V→5V η=42% (58% becomes heat!)
  ✗ Can only step down
  ✗ Severe heating with large dropout/current
```

### LDO (Low Dropout)
```
Standard linear regulators require Vin - Vout > 2~3V
LDOs can achieve Vin - Vout < 0.5V (even 100mV!)

Pass transistor uses PNP or P-MOSFET → Dropout is only Vce(sat) or I×Rds(on)

Selection:
  Dropout requirement > 1V → 78xx (7805, 7812... cheap)
  Dropout requirement < 0.5V → LDO (AMS1117, LP2985...)
```

### Typical Chips
| Model | Vout | Imax | Dropout | Features |
|------|------|------|------|------|
| 7805 | 5V | 1.5A | 2V | Classic 3-terminal regulator |
| LM317 | Adjustable | 1.5A | 2V | Adjustable output: Vout=1.25(1+R2/R1) |
| AMS1117-3.3 | 3.3V | 1A | 1.1V | Common LDO |
| LP2985-3.3 | 3.3V | 150mA | 280mV | Ultra-low dropout, low noise |

---

## Switching Regulator

### Basic Principle
```
Switch turns ON/OFF continuously → Energy storage elements (L, C) smooth energy → Output

    Vin ──[Switch]──[L]─── Vout
              │     │
            [PWM]  [C]
                    │
                   GND

PWM: Pulse Width Modulation → Regulate duty cycle D to stabilize output
Frequency: Typically 100kHz ~ 2MHz
```

### Comparison with Linear Power Supplies
| Feature | Linear | Switching |
|------|------|------|
| Efficiency | Low (30-60%) | High (80-95%) |
| Noise | Very low | Switching ripple + EMI |
| Complexity | Simple | Complex (requires L, C, compensation) |
| Size | Large (needs heat sinking) | Small |
| Step-down only? | Yes | No (can step up or down) |

---

## Three Basic Topologies

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

SW ON:  L charges, C supplies load
SW OFF: L freewheels through diode

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

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

SW ON:  L stores energy
SW OFF: Induced voltage of L adds to Vin → Vout > Vin

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

### Buck-Boost (Step-Up/Step-Down)
```
Vout = -Vin × D/(1-D)  (Inverting output)

Can output voltage higher or lower than input (inverted polarity)
```

---

## Practical Design Considerations

### Input/Output Capacitors
```
Input: Large electrolytic + high-frequency ceramic (0.1μF)
       Electrolytic handles low-frequency ripple, ceramic handles high-frequency spikes

Output: Selected based on ripple requirements
       ΔV = ΔI/(8×f×C) + ΔI×ESR  (Buck)
```

### Inductor Selection
```
Buck:
  L = (Vin-Vout)×D / (ΔI×f)
  ΔI recommended ≈ 0.2~0.4 × Iout
  Isat > Iout + ΔI/2  (Peak current)
```

### Layout Considerations
```
1. Minimize switch loop area!
   (Smaller loop: Vin → SW → L → Cout → GND results in lower EMI)

2. Keep feedback traces away from inductors and switching nodes

3. Place input capacitor close to IC pins

4. Use GND pour, single-point grounding, or solid ground plane
```

---

## Protection Features

| Protection | Description |
|------|------|
| OCP (Over-Current) | Limits or shuts off when output current exceeds limit |
| OVP (Over-Voltage) | Shuts off when output voltage is too high |
| OTP (Over-Temperature) | Shuts off when chip temperature exceeds limit (thermal shutdown) |
| UVLO | Shuts off when input voltage is too low, preventing abnormal operation |
| Soft Start | Limits inrush current during startup |

---

## Common Chips Quick Reference

| Chip | Type | Vin | Vout | Iout | Frequency |
|------|------|-----|------|------|------|
| LM2596 | Buck | 4.5-40V | Adjustable | 3A | 150kHz |
| MP1584 | Buck | 4.5-28V | Adjustable | 3A | 1.5MHz |
| MT3608 | Boost | 2-24V | Adjustable | 2A | 1.2MHz |
| XL6009 | Boost | 5-32V | Adjustable | 4A | 400kHz |
| TPS5430 | Buck | 5.5-36V | Adjustable | 3A | 500kHz |

---
*Keywords: Linear Regulation, LDO, Switching Power Supply, Buck, Boost, PWM, Efficiency, Ripple, EMI*
