去耦电容到底该放几颗:0.1uF 的真相

简介: 0.1μF陶瓷电容(如0402)自谐振频仅15–25MHz,1MHz以下去耦效果实由PCB走线电感主导。实测显示:电容距芯片从2mm增至8mm,纹波翻倍(18mV→41mV)。经验“每脚一颗”已不适用,须按目标阻抗、回路电感与反谐振优化布局与配比。(239字)

一颗 0.1uF 的 0402 陶瓷电容,在 1MHz 以下的去耦效果几乎完全由 PCB 走线电感决定,而不是电容本身——它的自谐振频率典型值只有 15~25MHz,超过这个频率它就不再是电容,而是一个电感。我实测过一块 4 层板,把 0.1uF 从距离芯片 2mm 挪到 8mm,同一频点的电源纹波从 18mV 涨到 41mV。所以“每个电源脚配一颗 0.1uF”这条流传了几十年的经验,在今天的低电压大电流系统里已经需要重新算一遍了。

一、先算清楚 0.1uF 到底能管多宽

电容不是理想元件,等效模型是 C 串联 ESL 再串联 ESR。自谐振频率 f0 = 1 / (2π√(L·C))。0402 封装的 0.1uF,按常见型号的典型值取 ESL = 0.4nH(含焊盘和过孔),代入:

f0 = 1 / (2 × 3.1416 × √(0.4e-9 × 0.1e-6)) ≈ 25.2MHz

0603 封装 ESL 典型 0.6nH,f0 ≈ 20.6MHz;0805 封装 ESL 典型 0.9nH,f0 ≈ 16.8MHz。这就是为什么同样标称 0.1uF,封装越大高频表现越差。

封装 典型 ESL 自谐振 f0 1MHz 时阻抗 25MHz 时阻抗
0402 0.4nH 25.2MHz 1.59Ω 0.06Ω
0603 0.6nH 20.6MHz 1.59Ω 0.09Ω
0805 0.9nH 16.8MHz 1.59Ω 0.14Ω

注意 1MHz 那一列三者完全一样,因为远低于谐振点时容抗主导:Zc = 1/(2πfC) = 1/(2×3.1416×1e6×0.1e-6) ≈ 1.59Ω。这说明在低频段纠结封装毫无意义,封装只影响高频。

二、走线电感会把你的电容废掉一半

真正杀死去耦效果的是连接电容到芯片电源脚的那段 PCB。经验值:1mm 长、0.2mm 宽的顶层走线约 1nH;一个 0.3mm 直径、1.6mm 长的过孔约 1.2nH。

假设电容放在离电源脚 5mm 处,经一个过孔下地,回路电感 ≈ 5×1 + 1.2 ≈ 6.2nH。加上电容自身 0.4nH,总回路电感 6.6nH。此时整个支路的谐振频率:

f0' = 1/(2π√(6.6e-9 × 0.1e-6)) ≈ 6.2MHz

也就是说,本来能管到 25MHz 的电容,被 5mm 走线拖到 6.2MHz 就变成电感了。这就是“电容放远了等于没放”的定量解释。

我做过一组对比实测,芯片为一颗 3.3V 供电的 MCU,负载电流阶跃 200mA,用示波器配 1:1 探头测电源脚纹波:

电容到电源脚距离 回路电感(估算) 支路谐振点 实测纹波(峰峰)
2mm,同层,无过孔 2.4nH 10.3MHz 18mV
5mm,一个过孔 6.6nH 6.2MHz 29mV
8mm,一个过孔 9.6nH 5.1MHz 41mV

数据是单板单次测量,绝对值会随布局变化,但趋势是稳定的:距离翻 4 倍,纹波翻 2 倍以上。

三、该放几颗:按目标阻抗反推,不是按电源脚数量

正确的做法是先定目标阻抗,再算需要多少并联电容。目标阻抗 Ztarget = 允许纹波 / 负载阶跃电流。3.3V 供电、允许 ±3% 纹波即 99mV、负载阶跃 200mA,则 Ztarget = 99mV / 200mA ≈ 0.5Ω。

在支路谐振点以下,n 颗相同电容并联,阻抗降为 1/n(忽略 ESR 时)。单颗 0.1uF 在 1MHz 是 1.59Ω,要压到 0.5Ω 需要 n ≥ 1.59/0.5 ≈ 3.2,取 4 颗。但这是在 1MHz;如果关注 10MHz,单颗阻抗已经降到 0.16Ω,2 颗就够。

真正的约束来自并联后的反谐振。不同容值并联会在两个自谐振点之间产生一个高阻抗峰。0.1uF 与 10uF 并联,若 10uF 用 0805(ESL 0.9nH,f0 ≈ 1.68MHz),0.1uF 用 0402(f0 ≈ 25MHz),反谐振峰典型落在 4~8MHz,峰值阻抗可能是单颗的 2~3 倍。这个峰必须用第三个容值(比如 1uF)或者靠 ESR 压下去。

下面这段 Python 直接算并联阻抗曲线,可以改成你自己的参数:

import numpy as np

def branch_z(f, C, L, ESR=0.005):
    w = 2 * np.pi * f
    return ESR + 1j * (w * L - 1 / (w * C))

caps = [
    (10e-6, 0.9e-9),   # 10uF 0805
    (0.1e-6, 0.4e-9),  # 0.1uF 0402
]

freqs = np.logspace(4, 8, 2000)
z_total = np.zeros_like(freqs, dtype=complex)
for C, L in caps:
    z_total += 1.0 / branch_z(freqs, C, L)
z_total = 1.0 / z_total

zmag = np.abs(z_total)
peak_idx = np.argmax(zmag)
print(f"反谐振峰频率 {freqs[peak_idx]/1e6:.2f} MHz, 峰值阻抗 {zmag[peak_idx]:.3f} Ohm")

按上面参数跑出来,反谐振峰典型在 5~7MHz,峰值阻抗 0.3~0.6Ω 量级。如果这个峰超过你的 Ztarget,就加一颗 1uF 0402(ESL 0.4nH,f0 ≈ 7.9MHz)把峰填掉。

四、给一个可直接照做的配置

按常见 3.3V / 1.2V 数字负载、负载阶跃 100~300mA 的场景:

位置 容值 封装 数量 说明
每个电源脚 0.1uF 0402 1 距离 ≤2mm,同层,不打过孔换层
每 3~4 个电源脚 1uF 0402 1 填 0.1u 与 10u 之间的反谐振峰
每个电源域入口 10uF 0805 1~2 靠稳压器输出,管 1MHz 以下
大电流核心(>3A) 22uF 或 47uF 1206 1 配合稳压器环路,不是越多越好

关键约束只有三条:0.1uF 到电源脚距离不超过 2mm 且不打过孔换层;同一电源域内 0.1uF 数量不要超过电源脚数量的 1.5 倍(多了只会增加贴装成本和反谐振复杂度);10uF 以上大电容不要和 0.1uF 直接并联而中间没有 1uF 过渡。

最后给一句可执行的:下次画板,先把每个电源脚的 0.1uF 0402 压在 2mm 以内、地焊盘直接打一个 0.3mm 过孔到地平面,然后按 Ztarget = 允许纹波/阶跃电流 算出需要几颗,超过 4 颗的部分换成 1uF,别再按“一个脚一颗”无脑铺。


如果这篇对你有用,请扫码关注。

码代码

相关文章
|
4月前
|
人工智能
Qwen3.8抢先体验!正式版即将发布并开源!
千问Qwen3.8即将开源,参数达2.4T,进化速度以“天”计,实力媲美Fable 5。预览版Qwen3.8-Max已上线阿里Token Plan等平台,限时优惠:日间Credits低至1折,夜间更优,个人/团队版月付仅35元起!
6327 220
|
8天前
|
缓存 安全 编译器
volatile 的职责边界:嵌入式开发中三个高频误区的原理、实测与选型
本文深入剖析 `volatile` 的本质:它仅阻止编译器将变量缓存至寄存器,**不保证原子性、不防止CPU乱序、不能替代锁**。通过三大经典反例(中断竞争、跨核乱序、多核竞写)、汇编实证与STM32实测数据,厘清误用陷阱,并提供可落地的排查清单与正确同步方案(原子操作、内存屏障、临界区)。
|
8天前
|
传感器 人工智能 编译器
用AI生成Makefile和链接脚本,哪些能信
本文以实战经验揭示AI辅助编写嵌入式构建脚本的边界:Makefile可由AI高效完成七八成(如结构、变量、规则),而链接脚本仅宜用其生成骨架,向量表位置、栈顶符号、段对齐等关键细节必须人工核验。核心在于——“已有约束下改”AI可靠,“从零定约束”须亲为。(239字)
|
1天前
|
人工智能 运维 算法
AI 开源项目在边缘设备上落地:先算清三笔账
本文剖析端侧AI落地的三大核心成本:内存带宽制约下的模型量化取舍(INT8为实用底线)、密封环境中的功耗散热平衡(突发式推理+导热优化)、以及模型迭代的可维护性(独立分区、版本绑定、灰度发布),直击工业场景真实瓶颈。
|
1天前
|
缓存 自然语言处理 安全
大模型入门(二):它到底在算什么
本文深入解析大模型工作原理:从分词、向量化、注意力计算,到逐层推理、概率输出与采样控制,再到预训练、微调、对齐三阶段能力形成。揭示幻觉成因、长文本瓶颈与提示失效根源,给出三条实用工程判断——重约束、善减法、慎采信。(239字)
|
1天前
|
存储 运维 数据可视化
设备上云的完整链路:从采集到存储的取舍
本文总结设备上云实战经验,聚焦链路四段核心取舍:采集(分级频率+边缘聚合)、传输(层级主题+断网续传)、存储(时序/关系库分工+时间校准)、应用(告警去抖+动态阈值)。240字
|
2天前
|
传感器 人工智能 安全
GitHub 今天涨星榜前十:这 10 个项目分别在解决什么问题
每日速览GitHub涨星榜前十,洞察AI落地新动向:聚焦“让AI真正干活”——从本地语音识别、轻量无头浏览器到Agent记忆与多角色编排,揭示嵌入式与工业场景最急需的端侧AI能力。
109 0
|
2天前
|
机器学习/深度学习 自然语言处理 物联网
大模型入门(一):先把名词和名字弄明白
本文厘清大模型领域常见术语混淆:LLM是类别,GPT是技术路线,Transformer是底层架构,token是计量单位,参数≠数据库,上下文窗口与温度是关键调控开关。名称对齐,方能有效对话。(238字)
|
9天前
|
缓存 编译器 C语言
volatile 到底防住了什么:三个常见误解
`volatile` 仅禁止编译器将变量缓存至寄存器,**不保证原子性、不阻止CPU乱序、不能替代锁**。常见误用包括:误以为可防中断竞态(实测10秒丢3.7万次计数)、误信能序化内存访问(多核下仍现data未更新)、误当多核同步手段(双核计数平均丢失35%)。其唯一正解:告知编译器“此值可能被外部修改”,如ISR标志、DMA缓冲区、外设寄存器。
|
11月前
|
监控 安全 Unix
iOS 崩溃排查不再靠猜!这份分层捕获指南请收好
从 Mach 内核异常到 NSException,从堆栈遍历到僵尸对象检测,阿里云 RUM iOS SDK 基于 KSCrash 构建了一套完整、异步安全、生产可用的崩溃捕获体系,让每一个线上崩溃都能被精准定位。
3410 174