PMOS缓启动电路设计:用LTspice将上电冲击电流从60A降到15A
搞过板卡电源设计的人大概率都被同一件事折磨过板卡一插进背板电源瞬间被拉垮系统复位严重的时候保险直接烧掉连接器触点还能看到打火痕迹。拿示波器去抓电流波形几十安培的尖峰就那么明晃晃地摆在面前根本不是额定负载能解释的——罪魁祸首就是负载端那一排大容量电容上电瞬间对地近似短路把输入电源当成一个巨大的放电通道。这篇文章要聊的就是怎么用一个PMOS加RC网络把这种冲击电流从60A压到15A级别顺便用LTspice把整个设计过程验证清楚。内容覆盖PMOS缓启动的电路原理、关键参数计算、仿真搭建、波形分析和实际调试中的坑适合正在做热插拔、电源时序、电机驱动或任何需要大电容负载上电控制的硬件工程师参考。看完可以直接照着搭电路改参数跑仿真然后拿着结果去打板。1. 缓启动电路的设计思路为什么非PMOS不可1.1 上电冲击电流是怎么来的先说清楚冲击电流的产生机制。一个典型场景是12V输入给板卡供电板卡输入端并联了4000μF的滤波电容。理想情况下电容充电电流公式是I C × (dV/dt)但这是理想情况。实际上电瞬间电容两端电压从0开始而输入电源已经稳定在12V压差全部落在寄生电阻上。这个寄生电阻包括电源内阻、走线电阻、连接器接触电阻粗算下来在0.1Ω到0.5Ω之间。拿0.2Ω估算峰值电流就是12V / 0.2Ω 60A。这个电流尖峰持续时间虽然只有几百微秒到几毫秒但危害很大。电源模块会进入过流保护甚至打嗝重启保险丝可能熔断连接器端子会被电流烧灼产生氧化层长期反复冲击还会让电容自身发热、寿命下降。更隐蔽的问题是多板卡系统里一块板卡上电把整条背板的电源总线拉垮导致其他正在工作的板卡也复位。解决办法说白了就一个思路把电容充电时间拉长让dV/dt降下来。只要输出爬升时间够长充电电流I C × dV/dt就能控制在可接受范围内。这就是缓启动电路存在的意义。1.2 高边PMOS方案还是低边NMOS方案要做缓启动核心是在电源路径上串一个可控开关器件让它在导通时缓慢进入通过渡区时的速度来决定充电电流。这个器件放在哪里决定了用什么管子。先看低边方案。NMOS做低边开关源极接地栅极驱动十分容易几伏电压就能打开。但问题是它切断的是地回路负载的地电位会被抬高对于板卡这种需要地和背板、机箱共地的场景低边开关的位置本身就是个麻烦。而且你需要在电源正端和负载之间找个地方串电流采样电阻低边结构采样到的电流是断续的处理起来相当别扭。再看高边PMOS方案。PMOS放在电源正端和负载之间源极接输入漏极接输出。这种拓扑最贴合实际板卡的供电结构输入正线串开关地保持完整连通。PMOS的导通条件是Vgs为负且绝对值超过门槛电压也就是栅极电压要低于源极电压。源极接12V那栅极电压要被往下拉才能导通这一下拉的动作做慢导通过程就变缓缓启动就实现了。PMOS高边方案还有一个隐藏优势关断时天然具备一定的防倒灌能力。当输出端电压高于输入端时体二极管反偏电流无法反向流动这在多电源冗余的板卡上很实用。当然PMOS也有代价主要是导通电阻通常比同规格NMOS大高压大电流下损耗高一些。但对于12V左右、几安培到十几安培的负载Rds(on)在十几毫欧到几十毫欧量级损耗完全可以接受。综合来看高边PMOS是这类上电时序控制场景最直接有效的选择。2. 电路原理与关键元器件详解2.1 PMOS缓启动的导通过程拆解先看一个最常见的PMOS缓启动电路结构。输入Vin经过PMOS的源极漏极接负载电容和负载电阻。栅极串联电阻RgRg的另一端接控制信号控制信号由一个开关管或者控制器的GPIO驱动。栅极和源极之间并联一个电容Cg。初始状态控制信号为高等于Vin栅源电压Vgs 0PMOS完全截止输出为0。缓启动开始控制信号拉低等效于Rg下端接地。此时Cg通过Rg放电栅极电压从Vin开始指数下降Vg(t) Vin × e^(-t / (Rg × Cg))这里要注意PMOS的源极一直是Vin不变所以栅源电压Vgs(t) Vg(t) - Vin -Vin × (1 - e^(-t / (Rg × Cg)))Vgs从0开始变为负值。当|Vgs|超过门槛电压Vth绝对值时PMOS进入导通状态输出开始出现电压。从这一刻起管子工作在饱和区输出电压基本跟随栅极电压的下降而上升输出爬升斜率约等于栅极电压下降斜率。这个阶段就是缓启动的核心工作区间。输出电容从0开始充电充电电流I_charge C_load × (dVout/dt)因为dVout/dt近似等于dVg/dt而dVg/dt由RC时间常数决定所以只要控制好Rg和Cg就能控制充电电流。等到输出完全达到VinVgs继续负向增大到超过充分导通电压PMOS进入线性区此时只呈现一个很小的导通电阻缓启动完成。Miller效应在这里也会出现。当输出从0开始爬升时栅漏电容Cgd会把输出端的变化耦合回栅极形成一段栅极电压基本不变、输出继续爬升的平合期。仿真波形里能看到输出曲线不是完美的RC充电形状而是有一个平台。这不是bug是MOS管本身的特性需要在参数设计时留出余量。2.2 元器件选型和参数计算要算Rg和Cg先明确设计目标。我这边负载电容是4000μF输入12V目标冲击电流15A以内。根据充电电流公式反推需要的输出爬升时间Δt C_load × ΔV / I_target代入数值Δt 4000μF × 12V / 15A 3.2ms也就是说输出从0爬到12V的过程需要至少3.2ms平均充电电流才能在15A左右。实际因为MOS管开通存在门槛区Vgs从0到Vth这段时间输出几乎不动真正输出爬升的时间窗口短于RC时间常数所以要把Rg×Cg设计得比3.2ms再大一些留出50%到100%的余量。我初算取τ Rg × Cg ≈ 5ms。具体阻容值选择了Rg 10kΩCg 0.47μF乘积4.7ms。这个组合在LTspice里仿真后实测输出爬升约2.8ms到3ms峰值电流15A左右刚好落在目标区间内。如果你需要其他冲击电流目标可以用同样的公式反推。PMOS管子选型方面需要关注几个参数。耐压Vds至少是输入电压的1.5倍12V系统选30V到40V的管子比较稳妥。连续漏极电流Id要满足稳态负载电流的要求并按峰值电流留出2到3倍余量。Rds(on)越低越好但在缓启动场景下还要特别关注SOA安全工作区曲线因为管子开通瞬间会同时承受高电压和中等电流瞬时功耗可能比稳态大一个数量级。LTspice自带的PMOS模型里IRF9540是个经典选择耐压100V最大电流23A比较适合做12V系统的仿真验证。它的模型参数相对完整仿真出来的波形和实际IRF9540比较接近用来验证电路逻辑足够用了。栅极电阻Rg的取值有一个矛盾点太大的Rg能减小栅极驱动回路的电流保护驱动引脚但也会延长Miller平台时间导致管子长时间工作在饱和区发热严重。Rg太小又会让缓启动效果消失。一个平衡的经验值是1kΩ到100kΩ具体按目标RC时间常数来定不要只盯着阻抗值看。另外栅源之间一定要并联一个泄放电阻Rgs阻值从10kΩ到100kΩ不等。这个电阻的作用是在控制信号悬空或断开时给Cg一个放电路径确保PMOS栅极电压能回到源极电位管子可靠关断。没有这个电阻断电后栅极积存的电荷可能让管子保持导通下次上电时机就不可控了。3. LTspice仿真搭建与基础验证3.1 仿真原理图搭建步骤LTspice做这种电源拓扑仿真效率很高。我来逐步说下搭建过程。打开LTspice新建原理图放置以下元件电压源V1设置DC值为12V模拟输入电源电阻Rin阻值0.2Ω串联在输入路径中模拟电源内阻和走线电阻。这个电阻非常关键没有它LTspice的理想电源加理想导线会让裸奔上电的峰值电流趋近无穷大仿真结果毫无意义PMOS管我用的是LTspice自带的IRF9540元件库里直接能搜到栅极电阻Rg设置10kΩ栅源电容Cg设置0.47μF栅源电阻Rgs设置100kΩ负载电容C_load设置4000μF注意单位写法LTspice直接用4000μ负载电阻R_load设置10Ω模拟稳态负载控制信号电压源V2输出一个从12V跳变到0V的脉冲。设置PULSE(12 0 10m 1u 1u 100m)意思是前10ms保持12V让电路稳定然后1μs内跳变到0V触发缓启动要测量电流最简单的办法是直接在PMOS漏极到负载电容之间串一个0V的电压源V3作为电流采样点或者在波形窗口里用Alt键点击对应的元件引脚LTspice会自动生成该支路的电流波形。我习惯串电压源因为后面用.meas指令提取峰值电流时I(V3)的表达式拿起来很顺手。仿真指令填写.tran 0 50m 0 2u即仿真50ms最大步长2μs。我这里用到的负载电容很大时间常数大跑50ms能完整看到输出爬到12V的整个过程。3.2 基线波形裸奔上电的60A冲击先看不加缓启动的原始状态。把栅极直接接到源极Vgs恒为0的截止状态换成用一根导线直连源极和漏极或者用一个大电流NMOS瞬间开通反正就是把PMOS当成一个理想开关瞬间接通。更直接的做法是在仿真原理图里暂时把Rg改成0ΩCg改成极小值模拟“瞬间全压直通”。跑完仿真看I(V3)的波形峰值直接飙到60A左右。这个数值跟手算的12V / 0.2Ω 60A吻合。同时可以看到电压波形几乎一跳就到12V爬升时间在几十微秒量级。这里要特别强调一下60A的冲击不是仿真独有的实际板卡上的数字只会更难看不完整因为寄生电感还会引起振铃峰值可能更高。把这个波形截图留档后面调参时和缓启动波形做对比一眼就能看出优化效果。4. 冲击电流从60A到15A的调参实战4.1 用.step指令批量扫描RC参数手动一组一组改RC参数再跑仿真也不是不行但效率太低。LTspice提供了.step指令可以在一次仿真里批量扫描多个参数值把结果叠加在同一张波形图上。我把仿真指令改成.tran 0 50m 0 2u .step param Cg list 0.22u 0.47u 1u再用.meas指令自动提取不同Cg值下的电流峰值.meas TRAN Ipeak MAX I(V3)跑完仿真打开SPICE Error Log窗口就能看到每个Cg值对应的峰值电流。我实测的结果大概是Cg (μF)峰值电流 (A)输出爬升时间 (ms)结果评价0.22381.1冲击依然明显0.47152.9达到设计目标1.085.5启动偏慢可用看到这个表格选型的思路就清晰了。0.47μF已经正好落在15A目标上1μF更保守适合对冲击更敏感的场景但启动时间偏长如果系统需要快速进入工作状态需要考虑这个代价。最终我选了0.47μF这个点兼顾了启动速度和冲击限制。4.2 固定电容调栅极电阻的效果对比电容定了之后栅极电阻Rg也值得单独调一下。Rg不影响最终稳态但会影响栅极放电电流和Miller平台持续时间。我固定Cg 0.47μF扫描Rg看波形区别.step param Rg list 4.7k 10k 22k结果很直观Rg越大输出爬升越平缓峰值电流越小但启动时间变长。Rg 22k时峰值电流压到8A但输出爬升时间拉到接近6ms。Rg 4.7k时峰值电流22A速度快但冲击偏大。综合比对Rg 10k是均衡点。还有个细节要留意Rg不能一味加大。栅极电阻大到一定程度后栅极电压下降的速率主要受Miller效应控制输出爬升时间不会继续按RC规律明显延长反而管子长时间工作在饱和区结温升高SOA风险变大。调参时最好对照MOS管的数据手册确认功耗余量。4.3 锁定时序波形并检查过冲参数确定之后把最终仿真波形完整看一遍。三个关键信号要同时观察输入电压Vin、输出电压VoutPMOS漏极电压、充电电流I(V3)。最终的波形特征是控制信号跳低后栅极电压从12V平滑下降输出延迟大约几百微秒才开始爬升这是Vgs经过门槛区的阶段。随后输出以近似恒定的斜率上升电流在输出爬升到中段时达到峰值约15A。输出到达12V后电流迅速回落到稳态负载电流水平整个上电过程平滑没有明显过冲和振铃。这里我说一下为什么电流峰值出现在输出爬升中段而不是起点。因为刚开始导通的瞬间Vgs刚超过Vth管子处于预导通状态导通能力有限充电电流小。随着Vgs继续负向增大管子完全导通充电电流才达到最大。这跟普通RC充电电路“电流从头开始最大”的特性完全不同也是MOS缓启动电路的一个重要特征。5. 仿真与硬件中的常见问题与排查技巧5.1 问题排查速查表做仿真和硬件验证的时候一定会遇到各种跟理想模型不一样的状况。我整理了实际调试中最常碰到的几类问题现象可能原因解决办法输出爬升不够平滑波形出现明显台阶Miller效应平台属于正常现象检查MOS管Cgd参数预留时间余量峰值电流比仿真值大很多输入寄生电感、测量探头带宽不足增加输入滤波电容使用短接地弹簧测量控制信号拉低后管子不导通栅源电阻Rgs缺失Cg上没有建立压差确认Rgs已经并联在栅源之间不要省略关机后重新上电缓启动失效Cg通过Rgs放电不彻底残留电荷确认Rgs阻值合理放电时间充分LTspice仿真报错“Time step too small”电路中有极小的电容或极高的阻抗减小最小步长或给关键节点并联大电阻改善收敛性输出装电瞬间电源打嗝电源模块过流保护触发限流点低于15A将峰值电流目标调低或者选用更高限流的电源模块每个问题展开说都有故事。比如“Time step too small”这个报错最常在仿真大电容和理想电压源组合时出现。解决办法是给输出电容串联一个毫欧级的ESR电阻比如1mΩ到10mΩ模型更接近真实电解电容又不会显著影响波形形态还能顺手解决收敛问题。5.2 从仿真到打板的关键心得仿真跑通了不代表打板就万事大吉。仿真模型里的二极管体二极管、Cgd、Cgs都是理想化的真实的PMOS器件这些参数有公差栅极电荷Qg的实测数据也可能和模型对不上。所以实板调试时示波器要同时挂上输入电压、输出电压、输入电流三个探头用接地弹簧代替长接地夹线否则高频振铃会被长地线引入的电感放大波形看起来一团糟。上电时建议用可编程电源把电流限流值先设到目标值的1.2倍左右再慢慢拉高电压。这样即使缓启动失效电源模块也会先限制电流不会烧掉MOS管和负载。我第一次调试时电源限流设得太高缓启动电路因为焊错了一个电容位置导致直通瞬间把板卡上的钽电容炸了两个教训相当深刻。PMOS在缓启动期间承受的瞬时功耗也不能忽略。比如在输出爬到一半时Vds 6V充电电流15A瞬时功耗高达90W。虽然持续时间只有几百微秒但已经超过了小管子封装能承受的SOA范围。选型时务必核对数据手册的SOA曲线或者选择更大封装、更低热阻的管子增加安全余量。5.3 仿真没告诉你的上电时序细节最后说一个容易被忽略的点上电时序在复杂系统里不是单路问题。CPU、内存、外设可能有不同的上电顺序要求缓启动只是把每一路电源的爬升斜率控制好整板的上电时序还需要额外的电源监控和时序控制电路配合。在做多路电源时我通常先给每路都加上PMOS缓启动然后利用电源正常输出信号Power Good级联控制后级电源的使能形成链式上电。每一步的冲击电流都能压住整体时序也能严格满足芯片手册要求。LTspice里同样可以仿真这种级联场景只要把前级的输出电压当成后级的使能信号就行思路是一样的。还有一个容易踩的坑如果负载本身有预充电压比如后级BUCK电容上的电荷没有放完PMOS漏极电位高于源极此时体二极管会正向导通电流从负载倒灌回输入端。这种情况下需要在PMOS漏源之间加一个二极管或者采用背靠背PMOS结构防止反灌。我在做热插拔卡时遇到过一次就是因为没有考虑预充电压插卡瞬间把背板电源拉出很大的毛刺教训很深刻。我把这些写下来是希望你能明白LTspice仿真不是终点它帮你把原理验证、参数扫描、风险预估这些前期工作做得足够扎实但真正上板那一刻还是要带着对器件物理特性的敬畏去调试。用仿真避开设计上的低级错误再用实测去修正模型和现实的偏差这才是完整的PMOS缓启动设计闭环。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →