☰
用普通降压DCDC变出负压:反相Buck-Boost实战指南
2026/9/27 1:20:37 网站建设 项目流程

做硬件的人总会遇到这么一天:板子上明明只有+12V供电,某个运放、OLED屏、射频开关却还需要一个−5V。加一颗负压电荷泵吧,电流只有几十毫安;买隔离DCDC吧,又要占空间又多花好几块钱。于是经常有朋友问我,能不能用手头那一堆降压DCDC直接变出负压来。

答案是能,而且不止一种办法。这篇就好好聊聊我实际焊过、也在板子上跑过一段时间的方案,核心思路是把普通Buck重新配置成反相Buck-Boost,用它把+12V变成−5V/1A,顺带把“浮地降压”这个看起来简单但容易翻车的土办法也讲清楚。无论是给运放做负电源、驱动OLED、做音频偏置,还是给射频电路提供负压,这篇都有直接可抄的参考价值。

1. 产生负压的常规路子,以及为什么最后用上降压IC

先别急着画电路,负压需求在硬件设计里太常见了。单电源系统里要用双电源运放,运算放大器没有负电源就不能输出接近0V甚至负压的信号;OLED屏的VCC往往需要一个负压来提供驱动;老式LCD对比度调节、模拟开关、射频前端偏置、音频功放负轨,这些都要负压。可系统里通常只有一个正的主电源,负压就得“变”出来。

常见的负压产生方案翻来覆去就那几类:

  • 电荷泵负压IC,比如TPS60403、ICL7660、LM2662。优点是便宜、外围少、只需两个电容;缺点是输出电流小,几十毫安就到头了,想带个运放还行,想带个OLED背光或者更大负载就吃力,而且负载重一点输出电压就开始掉。
  • 负压LDO,比如79L05。需要有真正的负输入电压给它喂电,否则它也没法无中生有,本质上还是得先有一座负压源。
  • 隔离DCDC模块。能输出负压、也能同时出多路,但价格高、体积大,在小系统里用起来很奢侈。
  • 反相LDO+电荷泵组合,也就是先用电荷泵把Vin近似翻成−Vin,再给后级负压LDO做预调理。电流依然受电荷泵限制。
  • 用普通降压DCDC改接成反相Buck-Boost。这就是这篇文章要展开的方法,电流可以做到1A以上、效率高、电源芯片选型范围广。

很多人觉得“普通降压DCDC”就只能在Buck拓扑下工作,其实大部分非隔离、带独立补偿脚的Buck芯片,只要开关节点SW在正常工作期间不会超出芯片GND到Vin这个范围,就完全有潜力改做反相Buck-Boost。核心不是芯片内部变了,而是你把电感、二极管、输出电容重新接管了一遍,让原本相对GND为正的输出变成了负输出。

下面这张表可以直观看到几个方案的分界线:

方案带载能力效率外围成本实现复杂度
电荷泵负压IC弱(几十mA)中低低极低
负压LDO看输入源低低低
隔离DCDC强高高高
普通Buck改反相Buck-Boost强(数A级别)高中中
普通Buck浮地接法中中低不稳定,容易翻车

所以,当你需要的是−3.3V、−5V、−12V这类负压,而且电流需求超过电荷泵能提供的范围时,用普通Buck做反相Buck-Boost是性价比很突出的一条路。

2. 反相Buck-Boost的本质:把降压芯片重新焊一遍

要搞懂为什么普通Buck能出负压,先回忆一下常规Buck长什么样。

常规Buck电路里,Vin通过高侧开关接到SW节点,SW接电感,电感另一端是输出正端,输出电容和负载跨在输出正端与GND之间,低侧续流开关(或二极管)接到SW和GND。工作时,高侧导通期间电感电流上升,给输出供电;高侧断开期间低侧续流,电感电流继续流向负载。输出相对GND是正的。

反相Buck-Boost的接法则是这样重新定义的:

  • 输入正极仍然接到芯片的VIN。
  • 芯片的GND直接接系统GND。
  • 芯片的SW开关节点接电感的一端。
  • 电感的另一端不再接输出正端,而是接到负压输出端。
  • 负压输出端与系统GND之间接输出电容,负载也跨接在这两点之间。
  • 二极管(或同步整流低侧管)跨接在SW节点和系统GND之间,阴极朝系统GND。

名字叫Buck-Boost,意思是既能降压也能升压,只是输出是反极性。工作时开关管导通,SW被拉到Vin,电感两端电压等于Vin减去负压输出端的电压,也就是Vin加负压的绝对值;因为这是以前后两个节点之间的电位差,电感电流在这个阶段线性上升,能量储存在磁场上。开关管断开时,电感电流不能突变,SW节点会被电感电流往下拉,此时二极管导通,SW基本被钳在系统GND附近,电感里的电流从负压输出端,经过电感、SW、二极管流回系统GND,同时给输出电容补能。由于负压输出端始终比系统GND低,电容电压逐步建立成负压。

伏秒平衡下的占空比公式非常漂亮:

D = |Vout| / (Vin + |Vout|)

忽略二极管管压降,这个公式在连续导通模式下都成立。比如输入12V、输出−5V,占空比D = 5 / (12 + 5) = 0.294,也就是高侧管约29.4%的时间导通。这里就能看出,输出电压的绝对值不一定要求比输入低,Vin是5V、输出−12V时,D = 12 / (5 + 12) = 0.706,照样能工作,这是普通Buck做不到的。

为什么普通Buck芯片在这种接法下能正常工作?关键看SW节点相对芯片GND的摆动范围。反相Buck-Boost中SW最高是Vin,最低被续流二极管钳位到约0V附近,始终没有跑到芯片GND以下,芯片内部的高侧驱动、自举电容、限流比较器都还是按原始Buck的工作区间工作,所以大多数标准Buck芯片都具备这个潜力。反观后文会讲的浮地Buck,SW往往会跌到芯片GND以下,很多芯片根本扛不住。

还有一个必须强调的差别:电感电流不再等于输出电流。在反相Buck-Boost中,电感只在开关管关断期间把能量送给负载,因此电感平均电流会比输出电流大得多,公式是:

IL_avg = Iout / (1 − D)

拿刚才的例子算,输出1A,D=0.294,电感平均电流大概是1.42A,峰值还要再加纹波电流的一半。选电感时如果还按Buck的习惯去选,很快就会发现电感发热、限流误触发,这是改拓扑时最容易踩的坑之一。

3. 用一个LM2596产出−5V/1A的完整设计

理论讲完,来说一个我实际搭过的方案:LM2596从+12V输入,生成−5V/1A。这款芯片是很多实验室里囤的最多的降压IC,固定150kHz开关频率,输入耐压40V,内部开关管限流大概5A,非常适合拿来改反相Buck-Boost。

连接关系可以这样理解:

  • VIN接+12V输入正极。
  • GND引脚接系统GND,这不是负压输出端。
  • OUTPUT/SW引脚串电感到负压输出端,也就是−5V节点。
  • 续流二极管阳极接SW,阴极接系统GND,注意方向和普通Buck相反。
  • 输出电容正极接系统GND,负极接−5V节点,极性千万别接反。
  • 反馈FB引脚需要通过一个电阻网络从Vin“借”一个正电位,这是关键,后面单独说。

看到这里可能有朋友会问:普通Buck模块里的输出不是直接接电感另一端吗?为什么反相后不一样?原因就在上面第二部分的电流路径分析里。反相Buck-Boost的输出端其实是电感远离SW的那一端,它不再是一个高电平输出,而是要努力被拉低的负压平台。

反馈偏置是这个电路最阴险的地方。LM2596内部误差放大器参考的是FB引脚对GND的电压,正常Buck应用里FB是1.235V,通过分压电阻把正输出往参考电压上分就可以了。可是反相Buck-Boost的输出是负的,如果只用一个电阻从FB下拉到−5V,FB电压会被拉成负值,误差放大器直接饱和,输出电压根本稳不住。

我用的办法是:一个电阻R1从Vin接到FB,另一个电阻R2从FB接到负压输出端,形成一个叠加偏置网络。FB输入阻抗很高,节点电流近似为零,所以有:

(Vin − Vref) / R1 = (Vref + |Vout|) / R2

代入Vin=12V、Vref=1.235V、|Vout|=5V,可以得到R1/R2约等于1.73。实际我取R1=17.4kΩ、R2=10kΩ,用1%精度电阻,输出实测约−4.98V,在LM2596反馈参考电压的公差范围内,完全够用。

这里有一个很容易忽略的设计点:从Vin到FB的偏置电流会一直存在,虽然阶kΩ级别电阻下功耗只有几毫瓦,但输入电压如果波动很大,这个前馈会叠加到反馈里。好在闭环环路会通过调整占空比去压制这种扰动,只要占空比没到极限,输出精度仍然可控。如果非常在意输入影响,也可以用TL431或者精密参考芯片做更复杂的处理,但1A级别应用通常不需要。

电感计算是另一个和普通Buck差异明显的地方。设输出1A,纹波率取0.3,则电感平均电流IL_avg = 1/(1−0.294) ≈ 1.42A,允许的纹波电流约等于0.42A。再看关断阶段电感两端电压近似等于|Vout|,所以:

L = |Vout| × (1 − D) / (f × ΔIL)

代入5V、0.706、150kHz、0.42A,得到约55μH,我实际选标称68μH,因为电感感量稍微大一点,峰值电流还能再降一点。这时真实纹波电流:

ΔIL = 5 × 0.706 / (150000 × 68e−6) ≈ 0.35A

峰值电流约1.42 + 0.35/2 ≈ 1.6A。所以电感额定饱和电流至少要2A,我直接用了3A的功率电感。

续流二极管不能省,也不能用普通1N4007那种慢管,必须用肖特基。导通时间占了70.6%,二极管平均电流正好等于输出电流1A,峰值约1.6A,反向耐压至少是Vin=12V,选40V的SS34很宽裕。肖特基压降低,发热小,效率也好看。

输出电容我用了三颗10μF/25V X5R陶瓷并联,等效大约30μF。实际纹波很小,因为反相Buck-Boost关断期间电感电流持续给电容充电,纹波主要取决于ΔIL和电容ESR。粗算一下,0.35A纹波电流在低ESR陶瓷电容上产生的纹波约几十毫伏,完全可接受。输入电容则不能省,因为反相拓扑的输入电流是脉冲状的,我放了一颗100μF/25V电解加一颗1μF陶瓷,紧贴VIN和GND引脚。

4. 实测要点与常见坑:启动、纹波、环路

电路搭好之后,调试才是真正见功夫的地方。我用自己的经验把这些坑一个一个说清楚。

第一个坑就是启动浪涌。LM2596没有软启动,反相Buck-Boost上电瞬间,输出电容要从0V充到−5V,占空比会冲得比较高,电感电流可能超过正常工作时的峰值。在空载或轻载情况下,输出电容不大还好,我把30μF电容接到板上后,实测启动过程输出电压会有短暂到−5.5V的过冲,约1ms后回到稳定值。如果负载电容更大,过冲会更明显。解决办法是在输出端并联一个假负载消耗几毫安,或者用EN引脚做延时软启动,我先加假负载就压住了。

第二个坑是空载漂移。反相Buck-Boost工作在连续导通模式时,需要一个最小负载来维持输出稳定。LM2596这种固定补偿芯片在零负载时输出电压容易飘,特别是FB偏置电阻又额外从Vin取电,让反馈网络自身形成一点负载。实际测试空载时输出大概−5.1V左右,能接受,但为了稳妥我还是在输出端和系统GND之间加了一只2.2kΩ的固定电阻,消耗约2.3mA,输出彻底稳住。

第三个坑是示波器测量方式。负压电路里,探头的接地夹子只能夹系统GND,绝对不能夹到−5V输出端。普通示波器的地线与保护地电气相连,你把它夹到负压上,等于通过示波器地线把负压端短路到大地,轻则波形扭曲,重则烧板。看SW波形和输出纹波时,我都用差分探头或两通道A−B做浮地测量。

第四个坑是环路补偿。固定补偿的LM2596对反相Buck-Boost的稳定性并不总是理想,因为反相拓扑有一个右半平面零点,它的位置大约在:

f_RHPZ = Rload × (1 − D)² / (2π × L)

输出1A、|Vout|=5V时等效负载电阻Rload=5Ω,代入L=68μH、D=0.294,算出来大概5.8kHz。为了保证闭环稳定,环路带宽要留出足够余量,最好压在零点频率的1/5以下。LM2596内部误差放大器带宽不高,实测还比较安全,但如果换成高速同步Buck芯片、又把电感选得偏小,这个右半平面零点频率会抬高,环路就容易在负载突变时出现“先反冲、再恢复”的振铃。解决办法是适当增大电感、或者减小输出电容异常大容值,甚至可以调低补偿电容。

第五个坑是热。MODE在19V? 我用的LM2596输入12V、输出5V、电流1A,效率实测约82%,损耗大概1.3W,芯片表面会明显发热。反相拓扑中二极管导通时间长,占空比越大,续流损耗越明显。我加了铜皮散热区,二极管也选了较大封装的SS34,长时间运行在50℃环境温度下温升还可以。

5. 浮地降压方案,一个看起来简单但容易翻车的替代思路

网上还有一种热门做法:把普通Buck模块的输出端当成系统GND,把模块原来的GND当成负压输出端,美其名曰“浮地降压”,好像只需要把接地端互换一下就能得到负压。

原理逻辑确实成立:普通Buck能稳定输出某固定正电压Vout,即模块OUT相对GND是+V。如果你把OUT接到系统GND,那原GND相对系统GND自然就是−V,于是负压就出来了。如果只是看纸面电位,确实天衣无缝。

问题在于绝大多数普通降压芯片,GND引脚同时扮演两个角色:它既是内部误差放大器的参考地,也是功率级输入/输出电流的回路。浮地接法把系统GND接到OUT端,意味着芯片GND引脚也必须接到OUT端才能让反馈参考保持一致,但原GND同时却又是输入电源的负极和负压输出端。一个物理引脚很难同时既做控制地又做功率地还保证两者不打架。

就算引脚能勉强拆开,还会碰上一连串麻烦:VIN与GND之间的电压不再是Vin,而是Vin+|Vout|,芯片耐压不够的话直接烧;SW节点在续流期间会掉到系统GND以下,幅度近似等于|Vout|,很多芯片的SW脚对GND只能承受几百毫伏负压,负压一拉就触发内部ESD钳位。还有反馈分压网络、输入电容的参考电位全乱套了,轻则纹波爆炸,重则上电即烧。

我的看法是:浮地Buck这种思路更适合输入电压比负压输出高、芯片耐压余量特别大、并且你能确认SW和GND引脚都允许负压的少数场景。比如有些非同步、带独立PGND和AGND、SW耐负压的老式芯片,或者干脆用隔离模块去玩。但如果你手里就是LM2596模块、MP1584模块这类普通降压模块,老老实实用反相Buck-Boost接法,成功率和可靠性高得多。

有朋友可能又问,那我直接买一个普通Buck成品模块,能不能把模块输出端当地线来出负压?成品模块上的反馈电阻已经调好,很可能还带防反接、指示LED、可调电位器,这些电路都会在你改浮地接法后改变参考地,导致环路失灵。非要改模块,也要先把模块上反馈电阻以外的元件理清,否则很容易踩坑。相比之下自己用裸芯片搭反相Buck-Boost,每个元件的参考电位都清清楚楚。

6. 从−5V扩展到−12V、±电源组合

搞定了−5V,其他负压值就好办了。反相Buck-Boost最大的好处是输出电压绝对值可以根据反馈电阻灵活设置,不一定比输入低。

比如输入12V、想输出−12V/0.5A,先算占空比D=12/(12+12)=0.5,电感平均电流IL_avg=0.5/(1−0.5)=1A,假设纹波系数0.3,则纹波电流约0.3A。开关频率150kHz下,电感值大约:

L = 12 × (1 − 0.5) / (150000 × 0.3) ≈ 133μH

反馈电阻重新按叠加公式算一遍,设Vin=12V、Vref=1.235V、|Vout|=12V,得到R1/R2=(12−1.235)/(1.235+12)=10.765/13.235≈0.81,可取R1=8.2kΩ、R2=10kΩ。输出电容耐压要留到25V以上,二极管耐压维持40V没问题,但峰值电流要重新核算。

如果想做±5V双电源,最直接的方法是用两路独立的降压芯片,一路正常Buck出+5V,另一路反相接出−5V,然后把两个输出端作为系统的±电源轨,中间共用系统GND。实测时注意两路芯片的开关频率如果相同且不同步,会产生差拍噪声;可以让两路轻微错相,或者在输出端加强滤波。还有一种做法是先共用一个前置电源,比如用一颗隔离DCDC分出隔离正负,但那就是另一个话题了。

如果是想给运放提供±12V,可以把正路用Boost或另一颗Buck再做一级,负路用上述反相参数生成。负路负载通常比正路小,所以不需要对称电流能力,设计时把负路最大负载算准就行,别让负路先限流。

信号链路的负轨还有一个细节:负压输出端的纹波会直接耦合到运放电源抑制比里,所以给运放的−5V最好在反相Buck输出之后再加一级LC滤波或者小功率负压LDO,隔离开关噪声。我实际做运放供电时,反相Buck本身输出纹波约30mV,加了一颗2.2μH电感加10μF电容的LC滤波后,纹波降到5mV以内,效果很明显。

7. 说点收尾经验

最后分享一个我个人在调试负压电源时的小习惯:每次上电前先确认输出电容的极性、续流二极管的方向、还有探头的接地夹位置。这三个点错一个,负压电路都不会给你第二次机会,基本上是同点亮。我见过好几次把电解电容极性装反,一上电电容直接炸开,声音还挺响的。后来我凡是做反相Buck-Boost,都会在PCB上把系统GND和负压输出用不同颜色标注,再在负压输出端串一个0欧电阻作为测试点,调试完再焊接成直通,这样万一接错负载也能把故障隔离在断点后面。

如果你后面要量产,建议优先选数据手册里直接写了反相/负压应用参考的芯片,并用官方工具验证环路。手头只有普通降压模块时也别慌,按这篇的思路重新梳理拓扑,负压照样能稳定跑起来。做电源这件事,看起来是搭电路,实际上是在每个电位、每个电流回路上较真。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询