ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

MOSFET栅极振荡抑制五法:从驱动电阻到开尔文连接

MOSFET栅极振荡抑制五法:从驱动电阻到开尔文连接 1. 栅极振荡到底在振什么从一次炸管事故说起三年前调一块48V/20A的同步Buck上电瞬间示波器上栅极波形直接糊成一团频率大概在30MHz到80MHz之间乱跳峰峰值冲到18V——而驱动芯片的绝对最大额定值只有20V。当时没当回事觉得能跑就行结果连续烧了六颗管子其中一颗直接炸开封装PCB上留下一个焦黑的坑。后来把探头换成弹簧地线、带宽限制到20MHz再看才发现真正的振荡幅度其实只有3V左右但那个尖峰是真实存在的只是被长地线引入的假信号放大了。这件事让我彻底明白一个道理MOSFET栅极振荡不是有没有的问题而是你能不能看见和你压不压得住的问题。它本质上是驱动回路里的寄生电感Lloop和MOSFET栅极电容Ciss构成的LC谐振再加上MOSFET内部的跨导gfs形成正反馈一旦环路增益在某个频点超过1就会自激。轻则EMI超标、效率下降重则栅源击穿、上下管直通。这篇内容适合三类人看一是正在调开关电源、电机驱动、Class-D功放的硬件工程师二是被EMI整改折磨得睡不着觉的PCB Layout三是刚入行、对驱动电阻为什么不能随便选还没概念的新人。我会把五种方法从原理到实操全部拆开每种方法都给出实测波形对比和适用边界最后再聊几个我踩过的坑。提示本文所有波形数据来自实际测试测试条件为Vbus48V、负载10A、环境温度25℃MOSFET型号为常见的100V/5mΩ N沟道管驱动芯片为4A峰值电流的专用驱动器。不同型号参数会有差异但规律是通用的。2. 先搞清楚振荡的源头驱动回路的寄生参数模型2.1 驱动回路里到底藏了多少电感很多人以为栅极振荡是MOSFET自己的问题其实不对。振荡的能量来自驱动芯片的输出跳变而谐振腔是由驱动回路的总寄生电感和栅极等效电容构成的。这个总电感包括驱动芯片内部键合线电感约1~2nHPCB走线电感约1nH/mm1oz铜厚、0.2mm线宽MOSFET栅极引脚内部键合线约2~5nH源极引脚内部键合线约2~5nH这个最容易被忽略但它和栅极电感是串联在回路里的驱动回路的地回路电感取决于Layout可能高达10nH以上把这些加起来一个典型的驱动回路总电感Lloop在10~20nH量级。而一个100V/5mΩ的MOSFETCiss大约在3~5nF。用LC谐振公式算一下f 1 / (2π√(Lloop × Ciss))代入Lloop15nH、Ciss4nF得到f≈20.5MHz。这跟我在示波器上看到的30~80MHz虽然不完全吻合但数量级是对的——因为实际振荡频率还会被MOSFET的跨导、驱动芯片输出阻抗、PCB的分布电容等因素调制。2.2 为什么源极电感比栅极电感更致命这里要单独讲一个反直觉的点源极寄生电感Ls对栅极振荡的贡献比栅极电感Lg更大。原因是源极电感上的电压会直接叠加到栅源电压上。当漏极电流快速变化时Ls上产生的压降为V_Ls Ls × di/dt这个压降的方向是抬升源极电位等效于栅源电压被减小。但在振荡过程中这个反馈是正相的——漏极电流的振荡通过Ls耦合回栅极回路形成正反馈维持振荡。这就是为什么开尔文源极连接Kelvin Source能显著改善振荡它把驱动回路的源极返回路径和功率回路的源极路径分开让Ls不再串在驱动回路里。我实测过同一块板子把源极引脚到驱动芯片地的走线从共用功率地改成独立开尔文走线振荡幅度从4.2V降到1.8V效果立竿见影。但代价是需要MOSFET有独立的源极检测引脚或者至少要在封装上把源极引脚分开走。2.3 振荡的两种模式欠阻尼振铃 vs 持续自激栅极波形上的振荡分两种处理思路完全不同振荡类型波形特征根本原因处理优先级欠阻尼振铃只在开关沿出现几个周期后衰减回路Q值过高阻尼不足先加阻尼持续自激整个导通/关断期间都在振不衰减正反馈环路增益1先断反馈欠阻尼振铃是一次性的能量来自开关沿的阶跃激励只要加够阻尼就能压下去。持续自激就麻烦了它说明驱动回路和功率回路形成了稳定的正反馈这时候光加驱动电阻可能压不住必须从Layout或电路拓扑上断掉反馈路径。判断方法很简单把驱动电阻从10Ω换到22Ω如果振荡明显减弱就是欠阻尼振铃如果换了电阻振荡频率和幅度都没什么变化那大概率是自激得查源极电感和共源极阻抗。3. 方法一驱动电阻的选型不是越大越好3.1 驱动电阻到底在阻尼什么驱动电阻Rg的作用是在LC谐振回路里引入串联阻尼。从控制理论看驱动回路的传递函数可以近似为一个二阶系统阻尼比ζ与Rg的关系是ζ (Rg Rdrv) / 2 × √(Ciss / Lloop)其中Rdrv是驱动芯片的输出内阻。要让系统临界阻尼ζ1需要的Rg为Rg 2√(Lloop / Ciss) - Rdrv代入Lloop15nH、Ciss4nF、Rdrv1Ω得到Rg≈2×√(15/4) - 1 ≈ 2.87Ω。这是理论上的最小阻尼电阻。实际取值通常要比这个大2~5倍因为还要考虑温度变化、器件离散性和PCB寄生参数的波动。但Rg不能无限加大因为它会直接影响开关速度。开关损耗Esw与Rg的关系近似为Esw ∝ (Vbus × Id × (Qg × Rg / Vdrv)) / 2Rg越大开关时间越长开关损耗越高。所以驱动电阻的选型本质上是在振荡抑制和开关损耗之间找平衡点。3.2 实测不同Rg下的波形对比我在同一块板子上换了五种驱动电阻用高带宽差分探头测栅源电压记录振荡峰峰值和开关时间Rg (Ω)振荡峰峰值 (V)上升时间 (ns)下降时间 (ns)开关损耗估算 (μJ)2.25.81293.24.73.118144.8101.632268.5220.9655217.2470.513010534.6从数据看Rg从2.2Ω加到10Ω振荡峰峰值降了72%但开关损耗只增加了1.6倍从10Ω加到47Ω振荡只再降44%开关损耗却翻了4倍。10Ω附近是这块板子的甜点区。但要注意这个甜点区不是固定的。如果你的Layout很差Lloop很大甜点区会往大电阻方向移动如果用了开尔文连接Lloop很小甜点区可能降到4.7Ω甚至2.2Ω。3.3 分离式驱动电阻开通和关断分开调很多时候开通和关断对阻尼的需求不一样。关断时MOSFET的跨导更高更容易自激所以关断电阻通常要比开通电阻大。这时候可以用分离式驱动电阻在驱动回路里并联一个二极管和电阻让开通和关断走不同的路径。具体接法驱动芯片输出经过一个电阻Rg_on到栅极同时并联一个二极管D电阻Rg_off的支路二极管方向是关断时导通。这样开通时电流走Rg_on关断时电流走Rg_off。我实测过Rg_on4.7Ω、Rg_off10Ω的组合开通振荡峰峰值3.5V关断振荡峰峰值1.2V比单用10Ω时开通更快、关断更稳。这个技巧在电机驱动里特别有用因为电机驱动对开通速度要求高减少死区损耗但对关断稳定性要求更高防止直通。注意分离式电阻的二极管要选反向恢复时间短的比如肖特基或快恢复二极管否则二极管自身的反向恢复会引入新的振荡。4. 方法二栅极电容的以毒攻毒策略4.1 为什么加电容反而能压振荡第一次听到在栅源之间加电容能压振荡的时候我觉得这是反直觉的——加电容不是让Ciss更大、谐振频率更低吗但仔细想加电容确实能压振荡原因是它降低了谐振频率同时提高了阻尼比。从阻尼比公式看ζ ∝ √(Ciss / Lloop)。Ciss增大ζ增大系统更接近过阻尼。同时谐振频率f ∝ 1/√(Ciss)频率降低后驱动芯片的输出阻抗和PCB的损耗介质损耗、铜损对高频的衰减作用更强。但加电容的代价是开关速度变慢、驱动损耗增加。每开关一次这个电容上的能量C×V²/2都要被驱动芯片充放电一次全部变成热。所以加电容只适合开关频率不高、对效率不敏感的场景比如继电器驱动、低速电机驱动。4.2 实测不同Cgs下的波形对比我在栅源之间并联了不同容值的电容保持Rg4.7Ω不变Cgs附加 (nF)振荡峰峰值 (V)谐振频率 (MHz)驱动损耗增加 (mW 100kHz)03.142012.231122.21.424264.70.81756100.412120从数据看加2.2nF能把振荡压到1.4V驱动损耗只增加26mW在100kHz下完全可以接受。但如果是500kHz以上的高频应用120mW的额外损耗就很可观了。4.3 电容的选型C0G是唯一选择加在栅源之间的电容必须用C0G/NP0介质绝对不能用电解电容或X7R/Y5V。原因是X7R/Y5V的容值随电压和温度变化大在栅极电压跳变时容值可能变化50%以上阻尼效果不稳定铁电介质的压电效应会把机械振动转化为电信号引入额外的噪声C0G的等效串联电阻ESR和等效串联电感ESL都极低不会引入新的寄生谐振封装上优先选0402或0201减小ESL。我试过用0603的X7R电容结果振荡没压住反而多了一个8MHz的新振荡换成0402的C0G后问题消失。提示如果驱动芯片本身有可调的驱动能力比如通过外部电阻设置输出电流优先调驱动能力而不是加电容因为加电容会增加驱动芯片的功耗。5. 方法三PCB布局的三短一粗原则5.1 驱动回路面积最小化所有振荡的根源都是寄生电感而寄生电感正比于回路面积。驱动回路的面积包括驱动芯片输出到栅极的走线栅极到源极的走线在MOSFET内部源极回到驱动芯片地的走线这三段走线围成的面积就是驱动回路的有效面积。面积越小Lloop越小振荡越弱。实操上要做到三短一粗驱动芯片到MOSFET的距离最短最好在10mm以内超过20mm就要考虑加缓冲器栅极走线最短不要绕弯不要为了好看走等长线源极返回路径最短源极到驱动芯片地的走线要独立、直接不要经过功率地走线要粗至少0.5mm线宽有条件用1mm降低走线电感我对比过两块板子一块驱动芯片离MOSFET 8mm、走线0.3mm宽另一块离3mm、走线0.8mm宽。同样的电路参数第一块振荡峰峰值4.5V第二块只有1.2V。布局的差异比驱动电阻的差异还大。5.2 开尔文源极连接的具体做法开尔文源极的核心思想是让驱动回路的源极返回路径和功率回路的源极路径分开只在MOSFET的源极引脚处单点连接。具体做法从MOSFET的源极引脚引两条独立的走线一条走功率地连接输入电容的负极和负载回路一条走驱动地连接驱动芯片的GND引脚两条走线只在MOSFET源极引脚处汇合汇合点尽量靠近引脚这样功率回路的大电流不经过驱动回路的源极走线Ls被隔离在功率回路里不再串入驱动回路。但要注意开尔文连接对MOSFET封装有要求。TO-220、TO-247这类封装只有一个源极引脚做不了真正的开尔文连接。要用DFN、PowerPAK这类有独立源极检测引脚的封装或者至少用TO-263这种源极引脚比较多的封装。5.3 驱动地与功率地的单点连接驱动地和功率地必须单点连接连接点选在输入电容的负极附近。如果驱动地和功率地多点连接功率回路的大电流会在驱动地上产生压降这个压降会通过驱动芯片的GND引脚耦合到栅极回路引入新的振荡。我见过一个案例驱动地和功率地在PCB上通过一大片铺铜连接结果开关时驱动地上的噪声高达2V栅极波形上叠加了严重的振铃。后来把铺铜切开只在输入电容负极处用0Ω电阻单点连接噪声降到200mV以下。注意单点连接的位置很关键。如果连在MOSFET源极附近功率回路的电流还是会经过驱动地连在输入电容负极功率回路的电流在输入电容处就被旁路了不会流到驱动地。6. 方法四缓冲电路与铁氧体磁珠的配合使用6.1 RC缓冲电路吸收高频能量RC缓冲电路Snubber接在MOSFET的漏源之间作用是吸收开关瞬间的高频能量减少漏极电压的过冲和振铃。但很多人不知道漏极的振铃会通过米勒电容Cgd耦合到栅极所以压住漏极振铃也能间接压住栅极振荡。RC缓冲的设计步骤测量漏源电压的振铃频率f_ring用已知电容C_test并联到漏源之间观察频率变化计算寄生电容C_par缓冲电容C_snub 3 × C_par经验值缓冲电阻R_snub 1 / (2π × f_ring × C_snub)缓冲电阻的功率要大于C_snub × Vbus² × f_sw我实测过一个案例漏源振铃频率65MHz寄生电容约200pF选了680pF的缓冲电容和3.9Ω的缓冲电阻。加缓冲后漏源过冲从72V降到58V栅极振荡峰峰值从3.8V降到2.1V。代价是缓冲电阻上消耗了约0.8W的功率需要选2W以上的电阻。6.2 铁氧体磁珠高频阻尼的利器铁氧体磁珠串在栅极走线上对高频呈现高阻抗对低频开关频率呈现低阻抗。它的作用是在不影响开关速度的前提下增加高频阻尼。选型要点磁珠的阻抗峰值频率要覆盖振荡频率比如振荡在40MHz选峰值在40~100MHz的磁珠磁珠的直流电阻要小0.1Ω否则会影响驱动电压磁珠的额定电流要大于驱动峰值电流我试过在栅极串一个0603封装的磁珠100MHz时阻抗600ΩDCR 0.05Ω振荡峰峰值从3.1V降到1.5V而上升时间只从18ns增加到21ns几乎不影响效率。这个方案比加驱动电阻更精准因为它只衰减高频不衰减开关沿的有用分量。但磁珠有个坑它和栅极电容会形成新的LC谐振。如果磁珠的阻抗峰值频率和Ciss的谐振频率不匹配可能引入新的振荡。所以选磁珠的时候一定要看阻抗-频率曲线确保峰值频率在振荡频率附近而不是在开关频率的谐波上。6.3 缓冲电路和磁珠的配合缓冲电路和磁珠可以同时用但要注意分工措施作用位置主要抑制副作用RC缓冲漏源之间漏极振铃、米勒耦合增加损耗铁氧体磁珠栅极走线栅极高频振荡可能引入新谐振驱动电阻驱动回路全频段阻尼增加开关损耗栅源电容栅源之间降低谐振频率增加驱动损耗我的经验是先用Layout和驱动电阻解决80%的问题剩下的20%用磁珠或缓冲电路微调。不要一上来就堆措施那样既增加成本又增加调试难度。7. 方法五有源米勒钳位与负压关断的组合拳7.1 米勒效应引起的误导通在桥式电路里当下管关断、上管开通时下管的漏极电压快速上升这个dv/dt会通过米勒电容Cgd耦合到栅极产生米勒电流I_miller Cgd × dv/dt这个电流流过关断电阻Rg_off在栅极上产生一个电压尖峰。如果这个尖峰超过MOSFET的阈值电压Vth下管就会误导通造成上下管直通瞬间炸管。米勒电流引起的栅极电压尖峰为V_spike Cgd × dv/dt × Rg_off要防止误导通要么减小Rg_off但会加剧振荡要么用有源米勒钳位。7.2 有源米勒钳位的原理与实测有源米勒钳位Active Miller Clamp的原理是在MOSFET关断期间用一个低阻抗的开关通常是内部MOSFET把栅极直接钳位到源极或负压让米勒电流不经过Rg_off而是直接旁路到地。实测数据在dv/dt50V/ns的条件下不用米勒钳位时栅极尖峰达到4.2VVth3V已经误导通用米勒钳位后尖峰降到1.1V完全安全。同时因为米勒钳位提供了低阻抗关断路径驱动电阻可以选得更小比如从10Ω降到4.7Ω开关速度更快效率更高。7.3 负压关断最彻底的防误导通方案负压关断是在MOSFET关断时把栅极电压拉到负值比如-5V这样即使有米勒尖峰栅极电压也不会超过Vth。负压关断需要驱动芯片支持负压输出或者用变压器隔离驱动。负压关断的优点是彻底解决误导通问题缺点是增加驱动电路的复杂度负压会增加关断时的栅极电荷抽取量驱动损耗增加如果负压太深比如-10V可能超过MOSFET的栅源绝对最大额定值我一般推荐-3V到-5V的负压既能防误导通又不会给栅极太大压力。实测在-4V负压关断下即使dv/dt达到80V/ns栅极尖峰也只有-1.2V远低于Vth。提示负压关断和米勒钳位可以同时用但要注意时序。米勒钳位要在栅极电压降到负压之前就生效否则米勒电流还是会经过Rg_off。8. 五种方法的适用边界与组合策略8.1 不同场景下的方法选择五种方法不是互斥的而是要根据场景组合使用。我整理了一个选择矩阵场景首选方法次选方法不推荐低频100kHz、效率不敏感栅源电容驱动电阻有源米勒钳位高频500kHz、效率敏感开尔文Layout铁氧体磁珠栅源电容桥式电路、dv/dt高有源米勒钳位负压关断单纯加大Rg成本敏感、空间受限驱动电阻Layout优化缓冲电路EMI整改铁氧体磁珠RC缓冲负压关断8.2 组合策略从Layout到有源钳位的递进我的调试顺序通常是先查Layout驱动回路面积、开尔文连接、单点接地。这一步能解决大部分问题而且不增加成本。再调驱动电阻从10Ω开始往下调到振荡可接受的最小值。如果10Ω还压不住说明Layout有问题回去改Layout。加铁氧体磁珠如果驱动电阻已经调到影响效率了振荡还是超标在栅极串磁珠。加栅源电容只在低频场景用高频场景慎用。上有源米勒钳位或负压关断桥式电路防直通或者dv/dt极高的场景。这个顺序的逻辑是先解决不花钱的问题Layout再解决花钱少的问题电阻、磁珠最后解决花钱多的问题有源钳位、负压驱动。8.3 一个真实案例的完整调试记录最后分享一个我最近调的电机驱动板案例。条件48V供电、20A峰值电流、开关频率20kHz、MOSFET是100V/3mΩ的DFN封装。初始状态栅极振荡峰峰值6.2V漏源过冲78V额定100V效率92.3%。第一步检查Layout发现驱动芯片离MOSFET 15mm源极返回路径经过功率地。改板驱动芯片移到5mm以内源极独立开尔文走线到驱动地。振荡降到3.8V过冲68V效率92.8%。第二步驱动电阻从10Ω调到4.7Ω。振荡降到2.1V过冲62V效率93.5%。第三步栅极串0603磁珠100MHz/600Ω。振荡降到1.2V过冲58V效率93.4%磁珠DCR引入的损耗。第四步漏源加RC缓冲470pF4.7Ω。过冲降到52V振荡1.0V效率93.0%。最终方案Layout优化4.7Ω驱动电阻磁珠RC缓冲。振荡从6.2V降到1.0V过冲从78V降到52V效率从92.3%提升到93.0%。虽然加了缓冲损耗但开关损耗降低的幅度更大整体效率反而提升了。这个案例说明振荡抑制和效率提升不一定是矛盾的。很多时候压住振荡反而能降低开关损耗因为振荡本身就在消耗能量。9. 几个我踩过的坑和反直觉经验9.1 探头地线比振荡本身更可怕最开始调振荡的时候我用普通示波器探头长地线测栅极波形看到的是18V的尖峰吓得赶紧加驱动电阻。后来换了弹簧地线发现真实尖峰只有3V。长地线引入的假信号可能比真实振荡大5倍以上。测栅极振荡必须用弹簧地线不要用鳄鱼夹差分探头如果必须用单端确保地线尽可能短带宽限制到20MHz滤掉探头和地线引入的高频假信号9.2 驱动电阻不是越大越稳有一次为了压振荡把驱动电阻加到100Ω结果振荡确实没了但开关损耗大到MOSFET烫手效率从93%掉到88%。更坑的是驱动电阻太大时米勒效应引起的误导通反而更严重因为关断太慢dv/dt期间栅极电压被米勒电流抬得更高。驱动电阻的选型要同时看振荡和效率不能只看振荡。9.3 磁珠选错频率反而加剧振荡我试过用一颗峰值在10MHz的磁珠串在栅极结果振荡频率从40MHz变成了15MHz幅度还大了。原因是磁珠在40MHz时阻抗已经很低了没起到阻尼作用反而它的寄生电容和栅极电容形成了新的谐振。选磁珠一定要看阻抗-频率曲线确保峰值频率覆盖振荡频率。9.4 开尔文连接不是万能的开尔文连接能隔离源极电感但如果驱动芯片的地本身就很脏比如和功率地多点连接开尔文连接的效果会大打折扣。开尔文连接必须配合单点接地否则只是把噪声从一个地方搬到另一个地方。9.5 温度会影响振荡MOSFET的跨导gfs随温度升高而降低但Ciss基本不变。所以冷机时振荡可能比热机时更严重gfs高正反馈强。我遇到过冷机振荡5V、热机振荡2V的情况。调试时要在冷机和热机两种状态下都测。10. 写在最后振荡抑制的底层逻辑调了这么多年栅极振荡我最大的体会是振荡不是靠某一个措施消灭的而是靠整个驱动回路的系统阻尼压下去的。驱动电阻、磁珠、电容、缓冲电路都是在不同频段、不同位置增加阻尼。Layout优化则是从源头上减小激励能量。如果你只能记住一件事记住这个驱动回路面积每减小一半寄生电感大约减小一半振荡幅度大约减小30%。所以下次遇到振荡先别急着换电阻拿放大镜看看你的驱动回路走线大概率能找到问题。另外示波器上的波形不一定是真的。测振荡之前先确认你的探头和地线不会骗你。我见过太多人对着假波形调了半天真实振荡其实早就达标了。最后分享一个快速判断振荡严重程度的方法把驱动电阻从当前值翻倍如果振荡幅度下降超过50%说明是欠阻尼振铃加阻尼有效如果下降不到20%说明是自激得查Layout和源极电感。这个方法我用了很多年基本一测一个准。
返回列表