YAOTU INSIGHTS

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

无片外电容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. 架构选型用最朴素的方式搭一个能闭环的LDO3.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可能需要几百到上千如果取L0.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要稳定几乎所有拓扑都离不开某种形式的频率补偿。对EAbufferPMOS结构来说最早、也最好用的方案是米勒电容跨接在EA输出端和Vout之间利用密勒效应把较大的等效电容“搬”到EA输出高阻节点上在那里形成稳定的主极点。这里有一个很多资料不会明说的要点米勒电容的取值不能拍脑袋。取太小极点分裂效果不足取太大带宽被压得过低瞬态响应变得一塌糊涂。对50mA级别、带宽目标在几百kHz到1MHz的设计米勒电容从几pF起步根据stb结果逐步调整。还有一个伴随出现的右半平面零点这是米勒补偿的天然副作用由跨接电容和功率管跨导共同产生。这个零点会造成相位提前恶化如果不去掉高频相位裕度会被进一步透支。4.2 调零电阻把右半平面零点扳回左半平面常规做法是在米勒电容支路上串联一个电阻Rz人为把零点移入左半平面并让它和某个次极点配对抵消。Rz的典型取值可以从几十千欧到几百千欧具体要看米勒电容和功率管跨导。一个建议的调试顺序是先把对地补偿电容或多余的杂散电容清干净只看米勒电容的单极点效果用stb跑出相位曲线记下单位增益频率和相位裕度给米勒电容串上Rz从较大值开始往下扫观察相位曲线是否出现“上凸”把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负载下看到PM60就宣布设计完成等流片回来才发现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 cornerss/cff下极点移动重新扫Rz和Cc的corner敏感性带上parasitic后PM骤降功率管栅极或输出节点的额外寄生电容改变极点位置单独逐项加寄生定位最大贡献者高频振铃频率远超带宽多半是buffer或偏置环路局部振荡不是主反馈环断开主反馈单独仿真buffer环路7.3 两个实用守则守则一是所有corner稳定之后再把带宽“往回压一档”。模型和实际流片之间永远存在偏差仿真里PM50勉强糊弄过去实测很可能只剩40不到。我习惯至少留出10到15度的余量宁可用带宽换一点稳定性。守则二是建立扫参脚本把corner、温度、负载电流、补偿电阻做成矩阵扫描一次性把PM最差的组合挑出来。手工仿真只会记住你测过的那几种情况而脚本扫描能告诉你最坏点在哪里。很多“我流片回来发现振荡”的悲剧根子上就是仿真覆盖不全这件事值得花半天时间把脚本写好。无片外电容LDO真正让我受益的不是电路本身而是它强迫我形成了“先怀疑验证条件再怀疑电路结构”的排查顺序。模拟设计的大多数振荡问题最后追到底往往不是某个玄学原因而是某个corner下极点位置超出了预期。只要仿真矩阵跑得够全问题基本都是可定位、可修复的。这套经验放到其他模拟模块一样管用。