发布时间:2026/8/28 11:42:13
电容去耦半径怎么算?我写了个工具 上一篇文章讲了去耦电容为什么要靠近芯片放根本原因是电磁波在 FR4 里传播速度不够快。那问题来了到底放多远算近有没有一个量化的标准有叫去耦半径。这篇文章不讲原理上一期讲过了直接给计算方法和一个能跑的工具。去耦半径怎么算核心就四步第一步自谐振频率电容不是在所有频率下都表现为电容。超过自谐振频率SRF后它就变成电感了不再去耦。SRF 1 / (2π√(L·C))L— 寄生电感芯片ESL 安装电感C— 电容容值第二步波长我们知道电磁波在 FR4 中的速度大约是 6 英寸/纳秒。有了频率就能算波长波长 速度 / 频率在 FR4 中波长 6×10⁹ (inch/s) / SRF (Hz)第三步去耦半径电容的有效去耦距离大约为波长的 1/50。这个系数是工程经验值。去耦半径 波长 / 50第四步修正系数实际设计中还需要考虑两个因素安装电感— 过孔和走线会额外增加 ESL2 个过孔约 1.0nH每 mm 走线 0.04nH这会降低 SRF拉长波长最终半径反而变大——但不要高兴太早芯片瞬态需求— 芯片的 dI/dt电流变化率和允许纹波决定了有效时间窗口。dI/dt 越大纹波要求越严有效半径越小所以最终推荐半径要除以一个安全系数通常是 2~10 倍。我写了个计算工具为了让这个计算可重复我写了个 C 语言工具。这是我的日常工作习惯——与其每次估算不如写个程序跑。快速估算模式 1只输入容值和 ESL出理论值和建议设计值选择模式1 输入电容容值 (uF): 0.1 芯片ESL (nH, 如 0402 约 0.4): 0.4 电容值: 0.100 uF 芯片ESL: 0.40 nH SRF: 25.2 MHz 理论值: 121 mm 建议设计值: 36 mm也就是说0.1uF 的 0402 电容建议设计时放在离 IC 引脚 36mm 以内。精确计算模式 2如果还想更准输入安装参数和芯片瞬态参数选择模式2 电容容值 (uF): 0.1 ESL (nH): 0.4 过孔数量: 2 走线长度 (mm): 0.5 dI/dt (A/ns): 1.0 允许纹波 (mV): 50 芯片ESL: 0.40 nH 安装电感: 1.02 nH 总寄生电感: 1.42 nH dI/dt安全系数: 2.0 x SRF: 25.2 MHz 理论值: 121 mm 实际值: 228 mm 建议设计值: 114 mm注意实际值虽然变成了 228mm但安全系数把它压到了 114mm。如果你的芯片 dI/dt 更大纹波要求更严这个数值还会进一步缩小。对照表模式 3直接看 0.1uF 到 100uF 九种常用电容的推荐半径容值SRF推荐半径适合场景0.1uF25.2 MHz48 mm高频去耦0.47uF11.6 MHz105 mmIO/核供电1uF8.0 MHz153 mm核供电2.2uF5.4 MHz227 mm中频去耦4.7uF3.7 MHz332 mm中频储能10uF2.5 MHz484 mmDDR VTT22uF1.7 MHz712 mm低频平滑47uF1.2 MHz1045 mmBulk100uF0.8 MHz1532 mmBulk代码实现核心计算逻辑其实很短就是 SRF 和波长的公式套用// 自谐振频率 double SRF 1.0 / (2 * PI * sqrt(L_total * C)); // 波长 (FR4中) double lambda LIGHT_SPEED_INCH / SRF; // 去耦半径 double R_mm (lambda / RADIUS_FACTOR) * INCH_TO_CM * 10; // 安全系数 (dI/dt修正) double factor (didt / 0.5) * (50.0 / v_ripple); // 推荐半径 double R_rec R_mm / factor;几个实际结论做完这个工具几个值得记住的数字电容建议设计半径意味着什么0.1uF 0402~36 mm必须紧贴 IC 引脚通常不超过一个手指宽1uF 0603~115 mm可以放稍远但最好在同一侧10uF 0805~290 mm中频去耦板级范围内基本都行100uF~920 mmBulk 电容放板子哪里都行这些数值已经包含了安装电感和安全系数。如果芯片是高速器件CPU/DDR/SerDes建议打五折。写在最后工具不复杂但能用。每次画板放去耦电容的时候跑一下这个程序心里就有数了——是不是真的在有效半径内还是 差不多就行 然后等着改板。#include stdio.h #include math.h #define PI 3.1415926535 #define LIGHT_SPEED_INCH 6e9 // 电磁波在FR4中的速度 (inch/s) #define INCH_TO_CM 2.54 // 英寸转厘米 #define RADIUS_FACTOR 50.0 // 去耦半径 波长 / 50 // 常用电容封装的典型ESL (nH) struct cap_package { char name[10]; double esl_nh; }; // 安装电感估算过孔数量 走线长度 - 额外 ESL (nH) double calc_mounting_inductance(int via_count, double trace_length_mm) { double via_L via_count * 0.5; // nH, 每个过孔 ~0.5nH double trace_L trace_length_mm * 0.04; // nH, 每mm走线 ~0.04nH return via_L trace_L; } // 计算dI/dt安全系数也快越严半径越小 double calc_safety_factor(double di_dt_A_per_ns, double v_ripple_mV) { // 基准dI/dt 0.5 A/ns, Vripple 50mV - 系数 1.0 // dI/dt 越大或 Vripple 越小 - 系数越大 - 半径越小 double base_didt 0.5; double base_ripple 50.0; double factor (di_dt_A_per_ns / base_didt) * (base_ripple / v_ripple_mV); if (factor 1.0) factor 1.0; if (factor 20.0) factor 20.0; return factor; } int main() { struct cap_package packages[] { {0201, 0.3}, {0402, 0.4}, {0603, 0.6}, {0805, 0.8}, {1206, 1.2}, {1210, 1.5} }; int pkg_count sizeof(packages) / sizeof(packages[0]); int mode; printf(\n); printf( 电容去耦半径计算工具 v2.0\n); printf(\n\n); printf(选择模式\n); printf( 1 - 快速估算\n); printf( 2 - 精确计算含安装电感 dI/dt修正\n); printf( 3 - 常用电容对照表\n); printf(请输入 (1/2/3): ); scanf(%d, mode); double C, L_chip_nh, L_mount_nh 0; double didt 0.5, vripple 50; if (mode 1 || mode 2) { double cap_val_nf, esl_nh; printf(\n输入电容容值 (uF, 如 0.1 0.1uF, 1 1uF): ); if (scanf(%lf, cap_val_nf) ! 1) { printf(输入无效使用默认值 0.1uF\n); cap_val_nf 0.1; while(getchar() ! \n); // 清空输入缓冲 } printf(芯片ESL (nH, 如 0402 约 0.4): ); if (scanf(%lf, esl_nh) ! 1) { printf(输入无效使用默认值 0.4nH\n); esl_nh 0.4; while(getchar() ! \n); } C cap_val_nf * 1e-6; // uF - F L_chip_nh esl_nh; if (mode 2) { int via_cnt 2; double trace_len 0.5; printf(\n--- 安装参数 ---\n); printf(过孔数量 (Enter默认 2): ); if (scanf(%d, via_cnt) ! 1) { via_cnt 2; while(getchar()!\n); } printf(焊盘到过孔走线 mm (Enter默认 0.5): ); if (scanf(%lf, trace_len) ! 1) { trace_len 0.5; while(getchar()!\n); } L_mount_nh calc_mounting_inductance(via_cnt, trace_len); printf(\n--- 芯片瞬态参数 ---\n); printf(dI/dt A/ns (Enter默认 0.5): ); if (scanf(%lf, didt) ! 1) { didt 0.5; while(getchar()!\n); } printf(允许纹波 mV (Enter默认 50): ); if (scanf(%lf, vripple) ! 1) { vripple 50; while(getchar()!\n); } } double L_total_nh L_chip_nh L_mount_nh; double L_total L_total_nh * 1e-9; // 理论半径仅芯片ESL double f_chip 1.0 / (2 * PI * sqrt(L_chip_nh * 1e-9 * C)); double lam_chip_inch LIGHT_SPEED_INCH / f_chip; double R_chip_mm (lam_chip_inch / RADIUS_FACTOR) * INCH_TO_CM * 10; // 实际应参考的半径用总电感芯片安装 double f_total 1.0 / (2 * PI * sqrt(L_total * C)); double lam_total_inch LIGHT_SPEED_INCH / f_total; double R_total_mm (lam_total_inch / RADIUS_FACTOR) * INCH_TO_CM * 10; // 推荐半径受 dI/dt 限制进一步压缩 double factor calc_safety_factor(didt, vripple); double R_rec_mm R_total_mm / factor; printf(\n\n); printf( 计算结果\n); printf(\n); printf( 电容值: %.3f uF (%.0f nF)\n, C * 1e6, C * 1e9); printf( -----------------------------------------\n); printf( 芯片ESL: %.2f nH\n, L_chip_nh); if (mode 2) { printf( 安装电感(过孔走线): %.2f nH\n, L_mount_nh); printf( 总寄生电感: %.2f nH\n, L_total_nh); printf( dI/dt: %.2f A/ns\n, didt); printf( 允许纹波: %.0f mV\n, vripple); printf( dI/dt安全系数: %.1f x\n, factor); } printf( -----------------------------------------\n); printf( 自谐振频率(SRF): %.1f MHz\n, f_chip / 1e6); printf( -----------------------------------------\n); printf( 去耦半径参考值:\n); if (mode 1) { double r_suggest R_chip_mm * 0.3; printf( 理论值: %5.0f mm (仅芯片ESL, 理想情况)\n, R_chip_mm); printf( 估算实际值: %5.0f mm (含安装电感, 估算)\n, R_chip_mm * 0.5); printf( ════════════════════════════════════════\n); printf( ▶ 建议设计值: %5.0f mm ✅\n, r_suggest); printf( ════════════════════════════════════════\n); printf( (按理论值的30%%估算, 含安装电感安全余量)\n); if (r_suggest 10) { printf( ⚠️ 建议设计值 10mm必须紧贴IC引脚放\n); } } else { printf( 理论值: %5.0f mm (仅芯片ESL)\n, R_chip_mm); printf( 实际值: %5.0f mm (含安装电感)\n, R_total_mm); printf( ════════════════════════════════════════\n); printf( ▶ 建议设计值: %5.0f mm ✅\n, R_rec_mm); prin

相关新闻

2026/8/26 20:55:48

Velog用户认证系统:社交登录与邮箱验证的实现

Velog用户认证系统:社交登录与邮箱验证的实现 【免费下载链接】velog-client 项目地址: https://gitcode.com/gh_mirrors/ve/velog-client Velog是一款功能强大的开源博客平台,其用户认证系统采用了社交登录与邮箱验证相结合的方式,为…

2026/8/25 7:16:10

SpringBoot项目从零搭建:那些容易忽略的配置细节

你自以为熟悉的Spring Boot,其实藏满了坑 一个看似简单的SpringBootApplication注解,背后是自动配置的魔法,也是无数开发者在深夜崩溃的根源。当你按照官方文档或教程用IDEA向导生成一个项目,兴奋地跑起第一个Hello World时&…

2026/8/29 4:06:47

月薪3万程序员吐露心声:2026年了,别被忽悠去学Python了!

要是在你的朋友圈里头, 还未曾出现过“零基础去学, 轻轻松松月入过万”、“每日只需半小时, 就能告别那死工资”这样的广告, 那么你或许用的是一部假手机。不知自什么时候起始, 这门编程语言被抬高至神坛之上。贩售课程的机构将其吹嘘成所谓“印钞机”, 从事培训的把它渲染为“…

2026/8/29 4:06:47

Python零基础到就业完整学习路线:从语法到项目实战

过去几年我接触了不少刚入门的同学,大家问得最多的不是“怎么学 Python”,而是“我该从哪开始学”“学多久能写项目”“报错看不懂怎么办”。Python 确实是一门非常适合零基础入门的语言,但网上的学习资料太杂,今天这套软件、明天…

2026/8/29 4:06:47

Python Web开发全览从前端到后端

使用语言来开展Web应用程序开发的这个过程, 被称作Web开发, 它包含了前端设计以及后端开发等多个不同方面, 凭借简洁、易读还有功能强大这些特性, 在Web开发领域受到广泛欢迎。一、前端设计前端设计, 属于Web开发关键部分当中的一个, 主要关联用户界面构建以及动态内容生成, 提…

2026/8/29 4:06:47

Node.js 中 `npm install` 命令分析-Day30

一、引言 在 Node.js 项目中,package.json 是项目的"身份证",它定义了项目的元数据、脚本命令以及最重要的——依赖列表。当我们执行 npm install 时,npm 会读取这个文件,解析依赖关系,最终生成 node_modul…

2026/8/29 4:06:47

python中函数的定义及调用

在之中函数属于一段能够重复去使用的代码块, 其作用在于执行特定的任务, 在后续的代码书写进程当中函数可以说是到处都能见到, 函数能够承受输入参数, 并且能够返回输出结果, 它的大致语法结构是如此这般的:首先用一个D关键字来表明要创建一个函数。给“D”接上一个函数的名称,…

2026/8/28 16:16:17

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/28 16:16:21

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 16:16:22

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/29 0:01:10

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:01:10

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:01:10

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/28 16:16:48

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/28 16:16:50

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/28 11:06:45

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…