1. 从一个烧板子的下午聊起:为什么防反接值得单独拎出来讲
做硬件的人大概都有过这种经历:调试板子的时候,电源线正负极接反了,上电一瞬间闻到一股焦味,然后一颗芯片、一颗电容甚至整块板子就报废了。我自己刚入行那会儿,就因为一根DC头的极性搞错,烧掉过一块刚打样回来的控制板,那批板子光打样费就够我心疼好几天。后来每次设计电源入口,我都会老老实实加上防反接电路,哪怕成本多几毛钱,也比烧板子强。
防反接这个需求听起来简单,但真要做好,方案选择其实挺多的。最粗暴的是串一颗二极管,成本低、电路简单,但二极管有正向压降,电流一大就发热,效率也上不去。用肖特基二极管压降小一点,但大电流下依然扛不住。后来大家开始用MOS管做防反接,利用MOS管的低导通电阻,把压降做到几十毫伏甚至更低,这就是所谓的“理想二极管”思路。
而“背靠背PMOS组成理想二极管”这个方案,是我个人在中小功率、低压直流场景里用得比较顺手的一种。它用两颗PMOS管背靠背连接,配合简单的电阻网络,实现防反接的同时还能防倒灌,导通损耗极低,静态电流也小。这篇文章我就把这个方案从头到尾拆一遍,包括为什么选PMOS而不是NMOS、背靠背到底怎么接、电阻怎么算、Multisim里怎么仿真验证,以及我在实际打板中踩过的坑。不管你是刚学模电的学生,还是做了几年硬件的工程师,应该都能从里面找到能直接抄作业的东西。
2. 方案整体设计与思路拆解
2.1 防反接的几种常见方案对比
在动手画电路之前,先把可选方案摆出来对比一下,这样你才知道为什么背靠背PMOS值得选。防反接的核心目标就一个:当电源正负极接反时,后级电路不能通电,最好还能不损坏。围绕这个目标,常见方案有以下几种。
第一种是串联整流二极管。正接时二极管导通,反接时截止。优点是便宜、简单、可靠。缺点是压降大,普通硅管0.7V左右,肖特基0.3V左右。假设你的负载电流是2A,肖特基上就要消耗0.6W,发热明显,而且输出电压比输入低了一截,后级LDO或DC-DC的输入范围要重新算。
第二种是串联NMOS放在低边。NMOS的导通电阻可以做到几毫欧,压降极小。但低边NMOS的问题是,它切的是地线,后级电路的地电位会浮动,如果后级还有别的接口或者信号线共地,就会出问题。所以低边防反接一般只用在完全独立的负载上。
第三种是串联PMOS放在高边。PMOS放在电源正极线上,源极接输入,漏极接输出,栅极通过电阻拉到地。正接时栅极被拉低,Vgs为负,PMOS导通;反接时栅极电位跟着输入变,Vgs接近0,PMOS截止。这个方案压降小、共地没问题,是最常用的高边防反接方案。
第四种就是本文要讲的背靠背PMOS。它是在高边PMOS的基础上,再串一颗PMOS,两颗管的源极或漏极相对连接,形成一个双向都能控制的开关。这样做的好处是不仅能防反接,还能防倒灌——也就是当输出端有更高电压时,电流不会倒着流回输入端。这个特性在多电源切换、电池供电、负载侧有大电容的场合特别有用。
| 方案 | 压降 | 防反接 | 防倒灌 | 共地 | 成本 | 适用场景 |
|---|---|---|---|---|---|---|
| 整流二极管 | 0.3~0.7V | 是 | 否 | 是 | 极低 | 小电流、成本敏感 |
| 肖特基二极管 | 0.2~0.4V | 是 | 否 | 是 | 低 | 中小电流 |
| 低边NMOS | 几mV | 是 | 否 | 否 | 低 | 独立负载 |
| 高边PMOS | 几mV | 是 | 部分 | 是 | 低 | 通用防反接 |
| 背靠背PMOS | 几mV | 是 | 是 | 是 | 中 | 防反接+防倒灌 |
从表里能看出来,背靠背PMOS在功能上是最全的,代价就是多一颗管子、多几个电阻,成本和布板面积稍微增加。但如果你的应用场景对防倒灌有要求,这个代价是值得的。
2.2 为什么选PMOS而不是NMOS做高边开关
这个问题我被问过很多次,也是热词里“nmos和pmos的区别”高频出现的原因。简单说,NMOS做高边开关需要栅极电压高于源极电压一个Vgs(th),而源极本身就在电源正极附近,所以栅极需要比电源还高的电压,这就需要一个电荷泵或者自举电路。电荷泵会增加成本和复杂度,还会带来开关噪声。
PMOS做高边开关就简单多了。PMOS的源极接电源正极,栅极只要拉到地,Vgs就是负的,管子就导通。不需要额外的升压电路,用一颗电阻就能搞定。代价是PMOS的导通电阻通常比同规格NMOS大,而且价格稍贵,但在中小电流场合,这个差异可以接受。
还有一个细节:PMOS的体二极管方向。对于高边PMOS,源极接输入,漏极接输出,体二极管是从漏极指向源极(对于P沟道,体二极管阳极在漏极,阴极在源极)。正接时体二极管反偏,不影响;反接时体二极管会正偏导通,所以单颗PMOS其实防不住反接,必须配合栅极控制或者用背靠背结构。这也是为什么很多人单用一颗PMOS做防反接会失败——他们忽略了体二极管。
2.3 背靠背结构的两种接法:源极相对还是漏极相对
背靠背PMOS有两种接法,一种是两颗管的源极接在一起,另一种是两颗管的漏极接在一起。这两种接法在功能上有区别,选错了可能达不到防倒灌的效果。
源极相对的接法:输入接第一颗管的漏极,第一颗管的源极接第二颗管的源极,第二颗管的漏极接输出。这种结构下,两颗管的体二极管是背对背的,无论输入输出哪边电压高,总有一颗体二极管是反偏的,所以能真正阻断双向电流。栅极可以共用,也可以分别控制。
漏极相对的接法:输入接第一颗管的源极,第一颗管的漏极接第二颗管的漏极,第二颗管的源极接输出。这种结构下,两颗管的体二极管是面对面的,正接时电流可以通过体二极管流通,反接时也能通过另一颗的体二极管流通,所以防反接效果会打折扣,除非栅极控制做得很精确。
所以做防反接加防倒灌,推荐用源极相对的接法。这样两颗管的体二极管方向相反,形成真正的双向阻断。栅极通常一起拉到地,正接时两颗管都导通,反接时两颗管都截止。
2.4 理想二极管的核心指标:导通电阻、静态电流、响应速度
既然叫“理想二极管”,那就要拿二极管的指标来对比。理想二极管追求的是:正向压降接近0,反向漏电流接近0,开关速度快。用MOS管实现时,正向压降等于I×Rds(on),所以选低Rds(on)的管子很关键。静态电流主要是栅极电阻上的损耗和管子漏电流,一般很小。响应速度取决于栅极电容和驱动电阻,电阻太大开关慢,电阻太小静态功耗高,需要折中。
我在实际选型时,一般会看几个参数:Vds耐压要留够余量,至少是输入电压的1.5倍;Rds(on)在目标电流下产生的压降要小于0.1V,这样发热可以忽略;Vgs(th)要合适,确保在最低输入电压下也能完全导通。举个例子,12V系统,负载电流3A,选Rds(on)为20mΩ的PMOS,压降就是60mV,功耗0.18W,一颗SOT-23封装的管子就能扛住。
3. 核心细节解析与实操要点
3.1 电路拓扑与关键节点说明
先把完整电路画出来。输入电源VIN,经过第一颗PMOS(Q1)的漏极,Q1的源极接Q2的源极,Q2的漏极接输出VOUT。Q1和Q2的栅极通过一颗电阻R1拉到地,同时栅极和源极之间接一颗电阻R2,用于在反接时把栅极电位拉高到源极附近,确保管子截止。输出端可以加一颗稳压管或者TVS做栅极保护,防止Vgs超过管子耐压。
关键节点有三个:输入节点、中间节点(两颗管源极相连处)、输出节点。正接时,VIN通过Q1的体二极管先给中间节点充电,中间节点电压升高,Q1的栅极被R1拉到地,Vgs为负,Q1导通。Q1导通后,中间节点电压接近VIN,Q2的栅极同样被拉到地,Vgs为负,Q2也导通。最终VOUT接近VIN,压降是两颗管Rds(on)之和乘以电流。
反接时,VIN变成负的,Q1的源极通过体二极管被拉到负电位,栅极通过R1和R2分压,Vgs接近0或者正偏,Q1截止。Q2的情况类似,体二极管反偏,也截止。输出端没有电压,后级安全。
3.2 栅极电阻的计算与选型
栅极电阻R1和R2的取值直接影响电路的可靠性和功耗。R1是栅极下拉电阻,负责在正接时把栅极拉到地,让PMOS导通。R2是栅源电阻,负责在反接时把栅极拉到源极电位,确保管子可靠截止。
R1的取值要考虑两个因素:一是不能太大,否则栅极充电慢,开关响应差;二是不能太小,否则静态电流大。一般取10k到100k之间。我常用47k,静态电流在12V下是0.25mA,可以接受。
R2的取值更关键。反接时,输入是负电压,Q1的源极通过体二极管被拉到负电位,栅极通过R1接地,此时Vgs等于源极电压减去栅极电压,如果R2不存在,Vgs就是负的源极电压,可能让管子误导通。加上R2后,栅极和源极之间形成分压,Vgs被钳位在接近0,管子可靠截止。R2一般取和R1同量级或者稍大,我常用100k。
还有一个细节:栅极和源极之间最好加一颗稳压管,比如12V的,防止Vgs超过管子耐压。PMOS的Vgs耐压一般是±20V,如果输入电压可能超过20V,就必须加钳位。我吃过这个亏,24V系统里没加稳压管,结果一颗PMOS的栅极被打穿,直接短路。
3.3 体二极管的作用与陷阱
体二极管是MOS管内部寄生的一颗二极管,方向从源极指向漏极(对于PMOS,阳极在漏极,阴极在源极)。在背靠背结构里,体二极管既是好事也是坏事。
好事是,正接上电瞬间,体二极管可以先导通,给中间节点充电,让栅极控制电路建立起来。如果没有体二极管,上电时两颗管都截止,中间节点没电,栅极也拉不到地,电路就启动不了。
坏事是,如果接法不对,体二极管会形成一条不受控的通路。比如漏极相对的接法,正接时电流可以通过Q1的体二极管流到中间节点,再通过Q2的体二极管流到输出,即使栅极没导通,输出也有电压,只是压降大一点。这样就失去了防反接的意义。
所以记住一个原则:背靠背PMOS做防反接,一定要源极相对,让两颗管的体二极管背对背,才能阻断双向电流。
3.4 上电启动过程与栅极电荷的影响
上电瞬间,VIN开始上升,Q1的体二极管先导通,中间节点电压跟随VIN减去一个二极管压降。此时Q1的栅极通过R1接地,Vgs等于中间节点电压减去0,是负值,Q1开始导通。Q1导通后,中间节点电压上升到接近VIN,Q2的栅极同样被拉到地,Q2也开始导通。
这个过程的时间取决于栅极电容和R1的乘积。栅极电容一般几百pF到几nF,R1取47k时,时间常数在几十微秒量级。对于大多数应用,这个速度足够了。但如果你的负载对上电斜率有要求,或者输入电压上升很快,就要考虑减小R1或者加加速电容。
还有一个坑:如果输出端有大电容,上电时电容充电电流很大,可能会让中间节点电压被拉低,导致Q2的Vgs不够负,Q2不能完全导通,压降变大。解决办法是选Rds(on)更小的管子,或者加软启动电路限制充电电流。
4. 实操过程与核心环节实现
4.1 选型清单与参数计算实例
假设我们要做一个12V、3A的防反接加防倒灌电路。选型步骤如下。
第一步,确定耐压。输入12V,考虑瞬态可能到20V,Vds耐压选30V以上。我选常见的30V PMOS,比如AO3401(SOT-23,Rds(on)约50mΩ)或者SI2301(Rds(on)约100mΩ)。如果电流大一点,可以选DMP3098L(Rds(on)约20mΩ)。
第二步,算压降和功耗。两颗AO3401串联,总Rds(on)约100mΩ,3A电流下压降0.3V,功耗0.9W。这个功耗对SOT-23来说偏大,需要铺铜散热。如果换成DMP3098L,总Rds(on)约40mΩ,压降0.12V,功耗0.36W,就舒服多了。
第三步,选栅极电阻。R1取47k,R2取100k,栅源稳压管取12V。静态电流在12V下约0.25mA,可以接受。
第四步,加输入输出电容。输入端加10uF陶瓷电容,输出端加22uF,用于滤高频和缓冲上电电流。
| 元件 | 型号/参数 | 数量 | 说明 |
|---|---|---|---|
| Q1, Q2 | DMP3098L | 2 | 30V PMOS,Rds(on) 20mΩ |
| R1 | 47kΩ | 1 | 栅极下拉 |
| R2 | 100kΩ | 1 | 栅源电阻 |
| D1 | 12V稳压管 | 1 | 栅极钳位 |
| C1 | 10uF | 1 | 输入滤波 |
| C2 | 22uF | 1 | 输出滤波 |
4.2 Multisim仿真搭建与参数设置
Multisim是很多学校和企业常用的仿真工具,热词里“multisim下载”“multisim安装”“multisim汉化”出现频率很高,说明很多人卡在环境搭建上。我这里不展开安装教程,重点讲这个电路的仿真怎么搭。
打开Multisim,新建一个原理图。从元件库里找PMOS,Multisim的晶体管库里有具体的型号,比如2N6804之类的P沟道MOS。如果找不到完全匹配的,可以用理想MOS模型代替,设置Rds(on)和Vgs(th)参数。
搭建电路:放置两颗PMOS,源极相连。输入接一个DC电源,设为12V。输出接一个负载电阻,比如4Ω,对应3A电流。栅极接47k电阻到地,栅源之间接100k电阻和12V稳压管。加一个电压探针在输入和输出,加一个电流探针在负载支路。
仿真设置:用DC工作点分析,看各节点电压和支路电流。正接时,输出应该接近12V,压降在0.1V左右。然后把输入电源反过来,设为-12V,再跑一次,输出应该接近0V,电流接近0。
如果仿真报“multisim访问数据库发生错误”,一般是数据库路径有问题,重装或者修复安装可以解决。仿真速度慢的话,可以在仿真设置里把步长调大,或者关掉不必要的分析。
4.3 正接与反接的仿真结果对比
正接仿真结果:输入12V,输出11.88V,压降0.12V,负载电流2.97A。Q1和Q2的Vgs分别是-11.88V和-11.88V,都完全导通。栅极电流约0.25mA,静态功耗3mW。
反接仿真结果:输入-12V,输出0V,负载电流0A。Q1的Vgs约-0.1V,Q2的Vgs约0V,都截止。体二极管反偏,漏电流在nA级。
从仿真结果看,电路功能正常。但仿真用的是理想模型,实际管子会有差异。比如体二极管的反向恢复时间、栅极电荷、温度对Rds(on)的影响,这些在仿真里体现不出来,需要在实际打板时留余量。
4.4 实际打板与测试记录
我最近一次用这个电路是在一个24V输入的工业控制板上,负载电流2A。选的是DMP3098L,两颗串联。打板回来后,先不焊负载,用可调电源慢慢升压。
正接测试:从0V升到24V,输出跟随输入,压降在0.1V左右。用热成像看,管子温度比环境高5度,可以接受。
反接测试:把电源反过来接,输出一直是0V,管子不热。用万用表测漏电流,小于1uA。
动态测试:用电子负载做0到2A的阶跃,输出跌落小于0.2V,恢复时间在100us以内。这个速度对于大多数负载足够了。
有一个意外发现:当输入电压快速上升时,比如从0V跳到24V,输出会有短暂的过冲,大约1V左右,持续几十微秒。原因是栅极电容充电需要时间,Q2还没完全导通,中间节点电压被拉高。后来在输出端加了一颗TVS,把过冲钳住,问题解决。
5. 常见问题与排查技巧实录
5.1 反接时输出仍有电压怎么办
这是最常见的故障。原因通常是接法错了,用了漏极相对而不是源极相对。漏极相对时,两颗管的体二极管面对面,反接时电流可以通过一颗管的体二极管流到中间节点,再通过另一颗的体二极管流到输出,虽然压降大,但输出还是有电压。
排查方法:断电,用万用表二极管档测输入到输出的正反向压降。如果反向也有0.7V左右的压降,说明体二极管通路存在,接法错了。改成源极相对即可。
还有一种可能是栅极电阻没接对。如果R2没接或者阻值太大,反接时栅极电位不能拉到源极,管子可能误导通。检查R2是否焊接,阻值是否在100k左右。
5.2 正接时压降过大、管子发热
压降大说明管子没有完全导通,Vgs不够负。原因可能是R1太大,栅极充电慢;或者输入电压太低,Vgs(th)不够;或者管子选型不对,Rds(on)太大。
排查方法:先测Vgs,正接时应该在-10V左右(对于12V系统)。如果Vgs只有-2V,说明栅极没拉到地,检查R1是否虚焊。如果Vgs正常但压降还是大,测Rds(on),可能是管子假货或者型号不对。
我遇到过一批便宜的PMOS,标称Rds(on) 20mΩ,实测100mΩ,压降大得离谱。后来换正规渠道的货就好了。所以选型时不要只看价格,要买靠谱的。
5.3 上电瞬间烧管子
这个问题的原因通常是栅极过压。如果输入电压超过Vgs耐压,比如24V系统用20V耐压的管子,上电瞬间栅极可能被拉到-24V,超过耐压,管子击穿。
解决办法:加栅源稳压管,把Vgs钳位在安全范围内。稳压管选12V到15V,根据管子耐压来定。另外,栅极串联一颗小电阻,比如100Ω,可以限制栅极电流,保护管子。
还有一种可能是输出端有大电容,上电时充电电流太大,超过管子脉冲电流能力。解决办法是加软启动电路,或者选脉冲电流能力更强的管子。
5.4 Multisim仿真不收敛或报错
Multisim仿真MOS电路时,有时会报“仿真不收敛”或者“访问数据库错误”。不收敛一般是模型参数太理想,或者电路有悬空节点。解决办法是在栅极和源极之间加一个大电阻,比如1M,给节点一个直流通路。数据库错误一般是安装问题,重装或者修复可以解决。
仿真速度慢的话,可以在仿真设置里把相对误差调大,比如从1e-6调到1e-3,速度会快很多,精度也够用。
| 问题 | 可能原因 | 排查方法 | 解决办法 |
|---|---|---|---|
| 反接有输出 | 接法错误 | 测反向压降 | 改源极相对 |
| 正接压降大 | 栅极没拉低 | 测Vgs | 检查R1 |
| 上电烧管 | 栅极过压 | 测Vgs峰值 | 加稳压管 |
| 仿真不收敛 | 节点悬空 | 检查节点 | 加1M电阻 |
| 仿真慢 | 步长太小 | 看设置 | 调大误差 |
5.5 独家避坑技巧汇总
第一个技巧:栅极电阻不要省。很多人为了省事,栅极直接接地,不加R2。正接时没问题,反接时栅极电位不确定,可能误导通。R2一定要加,100k不贵。
第二个技巧:体二极管要利用好。上电时体二极管先导通,给栅极电路供电,这是背靠背结构能启动的关键。如果发现上电不启动,检查体二极管方向是否接对。
第三个技巧:输出端加TVS。上电过冲是常见现象,加一颗TVS或者稳压管,把过冲钳住,保护后级。
第四个技巧:铺铜散热。两颗PMOS串联,功耗是单颗的两倍,SOT-23封装要铺铜,最好铺在漏极和源极的焊盘上,通过过孔连到内层地平面。
第五个技巧:选管子看Vgs(th)。Vgs(th)太高的管子,低压输入时可能导通不充分。一般选Vgs(th)在-1V到-2V之间的,确保3.3V或5V输入也能用。
6. 这个电路还能怎么扩展
背靠背PMOS做理想二极管,基础功能就是防反接加防倒灌。但在这个基础上,还能玩出一些花样。
比如加一颗三极管做电平转换,用MCU的GPIO控制栅极,实现软启动或者电源开关。三极管取反电路很常见,NPN三极管基极接GPIO,集电极接PMOS栅极,发射极接地。GPIO高电平时,三极管导通,PMOS栅极被拉低,管子导通;GPIO低电平时,三极管截止,PMOS栅极被R1拉高,管子截止。这样就能用低压逻辑控制高压电源。
再比如加光耦做隔离驱动,适合高压或者需要电气隔离的场合。光耦驱动PMOS做高端开关,热词里也提到过。光耦的副边接在栅极和源极之间,原边由控制信号驱动。这样控制侧和电源侧完全隔离,安全性更好。
还可以加电流检测,在输出端串一颗采样电阻,用运放放大,实现过流保护。过流时拉低栅极,关断管子。这个扩展适合对可靠性要求高的场合。
我自己在实际项目里,最常用的扩展是加一颗三极管做使能控制。这样板子在不工作时可以完全断电,静态功耗降到零。对于电池供电的设备,这个功能很实用。
最后分享一个小经验:这个电路的PCB布局很关键。两颗PMOS要靠近,源极相连的走线要短而粗,减少寄生电感。栅极电阻靠近管子放置,避免长走线引入噪声。输入输出电容靠近管子,滤高频。地平面要完整,不要被走线割裂。做好这几点,电路的稳定性和抗干扰能力会好很多。