BUCK、BOOST与LDO选型实战:原理、计算、布局与调试

做电源这行十多年,手底下流过的板子少说也有几百块,最常被新人问到的问题永远是那一句:“这里我该放个BUCK、BOOST还是LDO?”听起来像是个选择题,实际上是个综合题——效率、噪声、成本、面积、散热、时序,哪一项没想清楚,后面调试阶段就得拿示波器和烙铁还债。我自己就干过把12V直接怼进LDO去出3.3V的蠢事,200mA负载下那颗SOT-23封装的芯片烫到手指起泡,效率算下来只有27%,板子还没出厂就先给自己上了一课。这篇文章就把BUCK降压、BOOST升压、LDO线性稳压这三种最基础的直流变换结构,从原理到落地掰开揉碎讲一遍,包括电感电容怎么算、占空比怎么估、环路为什么会振荡、PCB上哪根线走错了就等着看纹波,全是我在实际项目里验证过的东西。不管你是刚接触电源设计的学生,还是已经画过几版板子但总在调试阶段卡住的工程师,这里应该都能翻到几条能直接抄的作业。

1. 先把这三兄弟的定位摆清楚

1.1 从一张板子的供电树说起

任何一个稍微复杂点的电子系统,供电都不会是“一个电压进去、一个电压出来”这么简单。典型的一块板子可能是12V适配器进来,经过一级BUCK降到5V给USB和外设,5V再分两路:一路BUCK降到3.3V喂数字电路和MCU的IO,一路LDO降到3.3V给ADC的模拟基准和射频前端;同时还有一路BOOST从单节锂电池3.7V升到12V去驱动屏幕背光或者音频功放。这就是所谓的供电树,一棵树上挂着的每个节点,用的拓扑大概率都不一样。

为什么不能全用一种?因为这三者的物理本质完全不同。BUCK和BOOST都属于开关型变换器,靠功率管高速通断,把能量先存进电感、再放到输出电容上,中间损耗主要来自导通电阻和开关瞬间;LDO是线性调整器,本质就是一个受控的可变电阻,多余的电压全部变成热量烧掉。一个靠“搬运”,一个靠“消耗”,这就决定了它们在效率、噪声、成本、体积上的表现天然分道扬镳。

理解这一点非常关键:BUCK能做的效率轻松上到90%以上,但它天生是个噪声源;LDO效率低得可怜,但输出干净得像水洗过。你得先明白自己在要什么,才谈得上选型。

1.2 谁在“切”能量,谁在“烧”能量

拿生活里的类比说,BUCK的工作方式像一个用勺子从大水缸往小水杯里舀水的人——勺子(电感)每次舀一勺,倒进杯子(输出电容),舀的频率很高,杯子里的水位(输出电压)基本稳定。舀的过程中勺子本身不消耗水,只有手抖洒出去一点点(损耗),所以效率高。但代价是水位一直在小幅波动,而且舀水的动作会产生水花声(开关噪声)。

LDO则像一根带阀门的细水管直接接在两个水缸之间,靠阀门开度控制流量,多余的水压全部通过阀门摩擦消耗掉。它没有任何“动作”,所以出口水流极其平稳,但上游水压越高、下游需求越大,阀门上浪费的能量就越多。

BOOST更微妙一点,它是先把水抽到一个高处的水箱(电感储能),然后关掉进口,让水箱里的水靠惯性冲进更高的那个缸。因为要克服更高的水压,所以进口那边的瞬时流量必须很大——这直接导致了BOOST的输入电流是脉动的、幅值还大,这是它最容易被忽视的痛点。

搞清楚这个类比,后面所有的设计取舍都能对应回来:BUCK关注输出纹波和开关节点辐射,BOOST关注输入电容应力和启动冲击,LDO关注压差和散热。

1.3 三条曲线:效率、噪声、成本怎么权衡

我在做方案评审的时候,习惯在纸上画三根曲线:横轴是输出电流,纵轴分别是效率、输出噪声、方案成本。BUCK的效率曲线在轻载时会掉得很厉害(开关损耗占比上升),中载最高,重载又因为导通损耗下降一点;LDO的效率曲线是一条反比于输入输出压差的斜线,跟负载无关,压差越大越惨;BOOST的效率在升压比很大的时候会明显下滑,因为占空比大、导通时间短、峰值电流高。

维度BUCK 降压BOOST 升压LDO 线性稳压
典型效率85%~95%80%~92%Vout/Vin(压差越大越低)
输出噪声中等,开关纹波 mV 级中等偏大,输出脉动明显极低,µV 级
外围器件电感+电容+二极管(同步可省)电感+电容+二极管(必须有)仅输入输出电容
面积占用较大较大极小
成本中中低
输入输出关系Vout < VinVout > VinVout < Vin,需压差
瞬态响应好一般(右半平面零点)快但受限于环路带宽
隔离/保护可做过流、短路短路保护困难天然限流

这张表我基本上每次带新人都要画一遍。注意表格里“LDO 输出噪声极低”这一条,是它至今没有被完全替代的根本原因——你再好的开关电源,纹波也在毫伏量级,而一颗靠谱的LDO能把几十毫伏的输入纹波压到几十微伏,这个差距对射频、ADC、音频这些场景是致命的。

1.4 一个常见的认知误区

很多人以为“开关电源效率高,所以能上开关就上开关”,这个结论在大部分场合成立,但在小电流、低压差场景下会翻车。比如从5V降到3.3V、负载只有10mA,一颗BUCK的静态功耗加上开关损耗,总效率可能还不如LDO,而且会引入一堆你根本不需要的噪声。我见过一个低功耗传感器节点,为了“省电”用了BUCK,结果待机电流比LDO方案高了两个数量级,电池寿命直接从两年掉到三个月。

反过来,从12V降到1.2V、电流5A这种场景,用LDO意味着(12-1.2)×5=54W的发热,这不是散热片能解决的问题,是物理定律的问题。这种时候没有第二种选择,必须上BUCK,而且是多相BUCK。

2. BUCK降压:从伏秒平衡到落地布线

2.1 两个开关状态,一条电感电流曲线

BUCK的核心只有两个状态。状态一:上管导通、下管关断,输入电压通过电感给负载供电,同时电感电流线性上升,能量被存进电感的磁场里。状态二:上管关断、下管导通(同步整流)或者二极管续流(非同步),电感为了维持电流不变,把储存的能量释放给负载,此时电感电流线性下降。

稳态下,电感在一个周期内“充进去的磁通”必须等于“放出来的磁通”,这就是伏秒平衡:

(Vin - Vout) × Ton = Vout × Toff

整理一下就得到那个最经典的公式:

Vout = Vin × D,其中 D = Ton / (Ton + Toff),D就是占空比。

这个公式有个前提:忽略管压降和电感直流电阻。实际工程里,你要把它修正成 Vout ≈ Vin × D × η,或者在最坏情况下按 Vout = (Vin - Iout×Rds(on) - Iout×DCR) × D 来估。别小看这一项,低压大电流场景下Rds(on)和DCR造成的压降能占到输出的5%以上,我见过用0.5V的反馈基准去算,结果实测算出来差了80mV,最后发现是电感DCR压降。

同步BUCK和异步BUCK的区别就在下管:异步用一个肖特基二极管续流,成本低但效率差(二极管正向压降0.3~0.5V,在1V输出时简直是灾难);同步用MOSFET替代二极管,效率高但需要防直通逻辑。现在超过2A的场合基本都上同步方案了,非同步只在高压差、小电流、成本极度敏感的地方还有生存空间。

2.2 电感怎么算:从纹波系数倒推

电感选型的核心参数是纹波电流比,行业惯例取输出电流的20%~40%,我一般取30%。取小了电感体积大、成本高、瞬态响应慢;取大了纹波大、峰值电流高、磁芯损耗大。

算了笔账。场景:Vin=12V,Vout=3.3V,Iout=3A,开关频率fsw=500kHz。

第一步,占空比 D = 3.3/12 ≈ 0.275。

第二步,纹波电流 ΔI = 30% × 3A = 0.9A。

第三步,电感量。导通期间电感两端电压是 Vin - Vout = 8.7V,持续时间Ton = D/fsw = 0.275/500k = 550ns。

根据 V = L × di/dt:L = (Vin - Vout) × Ton / ΔI = 8.7 × 550e-9 / 0.9 ≈ 5.3µH。

标准值取 4.7µH 或 6.8µH。取4.7µH的话实际纹波会到1.02A,还在可接受范围;取6.8µH会把纹波压到0.7A,瞬态响应慢一点点但纹波更漂亮。我一般选4.7µH,因为同封装下DCR更低。

电感的饱和电流必须大于 Iout + ΔI/2,也就是3 + 0.51 = 3.51A,实际选型要留30%以上余量,按4.5A以上挑。温升电流也要满足,这个参数经常被忽略,结果满载跑半小时电感烫到磁芯饱和,输出电压直接塌掉。还有DCR,4.7µH/4.5A的屏蔽电感DCR大概在20~40mΩ,3A下压降就是60~120mV,在3.3V输出上是2%~4%的损耗,必须在反馈环路里补偿掉(用反馈引脚直接采输出端,别采在电感后面)。

2.3 输入输出电容:两个完全不同的角色

输出电容管的是纹波和瞬态,输入电容管的是开关瞬间的电流供给。这俩经常被混为一谈,其实设计逻辑差别很大。

输出电容的容值估算用这个式子:

ΔVout ≈ ΔI / (8 × fsw × Cout) + ΔI × ESR

前半部分是电容充放电造成的容性纹波,后半部分是ESR造成的阻性纹波。还是上面那个例子,ΔI=0.9A,fsw=500kHz,如果只用一个10µF的陶瓷电容(ESR约3mΩ),容性纹波 = 0.9/(8×500k×10e-6) = 0.9/40 = 22.5mV,阻性纹波 = 0.9×3m = 2.7mV,合计约25mV,占3.3V的0.76%,可以接受。

但实际上我会放两颗22µF并联,原因不是容值不够,而是陶瓷电容的直流偏压降容效应。一颗标称22µF的X5R/X7R 0805电容,在5V偏压下可能只剩12µF,在12V偏压下只剩8µF。这个坑我踩过,当时用一颗22µF算得好好的,实测纹波超标一倍,拆下来一测容值只剩9µF。所以实际设计至少放两颗,最好不同容值组合(22µF+10µF+100nF),覆盖不同频段。

输入电容的作用是在上管导通的瞬间提供那一下脉冲电流,避免输入电压被拉塌。它的RMS电流应力是:

Ic(rms) = Iout × √(D × (1-D))

代入 D=0.275:√(0.275×0.725) = √0.199 = 0.447,Ic(rms) = 3 × 0.447 = 1.34A。

这个电流不小,必须用低ESR的陶瓷电容,而且要紧贴芯片的VIN和PGND引脚放,回路面积控制在几个平方毫米以内。输入电容不够的典型症状是输入电压出现锯齿状塌陷,严重时芯片欠压保护反复触发,表现为起不来或者启动打嗝。

注意:陶瓷电容的额定电压要按实际工作电压降额50%以上用。12V输入的场合,输入电容至少选25V甚至50V耐压,否则X5R的容值衰减和长期可靠性都会出问题。

2.4 PCB布局:这一节决定你是调试一周还是一小时

BUCK的布局有一条铁律:高di/dt回路必须最小化。这个回路是:输入电容正极 → 上管漏极 → 上管源极 → 下管漏极 → 下管源极 → 输入电容负极。这个环里走的电流在几百纳秒内从0跳到3A再跳回0,任何寄生电感都会产生 V = L×di/dt 的尖峰。

我见过最离谱的一版,输入电容放在了板子另一头,走线绕了30mm,结果开关节点上出现了15V的振铃尖峰(输入才12V),芯片的耐压余量被吃光,跑了两周就炸了。正确的做法是:

  1. 输入电容紧贴芯片VIN和PGND,最好在同一层,用宽铜皮连接,过孔多打几个;
  2. 开关节点SW的铜皮面积要小,够通流就行,不要为了散热铺一大片,那是个天然的辐射天线;
  3. 反馈取样走线从输出电容的末端单独拉一根细线回来,避开SW节点和电感下方;
  4. 电感下方的地层可以开槽,防止涡流损耗,但要注意回流路径完整性;
  5. 芯片底部的散热焊盘必须打满过孔接地。

还有一条经验:别把敏感信号走线放在电感正下方。电感的漏磁会在下方走线里感应出纹波,我曾遇到过一条ADC的参考电压走线从电感下穿过,采样数据上叠加了和开关频率同步的干扰,排查了半天才定位到。

3. BOOST升压:教科书里不讲的那些坑

3.1 拓扑结构决定的三个先天缺陷

BOOST的结构是:输入电压经过电感,然后开关管把电感的一端拉到地(储能),关断时电感电流被迫流经二极管进入输出电容(释能)。它的占空比公式是:

Vout = Vin / (1 - D),反过来D = 1 - Vin/Vout

这个式子立刻暴露了第一个问题:升压比越大,占空比越接近1,导通时间越来越长、关断时间越来越短,留给二极管续流的时间窗口极窄,效率急剧下降。从3.7V升到12V,D = 1 - 3.7/12 = 0.692,已经算比较吃力了;如果从3.7V升到24V,D要0.846,这个时候大多数集成方案的效率都会掉到80%以下。

第二个问题是输入电流不连续且幅值大。BUCK的输入电流是连续三角波,BOOST的输入电流是脉冲方波。因为输入功率等于输出功率(忽略损耗),升压比越大,输入电流越大。还是3.7V升12V、输出0.5A的例子:

Iin = Vout × Iout / (Vin × η) = 12 × 0.5 / (3.7 × 0.9) ≈ 1.8A

而电感纹波取30%,ΔI = 0.54A,峰值电流就是 1.8 + 0.27 = 2.07A。这意味着输入电容要承受接近2A的脉冲电流冲击,RMS应力比同等功率的BUCK高得多,输入电容选小了会直接发热鼓包。

第三个问题,也是最能坑人的一个:右半平面零点(RHPZ)。BOOST的传递函数里有一个位于右半平面的零点,它的作用不是让增益加速下降,而是让相位额外滞后90度,而且频率越低滞后越早发生。结果就是:你想提高环路带宽来改善瞬态响应,一提高就振荡。这个零点频率大概是:

f_RHPZ ≈ (1-D)² × Vout / (2π × L × Iout)

代入 D=0.692、Vout=12、L=10µH、Iout=0.5A:(0.308)²×12/(2π×10e-6×0.5) = 0.095×12/(3.14e-5) = 1.14/3.14e-5 ≈ 36kHz。

实际环路带宽必须压在RHPZ的1/5以下,也就是说只能做到7kHz左右。带宽低就意味着瞬态响应慢,负载突变时输出电压会有很大的过冲和下陷,这是BOOST的物理限制,不是设计者水平问题。

3.2 选型与计算的实操过程

接着上面那个 3.7V → 12V / 0.5A / fsw=500kHz 的项目说。

电感量:L = Vin × D / (fsw × ΔI) = 3.7 × 0.692 / (500e3 × 0.54) = 2.56/270000 ≈ 9.5µH,取标准值10µH。饱和电流要大于峰值电流2.07A,留50%余量按3A以上选。注意BOOST电感的直流电流能力要求比BUCK高,因为整个输入电流都从它身上过。

输出二极管:必须是肖特基,不能是普通整流二极管。反向耐压要大于 Vout + Vin = 15.7V,取25V或30V规格;正向电流要大于 Iout,但如果占空比大、导通时间短,峰值电流会很高,实际要按峰值选。我一般直接用3A/40V的肖特基,压降0.4V左右,0.5A下损耗0.2W,可以接受。想进一步提升效率就上同步整流BOOST,用MOSFET替代二极管,但成本上去一截,而且驱动逻辑更复杂。

输出电容:BOOST的输出电容承受的是不连续的脉冲充电电流,RMS应力大约是 Iout × √(D/(1-D))。代入:0.5 × √(0.692/0.308) = 0.5 × 1.5 = 0.75A。这个应力比同样输出电流的BUCK大不少,所以输出电容要用低ESR的,并且容值要算足。容性纹波 ΔV = Iout × D / (fsw × Cout),如果要求纹波小于50mV:Cout = 0.5 × 0.692/(500e3 × 0.05) = 0.346/25000 ≈ 13.8µF。考虑降容,实放2×22µF。

输入电容:这是BOOST最容易被低估的地方。因为输入电流是脉冲的,输入电容必须提供全部脉冲电流,RMS应力约等于 Iin × √(D × (1-D))……不过更直观的做法是直接把输入电容按“能扛住峰值电流、纹波压到100mV以内”来选。经验值是输入电容的容值至少是输出电容的两倍,用2×22µF甚至3×22µF都不嫌多。

3.3 启动冲击与短路保护:两个致命弱点

BOOST有一个结构性的缺陷:输入到输出之间永远有一条直流通路(通过电感和二极管)。这意味着:

第一,启动瞬间会有巨大的浪涌电流。上电那一刻,输出电容电压为0,输入电压通过电感和二极管直接给输出电容充电,这是一个二阶LC充电过程,峰值电流可能达到几十安培。我实测过一个3.7V升12V的模块,输出挂了100µF电容,上电瞬间输入电流尖峰达到8A,直接把前级的电池保护板触发了。解决办法是在输入端加缓启动电路,或者选带软启动功能的控制芯片,让占空比从0慢慢爬升。

第二,输出短路无法被开关管切断。因为即使开关管完全关断,输入还是通过电感和二极管灌到输出。所以BOOST的输出短路保护必须靠额外的电路——要么加一个串联的负载开关,要么用带短路检测并切断输入的控制芯片。这一点跟BUCK完全不同,BUCK只要关断上管就安全了。这个认知我建议所有做电源的人都刻在脑子里,见过太多人拿BUCK的保护逻辑去套BOOST,结果短路测试时把二极管和电感一起烧了。

第三,输出不能低于输入。如果输出端因为某种原因被拉低到接近输入电压,二极管会正偏导通,电流无限制地灌过去。所以在有外部负载可能倒灌的场合,BOOST输出端必须加防反灌二极管或者理想二极管电路。

3.4 一个实际项目中的教训

早些年做一个便携设备的背光驱动,3.7V锂电升到18V驱动LED串,电流20mA。当时图省事用了非同步BOOST,二极管选了个普通的1N4148(当时手上只有这个),结果上电就冒烟——1N4148的反向耐压只有75V是够的,但正向电流能力只有200mA,而启动瞬间的浪涌早就超过了。换了个1A/40V的肖特基之后正常工作,但效率只有78%,因为20mA这种小电流下,二极管压降和开关损耗占比太大。

后来改成同步BOOST,效率提到86%,而且因为省掉了二极管,BOM还少了一颗料。这个项目的教训是:小电流BOOST场景下,同步方案的优势比大电流场景更明显,因为固定损耗(二极管压降)在小电流下占比更高。

还有一次,板子上BOOST的输出和另一路5V电源共用一个连接器,客户做了热插拔测试,5V先上电,通过BOOST的二极管倒灌进电感,把芯片内部的体二极管烧了。最后加了一颗理想二极管芯片才解决。这类问题在规格书里基本不会写,只能靠踩坑积累。

4. LDO线性稳压:被低估的“干净电源”

4.1 工作原理其实就三句话

LDO的内部结构是一个误差放大器、一个功率调整管(通常是PMOS或PNP)、一个反馈分压网络。误差放大器比较反馈电压和基准电压,控制调整管的导通程度,从而在输出端维持恒定电压。就这三句话,没有电感、没有开关、没有高频动作。

它的优点全都来源于这个“没有”:没有开关噪声、没有纹波馈通、输出阻抗低、瞬态响应由环路带宽决定、外围只需要两个电容。它的缺点也全都来源于同一个地方:多余的电压必须变成热。

功耗公式简单到不能再简单:

P = (Vin - Vout) × Iout + Vin × Iq

其中Iq是静态电流,一般在几十微安到几毫安。对于低功耗场景,Iq这一项可能比主项还重要。

4.2 热设计:一个必须算的账

我最常用来劝退新人的例子就是这个:Vin=5V,Vout=3.3V,Iout=300mA。

功耗 P = (5-3.3) × 0.3 = 0.51W。

如果用SOT-23封装,θJA(结到环境热阻)大约是250°C/W,温升 ΔT = 0.51 × 250 = 127°C。室温25°C的话,结温直接到152°C,超过大多数芯片的150°C上限,进入热关断或者直接损坏。

换成SOT-89封装,θJA约100°C/W,温升51°C,结温76°C,勉强能接受,但夏天密闭外壳里环境温度可能到50°C,结温就破100°C了,长期可靠性打折扣。

换成DFN 3×3带散热焊盘,θJA约40°C/W,温升20°C,结温45°C,非常舒服。

这个账必须提前算。我见过太多人在原理图阶段随手选了个SOT-23的LDO,PCB画完、板子回来、满载跑十分钟就热保护,然后开始改板。设计阶段花五分钟算一下,能省两周时间。

再算一个更极端的:Vin=12V,Vout=3.3V,Iout=200mA。

P = 8.7 × 0.2 = 1.74W,效率 = 3.3/12 = 27.5%。

1.74W的发热,SOT-89已经扛不住了(温升174°C),必须上TO-252或者加散热片。但更合理的做法是:先BUCK降到5V,再用LDO降到3.3V。这样BUCK承担主要的降压,LDO只处理1.7V的压差,功耗降到0.34W,同时保留了LDO的低噪声特性。这就是下面要讲的级联方案。

4.3 压差电压:那个容易被忽略的下限

LDO有个参数叫dropout voltage(压差电压),指的是维持正常稳压所需的最小输入输出压差。传统PNP结构的LDO压差在几百毫伏到1V,新一代PMOS结构的能做到100mV以下。

这个参数的实际意义在于:如果你的输入电压会跌落到接近输出电压,LDO就失去稳压能力,输出跟着输入一起掉。最典型的场景是锂电池供电——电池从4.2V放到3.4V,如果LDO输出是3.3V,那么在电池电量低于3.4V+压差(比如3.5V)之后,输出就开始跟着掉了。

所以选型时一定要看在最坏输入条件下的压差余量。我一般要求:最小输入电压 - 输出电压 ≥ 压差电压 × 1.5。这个1.5的系数是为了覆盖温度漂移和器件离散性。

4.4 噪声与PSRR:LDO真正的价值所在

如果只是要降压,LDO毫无优势。它存在的意义在于两件事:低输出噪声和高电源抑制比(PSRR)。

输出噪声通常用µVrms表示,好的LDO能到10µVrms以下,一般的在30~100µVrms。这个噪声是芯片内部基准和误差放大器产生的,跟输入无关。

PSRR指的是LDO抑制输入纹波的能力,用dB表示。比如PSRR在1kHz处是60dB,意味着输入上1V的纹波,输出只剩1mV。但要注意,PSRR是随频率下降的,在1kHz可能有60dB,到100kHz可能只剩20dB,到1MHz基本就没有抑制能力了。所以如果前级是500kHz的开关电源,指望LDO去滤掉开关纹波,效果很有限——因为开关频率处的PSRR已经很低了。

这个认知非常重要。很多人以为“BUCK后面挂个LDO就能得到干净电源”,但在开关频率这个点上,LDO的抑制能力可能只有十几dB。真正有效的做法是:

  1. BUCK的输出先用LC滤波器把开关频率的纹波压下去(比如加一个铁氧体磁珠+电容);
  2. 然后LDO再去处理低频段的噪声;
  3. LDO的输入输出电容要选对,输出电容影响环路稳定性,输入电容影响高频PSRR。

我曾经做过一个射频前端的供电,BUCK 5V转3.3V,后面挂LDO。一开始PSRR测试不达标,在500kHz处只有15dB的抑制。后来在BUCK输出加了一颗磁珠和10µF电容组成LC,把500kHz的纹波从30mV压到3mV,LDO再抑制15dB,最终输出纹波降到500µV以下,满足要求。这比单纯换一颗更贵的LDO有效得多。

4.5 稳定性:输出电容的ESR是个变量

LDO的环路稳定性跟输出电容的ESR密切相关。老一代的LDO(比如经典的1117系列)要求输出电容的ESR在0.1Ω到10Ω之间,所以必须用钽电容或者电解电容,用陶瓷电容反而会振荡——因为陶瓷的ESR只有几毫欧,太低。

新一代LDO大多做了内部补偿,支持陶瓷电容,但也要看规格书里写的稳定区间。有些芯片会明确画出ESR vs 负载电流的稳定区域图,你选的电容必须落在那个区域里。

我遇到过一版用1117配10µF陶瓷电容,空载时正常,带载200mA时输出出现几十kHz的振荡,纹波从5mV变成200mV。换回10µF钽电容(ESR约1Ω)立刻正常。这个坑现在的年轻人可能不太会踩了,因为新芯片基本都支持陶瓷电容,但如果你用的是老料或者成本敏感方案,务必翻一遍规格书的稳定性章节。

5. 混合架构与系统级选型

5.1 一张决策表解决80%的场景

场景推荐方案理由
12V→5V,2A同步BUCK效率优先,压差大
5V→3.3V,100mALDO功耗0.17W可接受,噪声低
5V→3.3V,2A同步BUCKLDO功耗3.4W,不可接受
3.7V→12V,0.5ABOOST(同步优先)唯一选择
12V→3.3V,ADC供电BUCK→LDO级联兼顾效率与噪声
3.3V→1.8V,50mALDO压差小,成本低
24V→3.3V,1ABUCKLDO功耗20W,绝对不行
电池3.0~4.2V→3.3VBUCK-BOOST 或 LDO取决于电池最低电压与噪声要求

这张表的核心判断逻辑只有两条:压差大不大、电流大不大。压差×电流>0.3W的场合优先考虑开关方案,否则LDO更简单。噪声敏感的模拟电路,即使效率损失也要用LDO或者级联。

5.2 级联方案:BUCK后接LDO的正确姿势

这是工程上最常用的组合。前级BUCK负责把大压差降下来,后级LDO负责净化噪声。设计要点有几个:

中间电压的选择。不能太高(LDO功耗大),也不能太低(LDO压差不够)。经验公式是:中间电压 = 输出电压 + 1.0V ~ 1.5V,同时要保证BUCK的输出精度和纹波在最坏情况下仍满足LDO的压差要求。

比如要出3.3V、200mA,BUCK输出选4.5V:LDO功耗 = (4.5-3.3)×0.2 = 0.24W,SOT-23封装温升60°C,可以接受。如果选5V,功耗0.34W,温升85°C,略紧张。如果选4.0V,功耗0.14W很舒服,但BUCK的输出精度如果是±2%(±80mV),加上纹波50mV,最低可能到3.87V,减去3.3V还有0.57V余量,仍然大于LDO的压差(假设300mV),安全。

BUCK的开关频率要避开敏感频段。如果系统里有音频或者射频,BUCK的开关频率尽量选在敏感频段之外,比如音频应用选500kHz以上,让开关谐波落在音频带外。

地线处理。级联时LDO的地要和BUCK的地分开走,最后在输入电源的接地点单点汇合,避免BUCK的大电流在地线上产生的压降串进LDO的参考地。这个细节在画PCB时就要注意,否则后面怎么改电容都没用。

5.3 上电时序:多路电源的隐性杀手

多路电源的系统里,上电顺序不对可能会造成闩锁或者大电流。典型的规则是:先内核后IO,先数字后模拟,先低压后高压。但具体要看芯片手册里写的时序要求。

实现方式有两种:一种是靠电源本身的使能引脚级联(前一路的Power Good信号接后一路的EN),简单可靠;另一种是用专门的时序控制芯片,适合路数多、时序复杂的场合。

我遇到过一个FPGA供电的问题:1.0V内核和3.3V IO同时上电,结果IO的输入保护二极管把电流灌进内核电源,导致内核电压被抬到1.5V,上电瞬间电流超标。改成先1.0V后3.3V,问题解决。这类问题在调试阶段很难定位,因为现象是随机的、批量的,一定要在原理图阶段就把时序设计进去。

6. 调试实录与常见问题速查

6.1 问题速查表

现象可能原因排查方向
BUCK输出电压偏低电感DCR压降、反馈取样点错误、占空比受限用万用表量电感两端压差,检查FB走线
BUCK纹波超标输出电容降容、ESR过大、布局回路太长拆下电容测实际容值,缩短输入回路
BUCK轻载时输出跳变进入PFM/跳周期模式、最小占空比限制看规格书的轻载模式,必要时加假负载
BOOST启动失败软启动不足、输入电流限流触发减小输出电容或加缓启动,看输入电压波形
BOOST输出纹波大输出电容ESR高、RHPZ导致环路慢换低ESR电容,降低带宽,加前馈电容
BOOST效率低二极管损耗、电感DCR大、开关频率过高换同步方案,换低DCR电感,降频
LDO发热严重压差大、负载大、封装热阻高算功耗,换封装,改级联方案
LDO输出振荡输出电容ESR不在稳定区、负载电容过大查规格书的ESR稳定图,换电容
LDO输出噪声大输入纹波馈通、PSRR在开关频率处失效前级加LC滤波,加大输入电容
系统上电偶发死机电源时序不对、上电斜率太陡加时序控制,增大软启动电容

6.2 三个真实异常波形的分析

案例一:BUCK开关节点振铃过高。实测SW节点在关断瞬间出现18V的尖峰,输入才12V,芯片耐压20V,余量只剩2V。原因是输入电容距离芯片15mm,走线电感约10nH,di/dt约500A/µs,尖峰电压 = L×di/dt = 10e-9 × 500e6 = 5V,叠加在12V上就是17V。解决办法是把输入电容挪到芯片旁边,走线缩短到3mm,同时加一颗1µF的0402电容做高频旁路,尖峰降到13.5V。还可以并联一颗RC吸收电路(10Ω+1nF)进一步压制,但会牺牲一点效率。

案例二:BOOST轻载时输出有低频振荡。带载500mA稳定,空载时输出在11.5V到12.5V之间以30Hz摆动。查下来是芯片进入了PFM模式,脉冲频率很低,而输出电容容值又不够,每个脉冲造成的电压跳变太大,环路来不及响应。加了一颗100µF的电解电容(或者把假负载加到10mA)解决。这说明BOOST在轻载下的稳定性需要专门验证,不能只测满载。

案例三:LDO带载后输出纹波变成方波。5V输入、3.3V输出、负载从10mA跳到300mA,输出出现周期性的塌陷。示波器一测输入,发现5V在负载跳变时跌到4.4V,而LDO的压差是0.5V,4.4-3.3=1.1V还够,但输入端有个LC谐振(前级BUCK的输出电感加上LDO的输入电容),在负载跳变时产生振铃,最低点跌到3.7V,LDO就失去稳压能力了。解决办法是在LDO输入端串联一个小电阻(0.1Ω)阻尼LC谐振,或者加大输入电容。

6.3 测量方法本身也会骗你

这一条我要重点说,因为太多人栽在测量上。

测纹波必须用探头弹簧地。用普通的地线夹子,那个环路的电感会拾取空间辐射,你看到的可能是几十毫伏的假信号,真实的纹波只有几毫伏。正确做法是把探头帽拔掉,套上弹簧地环,直接顶在输出电容两端测量,带宽限制打开20MHz。

测开关节点要注意探头电容。普通探头有10pF左右的输入电容,接到SW节点上会影响开关波形,测出来的振铃可能比实际小。要精确测量就用低电容探头(1pF以下)或者有源探头。

测LDO噪声要用低噪声放大器。µV级的噪声,示波器根本看不见(底噪就有几百µV)。要么用专门的噪声分析仪,要么用一个增益60dB的低噪声放大器放大后再测,同时要注意放大器的输入噪声不能淹没被测信号。

测效率要四线法。输入输出电压用万用表在芯片引脚处量,不能用电源显示的值(线损会造成误差),电流要用精密采样电阻或者电子负载读数。我见过有人测出来效率105%,就是因为输入电压量在了电源端而不是芯片端。

7. 几条压箱底的经验

第一个,永远先算功耗再选封装。这是我带新人的第一条规矩。原理图阶段多花五分钟,能省掉后面改板的两周。特别是LDO,热阻这个参数决定了你的方案能不能落地,跟芯片的性能参数一样重要。

第二个,电感不要迷信小体积。同样4.7µH,2520封装和4020封装的饱和电流差了将近一倍,屏蔽效果也差很多。空间允许的话,宁愿用大一号的封装,DCR低、饱和电流高、漏磁小,一举三得。成本上其实差不了几分钱。

第三个,样品阶段的飞线能救命。我在做新方案时习惯在PCB上预留几个测试点和跳线位:反馈点、补偿点、使能点、软启动电容位。调试时可以用飞线快速改参数,不用等改板。这个习惯让我很多次在一天内就把问题定位了,而不是等两周的改板周期。

第四个,别信规格书的典型值。规格书上的效率曲线是在特定条件下测的,你的实际工况(输入电压范围、负载范围、环境温度、散热条件)跟测试条件往往差很远。留20%的余量,特别是热余量和电流余量。

第五个,多路电源一定要做时序验证。上电、下电、快速上下电循环、单路掉电再恢复,这四种情况都要测。很多问题是批量生产后才暴露的,因为那时候器件参数的离散性才会显现。

第六个,也是我个人体会最深的一条:先用最简单的方案让它工作,再优化。见过太多人一上来就设计复杂的多相BUCK加有源滤波,结果调试阶段连基本功能都跑不通。先用LDO把板子点亮,验证功能,然后再换成开关方案优化效率,这个迭代路径是最稳妥的。我自己现在做新项目还是这个套路,第一版永远是最保守的方案。