ARTICLE DETAIL

资讯详情

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

MOS管开关电路设计:五种常见结构、栅极驱动与工程实践全解析

MOS管开关电路设计:五种常见结构、栅极驱动与工程实践全解析 前阵子帮人修一台电动车控制器故障原因很简单下桥臂的MOS管击穿。换上同型号管子后我习惯性地拿示波器去点栅极波形结果发现驱动波形上升沿抖得跟心电图似的米勒平台拖得又宽又平。我当时就跟他说这管子换上去迟早还得烧。他没听半个月后果然又推回来了。这件事让我想起很多做硬件的朋友对MOS管开关电路的理解基本停留在栅极拉高就导通、拉低就关断的层面真的拉到实际项目里驱动方式、寄生参数、开关损耗、死区处理每一个环节都可能让电路翻车。这篇东西我打算把MOS管当开关用这件事从头到尾捋一遍重点放在五种最常见的开关电路结构上。我尽量少讲教科书里那些拗口的载流子迁移率之类的东西多讲点实际项目里怎么选结构、怎么搭驱动、怎么排查爆炸现场的经验。不管你是刚入门想做第一个PWM调速器还是已经在用MOS管做电源、电机驱动这篇应该都能给你点有用的东西。1. 从拉高拉低到安全关断MOS管开关的真正难点很多人第一次接触MOS管都是被那句电压控制器件栅极有电压就导通带进门的。这话没错但也就对了一半。MOS管当开关用难点从来不在导通而在怎么让它快速、可靠地导通再快速、干净地关断。这里面的变量远比想象中多。先过一遍最基础的知识。MOS管三个引脚栅极G、漏极D、源极S。N沟道增强型MOS管的导通条件是Vgs大于阈值电压Vgs(th)一般来说NMOS栅极比源极高10V左右就能完全导通而PMOS刚好反过来源极电压比栅极高10V左右导通也就是Vgs小于负的阈值。这里注意MOS管是电压控制理论上栅极几乎不取电流但栅极和源极、漏极之间存在寄生电容开关瞬间要给这些电容充放电所以说栅极不取电流指的是稳态动态时候栅极驱动电路实际是在给电容充放电瞬时电流可以很大。真正让开关电路变复杂的是寄生电容和米勒效应。MOS管内部天然存在Cgs、Cgd、Cds三个电容其中Cgd跨接在栅极和漏极之间。开关过程中漏极电压剧烈变化通过Cgd把变化量耦合回栅极等效到栅极输入端这个电容会被放大很多倍这就是米勒效应。表现为Vgs波形上出现一段平台——电压停在阈值附近不动但栅极驱动电流一直在给Cgd充电这段平台时间越长管子在线性区停留越久发热越严重。很多PWM调速电路发热严重、效率低根源往往就在这。另外还有个体二极管。MOS管的D和S之间天然存在一个寄生二极管方向从S指向D。这对开关电路影响很大NMOS的低端开关电路里如果负载是感性元件关断瞬间体二极管可以续流但也会让你在某些电路里关不断。后面讲到双向开关、防反接电路时会专门展开。还有一个很容易被忽视的问题是栅极悬空。MOS管栅极输入阻抗极高悬空状态下一点点静电或者噪声耦合就能让栅极电压超过阈值导致管子自己导通这在电池供电电路里最危险管子发热甚至爆炸往往就是这么来的。所以栅极必须要有确定电位这就是为什么几乎所有开关电路都要在栅源之间放电阻的原因。2. 五种MOS管开关电路逐点拆解说完了基础进入正题。下面这五种结构基本覆盖了从最简单的LED驱动到电机控制、BMS电池保护、电源防反接这些主流应用。每种我都按电路结构、工作原理、适用场景和坑位来写尽量完整。2.1 方案一NMOS低端开关——先把这个用熟练NMOS低端开关是最常见也最好用的结构。电路连接方式是负载一端接电源正极另一端接MOS管的漏极源极直接接地栅极接控制信号。当栅极电压高于源极一定值一般10V到12V时MOS管导通电流从电源经过负载流入漏极再从源极流到地负载得电。这个电路最大的优点是驱动简单。源极永远是0V你只要给栅极一个相对GND的正电压就行单片机IO通过三极管或者专用驱动芯片都可以轻松实现。NMOS本身也是所有MOS管里品类最丰富、价格最便宜、导通电阻最低的因为电子迁移率比空穴高同样的晶圆面积可以做出更低的Rds(on)。实际画板子的时候有几个细节必须处理。栅极串联电阻Rg几乎是标配一般取4.7欧到22欧作用是限制驱动电流、抑制振铃也可以降低EMI。栅源之间必须并联一个下拉电阻推荐10K到100K确保控制信号悬空时管子是关断的这个电阻能救你很多次。如果负载是继电器、电磁阀这类感性负载一定记得在负载两端并联续流二极管否则关断瞬间反电动势会把管子击穿。很多新手在这里栽跟头NMOS低端开关驱动继电器不并二极管一关就烧管换多好的管子都没用。这个电路的适用面非常广LED灯带调光、加热丝控制、继电器驱动、风扇调速、车灯控制只要能接受负载不在电源负端也就是负载不接地的场景低端开关都够用。注意负载必须放在电源和漏极之间而不是放在源极和地之间。如果负载放在源极和地之间导通后源极电压被负载抬升Vgs变小轻则管子不完全导通发热重则根本打不开——我见过不下十个人在这个低级错误上浪费时间。实测中我还习惯在漏源之间并联一个RC吸收比如100欧加102瓷片电容尤其是在开关频率不高的低频PWM场合。这个RC能吸收尖峰、减少振铃代价是有一点静态漏电流低频应用完全无所谓。2.2 方案二NMOS高端开关——源极跟随器的坑高端开关的负载连接方式是把MOS管放在电源正极和负载之间负载另一端直接接地。很多人想当然地认为把NMOS拿去控制正极不就行了吗结果一搭电路发现根本不通。问题出在栅极驱动电压上。以12V系统为例NMOS高端开关源极接负载漏极接电源正极。当MOS管导通后电流流过负载源极电压被抬升到接近12V。这时候要让MOS管维持导通栅极电压必须比源极高一个Vgs也就是要比12V还高栅极需要升到20V以上才能保证12V的系统完全开通。但你的控制器可能就提供一个12V或者5V信号根本够不着管子工作在放大区发热严重甚至完全关不掉。解决思路有这么几个。最简单粗暴的方案是改用PMOS这个下一节讲。如果必须用NMOS就要做自举升压或者用半桥驱动芯片。自举的原理是利用电源给一个自举电容充电在需要开通上管时把电容悬浮起来你需要的栅极电压等于电源电压加上自举电容上的电压正好比源极高出一个固定的值从而保证Vgs足够。自举电路有几个必须注意的点。自举电容的容量要参考MOS管的Qg来选一般不低于15V压降时能提供5到10倍Qg的电荷量工程上常见的是100nF到10uF之间。这个电容旁边一定串一个快恢复二极管防止电容上的电荷回流到电源。自举电路正常工作有一个前提负载需要有电流路径让自举电容能充电也就是说必须先把下管开通或者负载先导通到地否则上管首次开通就拉不起来了。很多第一次用IR2104这类芯片的人遇到的现象是上管不工作十有八九就是自举电容充不上电。如果你不想用驱动芯片也可以用一个小变压器或隔离电源专门给栅极供浮动电源这叫悬浮供电法。但工程上成本高不如自举来得干净。反正记住结论大功率NMOS做高端开关自举半桥驱动是标准答案。2.3 方案三PMOS高端开关——不用自举的电源开关PMOS高端开关结构和NMOS高端开关刚好镜像源极接电源正极漏极接负载负载另一端接地。导通条件是栅极电压比源极低超出阈值也就是Vgs为负通常让栅极比源极低10V到12V就能完全开启。最基本的控制方法是源极接电源栅极通过一个电阻接到电源默认关断然后用NPN三极管或者小NMOS把栅极拉低来实现导通。MCU输出高电平通过基极电阻驱动NPN三极管三极管导通后栅极被拉到接近地电位Vgs约等于负的电源电压PMOS完全导通。MCU输出低电平时三极管截止栅极被上拉电阻拉回电源电压Vgs0管子关断。这个电路不需要任何升压或者自举所有信号都参考GND非常好理解。PMOS高端开关最大的优点就在这里做电池电源开关、系统主电源通断、防反接保护这些场景一个PMOS加一个三极管就搞定了成本低、电路简单而且能真正切断电源正极。缺点也很明显PMOS的Rds(on)普遍比同规格NMOS大沟道导通损耗高价格也更贵。另外由于空穴迁移率低PMOS的开关速度天然比NMOS慢高频PWM场合超过几十千赫兹尽量别用PMOS做主开关否则开关损耗会让你怀疑人生。这里并不是绝对但20KHz以上的开关电源主MOS几乎清一色NMOS是有道理的。PMOS高端开关有一个非常典型且致命的坑上电瞬间的误导通。因为MOS管的栅源之间有寄生电容上电瞬间电源电压通过上拉电阻给这个电容充电这个充电过程需要时间。如果电源电压上升很快而栅极电位还没跟上Vgs就会在一瞬间变成负值超过阈值管子会误开通一下等到栅极被上拉电阻拉到电源电位才关断。这个误开通在输入电压突变或者热插拔时特别危险轻则负载闪一下重则电流冲击烧毁后端电路。解决方法是栅源之间并联一个适当的电容减缓栅极电压的变化速率或者把上拉电阻改小一点加快栅极跟随速度。这个坑我在做手持设备电源开关时踩过当时表现为插上电池设备会自动开机半秒又关掉查了半天才定位到是米勒电容导致上电误导通。2.4 方案四半桥互补驱动——电机和DCDC的地盘当你需要真正的双向电流控制比如直流电机正反转、同步Buck降压、推挽逆变就需要半桥结构。半桥由两个MOS管串联组成上面的称为上管、高端管、高边管下面的称为下管、低端管、低边管。两个管子交替导通把输出节点交替接到电源和地从而在负载上生成需要的波形。直接给两个栅极发互补PWM是不行的因为两个管子如果同时导通电源直接通过两个管子短路到地这个叫直通或穿通电流会瞬间冲到几百安培管子直接炸裂。解决直通的措施是设置死区时间也就是两个管子都关断的一段时间让上管完全关断后再开下管。死区时间太长会引入波形失真太短又有直通风险一般用几百纳秒到几微秒具体要看管子开关速度和栅极驱动强度。现在很多半桥驱动芯片和MCU高级定时器都内置了死区生成功能硬件的做法是在驱动芯片的DT引脚上接一个电阻来设定死区时间。半桥结构里上管驱动就是前面说的NMOS高端开关问题所以工程上几乎都用半桥驱动芯片。热门型号比如IR2104、EG2104、UCC27211这些内部集成了自举二极管和逻辑电平转换你只需要外接自举电容用MCU的PWM信号就能驱动。对于大功率应用栅极驱动电流不够的时候会在驱动芯片后面再加一级图腾柱——用两个三极管或者两个小MOS管搭成推挽输出级一个负责灌电流一个负责拉电流专门给栅极电容快速充放电。半桥结构的PCB布线也很讲究。驱动芯片到MOS管栅极的走线要短而粗自举电容要靠近上管的源极和驱动芯片的VS脚放置否则回路电感太大关断瞬间会产生很大的负压尖峰轻则驱动芯片误动作重则把栅极氧化层击穿。还有一个原则是驱动回路的地要单独走线不要跟功率地的强电流混在一起否则功率开关瞬间的di/dt会在驱动地回路里感应出噪声电压干扰栅极信号。我个人做半桥的经验是第一版板子一定要预留栅极电阻位置和测试点。栅极电阻不要一开始就焊死先用10欧做初始值上电后看波形再调整。预留的测试点方便示波器探头直接点上去量Vgs和Vds波形这个习惯能让你在调试阶段少走非常多弯路。2.5 方案五背靠背双向开关——电池保护和防反接最后这种结构很多人第一次看到会疑惑为什么要两个MOS管串在一起单个MOS管的体内二极管决定了它只能单向阻断电压当你需要真正的双向阻断或者双向导通时就要背靠背把两个管子串起来。这种结构在电池保护板BMS、防反接电路、交流信号开关、负载切换这些场合非常常见。以锂电池保护板为例它需要在充电、放电两个方向都能切断电流。单颗NMOS无法做到因为即使栅极关断体二极管还在电流还是能从一个方向流过。所以保护板里用两颗NMOS共源极串联一个负责放电过流/短路保护一个负责充电保护。控制逻辑取决于状态放电时一个管子栅极给高电平另一个给低电平就能让两个方向都断流。这就是为什么BMS板子上经常看到两颗一模一样的N管背靠背焊在一起。另一个很实用的背靠背应用是电源防反接。电源反接对设备的危害大家都懂传统方法是在输入正极串一颗大功率肖特基二极管防反接但二极管有0.3到0.5V的压降大电流下损耗非常可观。用两颗PMOS背靠背做防反接可以做到几乎零压降。接法是两颗PMOS共源极各自的漏极一个接输入正极一个接负载正极栅极接到系统地。电源极性正确时电流方向让两颗管子正常导通系统得电电源反接时体二极管方向不对管子也截止电流完全断掉。好点的PMOS内阻只有十几毫欧压降几乎可以忽略效率提升非常明显。这种结构要特别注意两个管子的源极连在一起后它们的栅极驱动参考电位是浮动的跟系统地不一样所以驱动要么用隔离驱动要么用专门的浮地驱动电路。BMS方案里通常直接用专用保护芯片因为芯片内部做了电平转换和延时判断。如果是自己用分立元件搭建议先用共漏极结构源极朝外简化驱动再考虑驱动参考问题。做这类型电路时我总是提醒自己一句话MOS管关闭不等于电流断开因为还有体二极管要做真正的断开必须考虑两个方向上的阻断路径。3. 栅极驱动回路的细节电阻、加速关断和自举电容五种电路结构讲完后你会发现所有坑最后都汇聚到一个地方——栅极驱动回路。我单独用一章把栅极驱动里最容易出问题的三个细节展开。第一个是栅极电阻的选型。很多朋友觉得栅极电阻就是个限流用的随便焊个10欧就行实际上这个电阻深刻影响开关速度和EMI。栅极电阻越大开关过程越长开关损耗越大管子发热越厉害但振铃和EMI会小一些。栅极电阻越小开关越干脆损耗越小但寄生电感和栅极电容容易形成高频谐振在栅极波形上产生振铃甚至过冲到超过Vgs绝对最大值打穿栅极氧化层。工程上我从4.7欧到47欧都见过最终取值需要根据驱动能力和对EMI的要求去实测调整。一个大方向是低频开关几千赫兹对开关损耗不太敏感可以取大一点比如22欧换取更干净的波形高频开关几十千赫兹以上要尽量取小同时通过RC吸收或者磁珠来压制EMI。第二个是加速关断。高频应用里关断过程比开通过程更关键。因为关断时如果栅极电荷泄放不够快管子长时间停留在线性区电压电流交叠的损耗会非常大。为了加速关断常见做法是在栅极电阻上并联一个二极管方向让开通电流经过电阻关断电流从二极管走。这样等于开通时慢一点关断时快一点在发热和EMI之间取得折中。另一个思路是用图腾柱推挽驱动用两个互补的三极管或者小MOS管一个管子负责快速灌入栅极电流另一个负责快速拉出栅极电荷开关边沿都非常陡。这个方法我强烈推荐给做电机驱动和开关电源的朋友成本就几分钱效果立竿见影。第三个是自举电容怎么算、怎么放。自举电容容值的工程经验公式是Cboot大于等于15倍总栅极电荷除以自举电容允许的电压跌落为了保险通常取10到20倍。具体就是Cboot 15Qg/dVdV一般取0.5V到1V。比如驱动一个Qg30nC的管子允许跌落1V那么Cboot至少是1530nC/1V 450nF取1uF就比较稳妥。电容位置必须非常靠近驱动芯片的VB和VS引脚走线尽量短粗。自举二极管要选快恢复型的反向耐压要高于电源电压加裕量否则关断瞬间的高压尖峰可能反向击穿二极管把电荷全部泄掉上管就直接罢工。栅源并联稳压管也是一个隐藏的保命设计。MOS管栅极氧化层的耐压一般只有±20V左右超过这个值就可能永久击穿。在实际电路里由于寄生电感和米勒效应的耦合栅极很容易出现超过额定值的电压尖峰所以相当多讲究的驱动电路会在栅源之间并联一颗15V或者18V的稳压管把Vgs钳位在安全范围内。有些分立器件本身内置了栅源保护二极管但如果你用的管子没有建议加上成本极低保护效果极好。4. 波形才是照妖镜排查异常与改进实测做MOS管开关设计我认为最重要的仪器就是示波器。我见过很多电工朋友靠摸管子温度和看冒烟位置来排查故障这种经验可以救命但太低效。示波器一上波形会告诉你所有答案。首先要学会测Vgs波形。探头尽量用弹簧接地环和探头尖直接点在栅极和源极引脚上不要用长长的接地夹因为那根长地线本身就是个大电感测出来的信号全是振铃根本不是你电路的真相。Vgs波形上重点看三样东西开通上升沿是否陡峭、米勒平台的宽度、关断下降沿是否平滑。米勒平台宽度直接反映驱动电路的推挽能力。如果你发现平台又宽又平说明驱动电流不够管子在线性区停留时间太长这时候要么减小栅极电阻要么换成图腾柱驱动要么提高驱动电压。如果你看到波形上有明显的高频振铃频率通常在几十兆赫兹到上百兆赫兹这是栅极回路寄生电感和Cgs/Cgd组成的LC谐振解决方法是增大栅极电阻或者把走线改短改粗或者加磁珠串联在栅极上。接下来看Vds波形。Vds的下降沿对应管子的导通过程上升沿对应关断过程。重点观察两个点一是关断瞬间有没有过冲尖峰这个尖峰来自负载电感和PCB寄生电感存储的能量电压尖峰等于L*di/dt尖峰一旦超过漏源击穿电压管子就会雪崩击穿容易炸管。处理办法是减小功率回路的寄生电感或者增加RCD吸收电路和TVS钳位。第二个要看的是Vds下降过程中有没有台阶这个台阶跟米勒平台是对应的台阶越长开关损耗越大。这里分享一个我调试同步Buck时的真实案例。第一版板子满载8A测试上管和下管都烫得不能摸效率只有82%。量波形时发现上管Vgs的米勒平台宽得离谱Vds下降沿接近1.2us明显是驱动不足。检查发现驱动芯片到栅极之间走线过长中间还过了一个过孔回路寄生电感太大而且栅极电阻取的是33欧驱动电流被限制得太狠。我把栅极电阻改成10欧然后把驱动芯片挪到紧挨着上管的位置自举电容也挪近走线缩短到原来的四分之一。再测米勒平台宽度缩小了三分之二效率升到91.5%温度也降下来了。整个过程没有换任何主功率器件纯粹是驱动回路的优化这就是波形分析的价值。做波形测量的另一个要点是注意地弹。示波器地线夹如果总是夹在功率地回路里测量Vgs时会看到很多高频噪声那些噪声很大程度是地平面瞬态电位差引起的误读。有时候示波器波形振铃其实是测量方法的问题不是电路的问题。我习惯在测量高端管时用差分探头没有差分探头时也要尽量把探头地和测试点压缩到最小环路面积避免把厕所里的臭味当成了饭菜的香味。5. 选型参数不是越多越好把握关键几个就够MOS管选型是最容易让人选择困难的环节。打开选型手册几十个参数密密麻麻列满一页光看都头晕。其实作为开关应用真正需要重点关注的参数就那么几个其他的在常规电源范围内影响有限。第一个是漏源耐压Vds。这个值要留足够裕量一般选实际工作电压的1.5到2倍。比如12V系统选30V或者40V的管子24V系统选60V48V系统选100V。耐压选低了一个电压尖峰就击穿选高了导通内阻和成本跟着涨所以也不是越大越好。第二个是导通电阻Rds(on)。这个参数直接决定导通损耗损耗等于电流的平方乘以电阻。举个例子12V电源下连续通过5A电流一颗Rds(on)20毫欧的管子导通损耗是550.020.5W这个损耗对一枚SOP-8封装的管子来说温升大概在30到40度勉强能接受。如果选的是80毫欧的管子导通损耗就变成2W这种情况下SOP-8封装基本扛不住必须换更大封装或者加散热片。第三个是关键中的关键——Qg总栅极电荷。很多刚接触MOS管的人看重阈值电压Vgs(th)和输入电容Ciss却忽视了Qg这是个很大的误区。Qg决定驱动这个管子需要的电荷总量也间接决定了开关速度和驱动电路的功耗。同样条件下Qg低的管子开关速度快、驱动损耗小但往往需要更高的驱动电压才能达到比较低的导通电阻。计算驱动损耗的近似公式是Pdrive QgVgsfsw一个Qg30nC的管子用10V栅压开关频率100KHz驱动损耗就是30nC10V100KHz0.03W看着不大但如果频率上到500KHz驱动功耗就明显影响效率了这在同步Buck和LLC这类高频拓扑里尤其重要。第四是安全工作区SOA。这是个经常被忽略但极其重要的参数。SOA曲线描述了管子在不同电压电流组合下允许工作的范围有直流线和不同脉冲宽度对应的脉冲线。开关应用里主要看脉冲SOA因为管子在线性区停留时间很短通常只有几百纳秒到几微秒。但正是这段线性区时间对应着高电压大电流同时存在的最恶劣工况如果超出SOA范围管子可能会立刻损坏即使没有立刻损坏反复冲击也会加速老化。这就是为什么有些管子静态参数看着挺好一上机就烧——它可能在开关暂态过程里走出了SOA边界。选型时可以估算开关过程中的最大瞬时功率拉到SOA曲线上对照一下心里就有数了。另外两个容易踩坑的参数是Vgs(th)的离散性和体二极管的恢复特性。Vgs(th)看起来是个固定值实际上在不同的漏极电流、不同温度下会有明显漂移同一批次管子之间也有差异。设计驱动电压时一定要留足余量保证最差情况下Vgs也远超Vgs(th)的最大值一般驱动电压取10V到12V比较保险。体二极管的反向恢复特性在同步整流和半桥电路里很关键恢复时间长的体二极管会在死区时间内产生额外的开关损耗甚至振铃严重时可能引发上下管直通。用在高频场合的管子要选体二极管恢复快的原生工艺管或者干脆外并肖特基。实际选型流程我通常是先确定Vds和最大电流锁定封装尺寸再对比Rds(on)和Qg两三项综合评分最后查一下SOA曲线特别确认一下线性区工况。不要被供应商宣传页上的超级低内阻带偏很多时候为了极致内阻把Qg做大了高频下驱动损耗反而吃掉了内阻省下来的导通损耗得不偿失。6. 最后几句大实话东西讲到这里我自己再唠叨几句实际操作中的体会。做MOS管开关设计这几年踩的坑比成功案例多得多有些教训是数据手册里不会写的。第一我现在的习惯是任何新设计的板子首版绝不直接上大功率测试。先小电流、低压、低占空比点亮系统把波形全部量过一遍确认Vgs和Vds的开关行为符合预期再逐步往上加。这个习惯帮我至少避免了十几次烧板和炸管。第二测试的时候一定要先接负载再上电。没有负载的情况下开关电路的空载波形和带载后的波形完全是两回事米勒平台、电压尖峰这些关键特征基本都是带载之后才暴露出来的。空载下测到的完美波形很容易给你虚假的安全感。第三如果想快速验证一个新结构能不能用我的首选是搭个分立元件的验证电路用信号发生器加三极管图腾柱去驱动MOS管用电子负载模拟实际工况。整套方案半小时就能搭好比直接画PCB再等样板快得多。等验证电路跑通了、波形量明白了再画板就是水到渠成的事。MOS管开关设计没什么玄学无非就是理解清楚导通和关断的物理过程选对结构处理好驱动回路再用示波器验证自己的假设。希望这五种电路结构和那些实战细节能帮你少走点弯路毕竟烧管子事小烧掉信心和工期才是真麻烦。
返回列表