news 2026/10/24 4:35:58

无片外电容LDO设计:从环路稳定性到补偿的完整实战指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
无片外电容LDO设计:从环路稳定性到补偿的完整实战指南

1. 为什么初学者第一次做LDO,我首推无片外电容这种“地狱模式”

1.1 传统LDO的舒适区:外接大电容把稳定性问题藏了起来

传统低压差线性稳压器(LDO)的标准画法,是输出端挂一个1μF甚至10μF的陶瓷电容。这个电容带来的好处,初学者往往意识不到:它把输出节点的等效阻抗压得极低,输出极点被牢牢钉在几十赫兹到几百赫兹的位置,成为整个环路的主极点。只要你的误差放大器次极点落在带宽之外,相位裕度几乎不用怎么操心。大电容还顺带承担了负载瞬态响应的大部分能量——当负载从1mA瞬间跳到50mA,电容先放电顶着电压,环路再慢慢调整功率管栅极,过冲和下冲都能控制在吓人的水平。

所以传统LDO设计的新手任务,基本就是“套一个反馈网络,调一下EA增益,确认带宽合适”,大部分心思花在压差、静态电流、噪声这些指标上。稳定性问题被那颗电容一遮,很多时候你根本不知道自己在躲避什么。

1.2 无片外电容LDO“逼”你从头理解反馈环路

无片外电容LDO(业内常叫Capless LDO或Output-Capacitorless LDO)的设计语言完全不同:输出端只有寄生电容和可选的少量片上去耦电容,那颗十拿九稳的低频主极点消失了。输出极点变成了一个随负载电流大幅度移动的“游标”,你必须在没有外部电容兜底的情况下,自己把整个零极点图扳正。

我之前带过A同学做这个题目,他前两周还在按传统LDO的思路设计,结果stb跑出来轻载相位裕度只有十几度,直接开始怀疑人生。后来被迫把EA输出阻抗、功率管栅极寄生、buffer等效输出阻抗、输出节点的移动极点全部啃了一遍,才算真正弄明白“环路稳定”这四个字是什么意思。做完之后他自己说,再看其他模拟模块,脑子里会自动开始画零极点,而不是只盯增益那几个数字。

1.3 在实际SoC里,无片外电容LDO是刚需

无片外电容LDO不是实验性质的玩具。现在一颗SoC里面几十路电源轨,每个LDO都外挂一颗大电容,引脚和板级面积都不可接受。所以集成度越高的芯片,越需要能靠片内补偿稳住的LDO,同时还要保证负载阶跃时的电压跌落控制在容差内。130nm工艺虽然不算先进,但它的模型成熟、流片成本低,把无片外电容LDO里最核心的稳定性问题做透之后,再往更小尺寸工艺迁移,方法论是完全通用的。

所以我的建议很直接:如果你是认真想练模拟设计基本功的人,第一颗LDO就这样做,别走传统LDO那条“轻松路”。

2. 稳定性才是最大的坎:为什么去掉大电容后极点会乱跑

2.1 输出极点不再可靠,负载一变它就跑

先看输出节点的极点频率,大概估算为:

fp_out ≈ 1 / (2π × Rout × CL_out)

其中Rout是输出节点等效电阻,约等于负载电阻RL与功率管输出阻抗ro_p的并联;CL_out是输出节点的总电容,包括寄生电容和片上去耦电容。因为功率管输出阻抗通常远大于负载电阻,重载时Rout主要由RL决定。负载电流从0.1mA到50mA变化,RL可能从几千欧掉到几十欧,输出极点的位置可以横跨几个数量级。

传统LDO外挂大电容时,CL_out被外部电容顶到微法量级,fp_out低到几十赫兹,RL怎么变都压不住它,主极点位置几乎不动。无片外电容LDO的CL_out往往只有几十皮法,fp_out就变成一个极不可靠的角色:轻载时它掉进低频,重载时它冲向高频。你无法再用“把它当主极点再用带宽躲开”的简单策略,因为它在重载时会跑到带宽里去。

2.2 功率管栅极是另一个藏雷的地方

功率管栅极节点也是典型的高阻点。EA输出阻抗动辄几百千欧到兆欧级,直接驱动功率管时,栅极寄生电容Ccgs、Cgd等会和这个高阻形成很低的次极点。这个次极点有两个麻烦:第一,它本身位置不好控,栅电容不随负载变化,但EA输出阻抗受偏置电流和corner影响;第二,在轻载时,这个次极点可能落在单位增益带宽之内,直接吃掉相位裕度。

解决这个问题的标准动作是加一级源跟随器buffer。源跟随器的输入阻抗很高,不增加EA的负载;输出阻抗很低,可以快速驱动功率管栅极。栅极节点的等效阻抗被拉低之后,那个原本危险的次极点被推到高频,环路从“双高阻极点”变成“一个可控主极点加一个高频次极点”的结构。这一步几乎是无片外电容LDO的标配,几乎所有能稳定的结构里都会看到它的影子。

2.3 反直觉的结论:轻载往往比满载更危险

我当时做第一版时犯过这个错:所有精力都花在满载50mA的瞬态最优上,结果用1mA负载跑stb,相位裕度直接跌破20度。原因是满载时功率管gm大、环路增益高,同时负载电阻小,输出次极点很高,稳定和响应都容易做好。而轻载时负载电阻极大,输出极点掉到低频,如果环路带宽还保持在同一水平,次极点就会擦着带宽边缘甚至越过去,振荡随之而来。

工程上有两种常见应对。一是给LDO设计一个固定的最小拉载电流,比如在输出节点挂一个常开的片上下拉电流源,让输出电阻不会无限大,把输出极点顶到一个可预测的位置。代价是额外消耗一点静态电流,对大多数低压供电轨完全能接受。二是在补偿网络上下工夫,让主极点的位置随负载变化自适应调整,这就是所谓“自适应频率补偿”的思路。对初学者来说,第一种方法简单可靠,适合先跑通;第二种方法可以等第一版稳定之后再研究。

3. 架构选型:用最朴素的方式搭一个能闭环的LDO

3.1 先给一版适合初学者的设计指标

做设计一定要先定规格,没有spec就无法判断仿真结果对错。用130nm工艺做无片外电容LDO,我给出一组比较合理的入门指标,也是我习惯作为起点的配置:

参数符号设计目标备注
输入电压Vin2.7V ~ 3.6V3.3V电源域
输出电压Vout1.8V固定输出
最大负载电流Iload_max50mA可继续扩展
最小负载电流Iload_min0.1mA关注轻载稳定性
静态电流Iq< 40μA不含功率管静态电流
压差电压Vdropout< 300mV @50mA决定功率管尺寸
负载瞬态过冲/下冲ΔVout< 100mV20%~80%负载阶跃
相位裕度PM> 50°所有corner和负载条件

这个指标做出来的芯片面积不会太大,仿真时间也能接受。如果你想更激进,可以把Iload_max提到100mA,但功率管面积和压差设计都要跟着调整,不建议第一次就压极限。

3.2 结构推荐:EA + 源跟随buffer + PMOS功率管

我推荐初学者先搭一个三层结构:第一级是高增益误差放大器EA,第二级是源跟随器buffer,第三级是PMOS功率管。反馈网络用电阻分压从Vout采样送到EA反相输入端,基准电压Vref接到同相输入端。

EA的作用是提供足够的直流增益,让线性调整率和负载调整率都能做上去。Buffer的作用前面说过,就是降低功率管栅极阻抗,把危险的次极点推走。PMOS功率管的源极接Vin,漏极接Vout,本质上是一个共源放大级,把栅极电压的变化转换成功率管电流的变化。

这个结构最大的好处是每一级的职责非常清晰,调试时出了问题能快速定位——增益不够就去查EA,轻载振荡先看buffer,瞬态过冲太大就回头调带宽和功率管尺寸。对比论文里常见的反转跟随器LDO或者超级源跟随器结构,这种经典三级环路的性能不会最顶尖,但它是正确的学习路线。

3.3 功率管尺寸粗算:先把导通电阻做够

功率管的尺寸直接决定最大负载能力和压差。以50mA最大负载、300mV压差为目标,要求功率管导通电阻大约为:

Ron ≈ Vdropout / Iload_max = 300mV / 50mA = 6Ω

130nm工艺下,PMOS管在低压差工作点通常处于线性区。粗算时可以按μpCox(W/L)约为50μA/V²的量级估,具体数字要查PDK模型,但思路是先用Iload_max和Vdropout定出导通电阻,再反推W/L。以典型参数估算,W/L可能需要几百到上千;如果取L=0.5μm,那么W可能要几百微米到毫米级别。这还不是最夸张的,后续版图里功率管会占去很大一块面积,这是正常现象。

这里有个新手常犯的错误:以为功率管越大越好。管子大了栅电容也大,buffer的驱动压力成倍增加,瞬态时栅极充放电跟不上,反而会拖垮稳定性和恢复时间。所以尺寸计算应该由压差指标驱动,而不是盲目往上堆。

3.4 EA和buffer的偏置考虑

EA的输入对管可以用PMOS差分对,也可以nMOS差分对。电源电压2.7V时,PMOS输入更省心,输入共模范围覆盖Vref附近比较容易。EA的尾电流源给3μA到5μA就可以,增益做到40dB以上;如果想要更高增益,可以用套筒共源共栅结构,但会压摆幅,对初学者可以先不做。

Buffer是源跟随器,NMOS源跟随器比较常见。它需要给功率管栅极提供充放电电流。负载从轻载跳到满载时,功率管栅极要被快速拉低来增大电流,这个电流就来自buffer。如果你发现瞬态仿真里Vout恢复很慢,多半是buffer的静态电流不够,把它的偏置电流加到10μA到20μA会明显改善。当然,静态电流也会跟着涨,这里要做取舍。

反馈分压电阻的取值也放在架构阶段想清楚:流过两个反馈电阻的电流应该远小于静态电流预算,同时又要让节点阻抗不至于太高。常用区间是几十千欧到几百千欧,取电阻分压电流在2μA到5μA即可。

4. 补偿细节:把主极点放对位置,把次极点推出去

4.1 米勒补偿仍然是首选,但要配调零电阻

在我的经验里,无片外电容LDO要稳定,几乎所有拓扑都离不开某种形式的频率补偿。对EA+buffer+PMOS结构来说,最早、也最好用的方案是米勒电容跨接在EA输出端和Vout之间,利用密勒效应把较大的等效电容“搬”到EA输出高阻节点上,在那里形成稳定的主极点。

这里有一个很多资料不会明说的要点:米勒电容的取值不能拍脑袋。取太小,极点分裂效果不足;取太大,带宽被压得过低,瞬态响应变得一塌糊涂。对50mA级别、带宽目标在几百kHz到1MHz的设计,米勒电容从几pF起步,根据stb结果逐步调整。还有一个伴随出现的右半平面零点,这是米勒补偿的天然副作用,由跨接电容和功率管跨导共同产生。这个零点会造成相位提前恶化,如果不去掉,高频相位裕度会被进一步透支。

4.2 调零电阻:把右半平面零点扳回左半平面

常规做法是在米勒电容支路上串联一个电阻Rz,人为把零点移入左半平面,并让它和某个次极点配对抵消。Rz的典型取值可以从几十千欧到几百千欧,具体要看米勒电容和功率管跨导。一个建议的调试顺序是:

  1. 先把对地补偿电容或多余的杂散电容清干净,只看米勒电容的单极点效果;
  2. 用stb跑出相位曲线,记下单位增益频率和相位裕度;
  3. 给米勒电容串上Rz,从较大值开始往下扫,观察相位曲线是否出现“上凸”;
  4. 把Rz调到相位上凸最明显且稳定性余量最大的位置,再回头微调Cc。

这个顺序可以让你的每次调节都有明确目的,而不是来回乱试。需要注意,Rz太小或太大都会让补偿失效:太小零点还在右半平面附近,太大零点被推到很低频,可能影响低频相位。

4.3 片上小电容:能用还是用一点

无片外电容LDO不代表完全不许有片上电容。在输出节点放几十到几百pF的片上去耦电容,既能帮助压低输出极点的位置,也是提升负载瞬态响应的直接武器。130nm工艺下,MOS电容的密度足够你放几百pF而不会太心疼面积。

但片上去耦电容有两个坑:第一,MOS电容是非线性的,反型电容随电压变化漂移,大信号瞬态下等效容值在变,stb仿真时的小信号AC结果不能完全代表真实行为,所以一定要配合tran验证极端负载跳变。第二,电容放在版图哪里很关键,如果离功率管漏极和输出pad太远,中间的金属电阻和寄生电感会让这个电容在高频下“失效”。谁都希望在输出节点看到的是一个干净的理想电容,但在物理实现时它会带上寄生尾巴。

4.4 最坏情况的组合要心里有数

不同corner、温度和负载的组合下,环路的性能表现差异极大。以SMIC 130nm工艺的经验来说,至少要把下面几组当成必测项:

组合典型表现重点关注
ss corner、85℃、轻载迁移率低、阈值高,环路增益低,输出极点低频相位裕度、振荡风险
ff corner、-40℃、满载迁移率高,带宽最大,瞬态最激进带宽是否过大、次极点位置
tt corner、25℃、中等负载日常典型状态作为基准调节补偿
多组负载电流扫描轻载到满载覆盖所有极点位置找出PM最差的工作点

初学者最容易犯的错就是只在tt corner和1mA负载下看到PM>60就宣布设计完成,等流片回来才发现ss corner下轻载振荡。后仿和corner矩阵扫描是必须的,这一点后面第五章再展开。

5. 仿真验证:stb只是开始,瞬态和PSR要一起看

5.1 stb testbench的连接姿势:一个tip让结果更可信

我在跑stb时,习惯把反馈采样点放在反馈电阻网络和EA反相输入之间,用Spectre的stb分析直接在断开点插入探针(iprobe)。这个方法的优点是探针位置的直流工作点很容易保持一致,不会因为人为附加偏置源而破坏环路原貌。设置时,先把反馈环路断开,插入iprobe,然后选stb模式,不需要额外加AC激励源,工具会自动带入环路激励。

新手容易犯的错误是stb仿真时忘了把负载条件做齐全。有很多次我看到别人测出来PM很高,结果负载电流只设了一个值。无片外电容LDO恰好在轻载和重载两端都可能出问题,所以必须把Iload从0.1mA到满载扫一遍,看PM曲线包络。最好写个脚本,对每个corner、温度、负载组合都跑一次stb,把相位裕度结果汇总成表格。

5.2 负载瞬态仿真:过冲和恢复时间谁更关键

瞬态仿真的标准做法是在输出端挂一个理想电流源作为负载,从满载的20%跳到80%或从1mA跳50mA,观察Vout的过冲、下冲和恢复时间。这里要给仿真器设一个足够小的maxstep,否则那些几十纳秒的振铃会被直接滤掉,你会误以为环路很稳。

实操中的普遍规律是:环路带宽越宽,负载瞬态过冲越小,但稳定性余量越薄;带宽越窄,越稳,但瞬态恢复拖沓。你需要做的是在给定PM余量前提下,尽可能把带宽顶高。如果仿真里看到输出在下冲之后还跟着一串衰减振荡,说明相位裕度偏低,最好是趁这个时候回头查补偿,而不是用假收敛掩盖问题。

5.3 PSR:无片外电容LDO的天然软肋

电源抑制比(PSR)曲线要单独跑。在Vin上加一个小信号AC,在Vout上看衰减量。低频时PSR主要由环路增益决定,你的EA增益有40dB以上,低频PSR大致能到-40dB甚至更好。高频时环路增益已经掉下去,衰减主要靠功率管输出阻抗和输出电容,而无片外电容LDO没有外部大电容,高频PSR通常只有-10dB到-20dB,甚至更差。

如果这块LDO后面要供给RF或模拟敏感电路,我通常会建议再加一级RC滤波或第二个LDO,而不是指望这一级偷偷把高频纹波压下去。PSR不好是结构决定的,靠换补偿很难有本质改变。

5.4 电源地路径的寄生:别太早加,也别一直不加

初学者很容易在初版仿真时就给Vin串一个大电感、给地串一个大电阻,结果所有指标都难看,还找不到根因。我的做法分两步:裸环设计阶段,尽量不加封装和引脚寄生,只看电路本身能不能闭环稳定;版图基本完成后,再把bonding线电感、封装引脚电容、PCB走线寄生加进去做最终确认。如果裸环在多种corner下已经有足够的PM余量,加上寄生后的表现通常不会有断崖式恶化,这样排查问题也更干净。

6. 版图落地:130nm工艺里那些容易被忽视的动作

6.1 功率管布局:指宽、走线与通孔都是性能的一部分

功率管的W/L数值动辄几百微米比零点几微米,版图上必须做成多指折叠结构。指宽的选择很讲究:通指宽偏大,栅极多晶硅电阻会变大,EM风险高;通指宽偏小,源漏区的边界电容占比上升。对130nm工艺,单指宽度取5μm到10μm是比较稳妥的起点,具体以电流密度规则和EM检查结果为准。

金属走线也必须按电流密度规划。功率管漏极到输出pad之间的金属要走足够宽,孔(via)要成阵列打过,否则大电流下金属会熔断或IR drop太大,直接吃掉你的压差余量。我见过有人在功率管源漏上方只走了一层金属,满载仿真时IR drop超过100mV,整个设计指标直接失效。

6.2 EA和偏置电路的匹配性

差分输入对的失配会转化为输入失调电压,直接影响输出电压精度。130nm工艺下,匹配关系基本遵循经典版图规律:用common centroid结构,周围加dummy管,两边保持对称;有源镜像电流源也尽量放在同一块隔离区内,温度梯度保持一致。偏置电阻如果阻值很大,要注意高阻节点不能长距离走线,否则微弱的漏电电流会在节点上产生不小的电压偏移。

6.3 片上去耦电容的位置:靠近输出主干,别给寄生留机会

前面说过,输出节点放几十到几百pF的片上去耦电容是划算的。摆放原则是:电容的一端尽量贴住Vout金属主干,另一端直接接地或接电源,中间不要穿太多层过孔,也不要让功率管到pad的电流路径被电容接入点“截断”而增加有效电感。我在调试一个仿真模型时发现,同样的200pF电容,摆得离pad近一点和远一点,在20MHz附近PSR能差出6dB,高频相位特性也有可见不同。

6.4 ESD保护结构带来的寄生必须算进去

输出pad上通常要加ESD保护结构,它的寄生电容和漏电流会被直接加到输出节点上。对普通电路来说,几十fF到几百fF的寄生可能无关痛痒,但无片外电容LDO的输出节点本来就是最敏感的区域,ESD管的电容可能和对地杂散电容相当,必须把这部分寄生模型带入后仿。如果不带,你的后仿稳定性和实测可能会有明显出入。

7. 振荡了怎么办:按这套排查思路走,别乱调补偿

7.1 先排除“假振荡”:仿真步长和负载条件

仿真波形如果出现高频振铃,第一件事不是怀疑补偿,而是看这个振铃是不是因为tran的maxstep设得太大,错过了一些真实的转折点。把maxstep改成振荡周期的1/10再跑一次,如果振铃消失且波形平滑,说明之前是数值假象。第二步检查负载电流是否已经出现在stb里扫过的覆盖范围内,很多“仿真里振荡”其实就是某个负载点恰好落在PM谷里。

7.2 stb说稳但瞬态在振的经典原因

我整理过一张自查表,遇到这种矛盾基本可以按下面几项逐一核对:

现象可能原因验证手段
stb PM不错,但瞬态有长尾振铃补偿电容非线性,AC小信号结果与tran大信号不一致把tran的负载阶跃幅度降低再看
轻载振荡,重载正常输出极点随负载跑到带宽附近,PM谷在轻载扫Iload的PM曲线,确认谷点
换corner后突然振荡Rz和Cc组合只针对tt corner,ss/cff下极点移动重新扫Rz和Cc的corner敏感性
带上parasitic后PM骤降功率管栅极或输出节点的额外寄生电容改变极点位置单独逐项加寄生,定位最大贡献者
高频振铃频率远超带宽多半是buffer或偏置环路局部振荡,不是主反馈环断开主反馈,单独仿真buffer环路

7.3 两个实用守则

守则一是所有corner稳定之后,再把带宽“往回压一档”。模型和实际流片之间永远存在偏差,仿真里PM=50勉强糊弄过去,实测很可能只剩40不到。我习惯至少留出10到15度的余量,宁可用带宽换一点稳定性。

守则二是建立扫参脚本,把corner、温度、负载电流、补偿电阻做成矩阵扫描,一次性把PM最差的组合挑出来。手工仿真只会记住你测过的那几种情况,而脚本扫描能告诉你最坏点在哪里。很多“我流片回来发现振荡”的悲剧,根子上就是仿真覆盖不全,这件事值得花半天时间把脚本写好。

无片外电容LDO真正让我受益的不是电路本身,而是它强迫我形成了“先怀疑验证条件,再怀疑电路结构”的排查顺序。模拟设计的大多数振荡问题,最后追到底往往不是某个玄学原因,而是某个corner下极点位置超出了预期。只要仿真矩阵跑得够全,问题基本都是可定位、可修复的。这套经验放到其他模拟模块,一样管用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/24 4:35:38

PySpark transformWithState 报 AttributeError 的版本原因

照着结构化流的新一代有状态算子写了一个自定义 StatefulProcessor,在 Spark 4.0.3 上一跑就 AttributeError,提示 GroupedData 没有 transformWithState 这个属性。这不是代码写错,是版本号差了一档。 问题现象 output_schema = T.StructType([T.StructField(customer_id…

作者头像 李华
网站建设 2026/10/24 4:35:17

基于协同过滤的鲜花店推荐系统:Spring Boot实战与冷启动方案

在毕业设计和中小型电商项目里&#xff0c;推荐系统一直是个既能体现技术含量、又贴近真实业务需求的选题。我之前正好帮某位开发者朋友梳理过一个“基于协同过滤的鲜花店推荐系统”&#xff0c;技术栈锁定在 Spring Boot 上&#xff0c;算法选的是协同过滤。这个项目表面看是个…

作者头像 李华
网站建设 2026/10/24 4:34:36

VS2017下OSG3.6.3与osgEarth2.10+Qt5.14编译部署

简介&#xff1a;面向三维GIS、虚拟仿真与地理信息可视化开发者的MSVC2017编译环境配套包&#xff0c;集成OSG 3.6.3、osgEarth 2.10与Qt 5.14&#xff0c;重点解决三维渲染库依赖繁多、编译配置繁琐以及Qt界面嵌入OSG窗口困难等问题&#xff0c;适合具备一定C与Qt基础的中级开…

作者头像 李华
网站建设 2026/10/24 4:34:15

商用车P2并联混动HCU控制策略与功能规范深度解析

这两年我接手过好几款商用车混动项目&#xff0c;从12米公交到4.5吨物流车都有。最让我印象深刻的是一次满载爬坡测试&#xff1a;发动机转速已经被逼到最大扭矩区间&#xff0c;驾驶员把油门踩到底&#xff0c;车速依然往下掉&#xff0c;记录仪上的SOC表还在一个劲儿往下滑。…

作者头像 李华
网站建设 2026/10/24 4:34:09

从奇点或宇宙之外的观察者视角| 赵杰 | 量子意识(第二卷)

作者&#xff1a;赵杰 清华大学硕士、微美全息云科技&#xff08;NASDAQ&#xff1a;WIMI&#xff09;董事长、微算法科技&#xff08;NASDAQ&#xff1a;MLGO&#xff09;董事长、育杰奖学金创始人 宇宙自奇点迸发的刹那起&#xff0c;便在人类的认知中铺展成一场跨越 138 亿年…

作者头像 李华
网站建设 2026/10/24 4:33:08

Vue+Python进销存系统实战:从库存管理到可视化大屏落地

干了这么多年开发&#xff0c;最常被小企业主问的一句话是&#xff1a;“能不能帮我那把Excel里的库存理清楚&#xff1f;”这其实不是表格美化问题&#xff0c;而是整个进销存流程数字化的问题。最近刚上线了一套vuepython的B/S架构进销存管理系统&#xff0c;项目编号是i59u2…

作者头像 李华