news 2026/9/28 6:24:02

双供电自动切换电路设计:PMOS理想二极管与肖特基方案详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
双供电自动切换电路设计:PMOS理想二极管与肖特基方案详解

1. 双供电切换的典型需求与方案选型

1.1 为什么需要双供电自动切换

做便携设备的朋友大概率都遇到过这个场景:设备既要能插Type-C供电,又要能靠内置锂电池跑。插上Type-C时用外部电源,拔掉时无缝切到电池,中间不能断电、不能复位、不能有电压跌落导致MCU掉电重启。听起来简单,真做起来坑不少。

最朴素的方案是两颗二极管做“或”逻辑,Type-C一路、电池一路,谁电压高谁导通。这个方案能用,但问题也很明显:二极管有正向压降,普通硅管0.7V,就算用肖特基也有0.3V左右。锂电池满电4.2V,扣掉0.3V只剩3.9V,如果后级还有LDO或者DC-DC,输入电压余量被吃掉一大截,效率直接受影响。更麻烦的是,电池电压本来就随电量下降,3.7V标称、3.3V快没电,再扣0.3V,后级电路可能提前欠压保护。

所以更合理的做法是:用PMOS做理想二极管或者负载开关,让导通压降接近0V。Type-C在的时候,PMOS把电池通路关掉,由Type-C供电;Type-C拔掉,PMOS立刻导通,电池顶上。切换过程要快,不能有大的跌落。

1.2 三种常见拓扑的取舍

实际项目里我见过三种主流做法,各有适用场景。

第一种是双PMOS背靠背方案。Type-C一路、电池一路,各用一个PMOS做开关,通过比较器或者专用电源切换IC控制栅极。优点是压降小、可控性强,缺点是电路复杂,需要额外的控制逻辑,成本也上去了。

第二种是PMOS加肖特基组合。Type-C通路用肖特基二极管,电池通路用PMOS做理想二极管。Type-C电压经过肖特基后如果高于电池电压,PMOS栅极被拉高关断,电池不输出;Type-C拔掉,PMOS栅极被下拉导通,电池供电。这个方案元件少、成本低,切换靠电压自然比较,不需要额外控制芯片。缺点是Type-C通路还是有肖特基压降,但Type-C通常是5V,扣0.3V还有4.7V,后级完全够用。

第三种是专用电源切换IC,比如TPS2113、LTC4412这类。集成度高、切换快、有各种保护,但芯片本身有静态功耗,对电池待机时间有影响,而且交期和价格波动大。

综合下来,对于大多数中小功率便携设备,PMOS加肖特基的组合是性价比最高的选择。Type-C侧用肖特基隔离,电池侧用PMOS做低损耗开关,切换逻辑靠电阻分压和PMOS的阈值电压自然实现。下面重点拆这个方案。

1.3 核心器件选型的关键参数

选PMOS不是随便拿一个就行,几个参数必须盯紧。

导通电阻Rds(on):这是PMOS导通时的主要损耗来源。电池供电时电流可能到1A甚至2A,如果Rds(on)是50mΩ,压降就是50mV,功耗0.1W,还能接受。但如果Rds(on)是200mΩ,压降200mV,功耗0.4W,小封装直接烫手。建议选Rds(on)在30mΩ以内的,Vgs=2.5V或4.5V条件下测的数值,因为锂电池电压最低可能到3.0V,栅极驱动电压不高。

阈值电压Vgs(th):PMOS的开启电压,通常在-0.5V到-2V之间。这个参数决定了切换点。如果Vgs(th)太负,比如-2.5V,那Type-C电压要高出电池很多才能关断,切换不干脆。一般选Vgs(th)在-1V到-1.5V的。

体二极管方向:PMOS的体二极管从漏极指向源极,这个方向决定了关断时能不能反向导通。在电池通路里,PMOS的源极接电池正极,漏极接负载,体二极管从漏到源,正好是电池到负载的方向。这意味着即使PMOS关断,体二极管还是会让电池往负载漏电。所以PMOS必须反接,源极接负载侧,漏极接电池侧,让体二极管方向与电池供电方向相反。这个细节后面详细说。

耐压Vds:Type-C最高20V(PD协议),电池4.2V,但切换瞬间可能有尖峰,选20V或30V耐压足够。

肖特基二极管选型相对简单,重点看正向压降Vf和反向恢复时间。Vf越低越好,0.3V到0.4V是常见值。反向恢复时间要短,因为切换瞬间有反向电压,恢复慢会有瞬间直通。电流额定要留余量,至少是最大负载电流的1.5倍。

2. PMOS做理想二极管的核心原理

2.1 PMOS导通条件的直观理解

PMOS和NMOS的区别,很多新手容易搞混。记住一句话:NMOS栅极电压高于源极才导通,PMOS栅极电压低于源极才导通。PMOS的源极通常接高电位,栅极拉低到比源极低一个阈值以上,沟道形成,电流从源极流向漏极。

在电池供电通路里,我们把PMOS的源极接负载侧,漏极接电池正极。为什么这么接?因为PMOS导通时电流从源极流向漏极,但体二极管是从漏极指向源极。如果源极接电池、漏极接负载,体二极管方向就是电池到负载,PMOS关断时体二极管照样导通,等于没关。反过来接,源极接负载、漏极接电池,体二极管从负载指向电池,PMOS关断时体二极管反向截止,才能真正断开。

这个“反接”是PMOS做理想二极管和防倒灌的核心技巧,很多人第一次做会接错,结果发现关不断。

2.2 栅极驱动与切换逻辑

栅极怎么控制?最简单的做法是用两个电阻分压。Type-C电压经过肖特基后,通过一个电阻接到PMOS栅极,同时栅极通过另一个电阻接地。Type-C在的时候,栅极电压被拉高到接近Type-C电压,Vgs接近0V,PMOS关断。Type-C拔掉,栅极通过下拉电阻接地,Vgs变成负的电池电压,PMOS导通。

但这里有个问题:Type-C电压经过肖特基后是4.7V,电池是4.2V,栅极拉到4.7V时,Vgs=4.7-4.2=0.5V,正的,PMOS关断。但如果电池电压高于Type-C经过肖特基后的电压呢?比如电池满电4.2V,Type-C经过肖特基后只有4.0V(肖特基压降大或者Type-C电压偏低),那栅极拉到4.0V,Vgs=4.0-4.2=-0.2V,如果PMOS阈值是-1V,那PMOS还是关断的,没问题。但如果阈值是-0.5V,-0.2V就不够关断,PMOS会半导通,电池和Type-C同时供电,可能倒灌。

所以栅极分压电阻的取值要算清楚。假设Type-C经过肖特基后最低4.5V,电池最高4.2V,PMOS阈值-1.5V。栅极电压需要高于电池电压减去阈值,即4.2-1.5=2.7V才能保证关断。4.5V分压后只要高于2.7V就行,这个很容易满足。但如果Type-C电压低到4.0V,分压后可能只有3.5V,还是高于2.7V,也能关断。真正要担心的是Type-C电压接近电池电压的情况,这时候切换会变得模糊。

实际调试时,我会用可调电源模拟Type-C从5V慢慢降到3.5V,观察PMOS栅极电压和电池电流,找到切换点。如果切换点太靠近电池电压,就调整分压电阻,让栅极电压在Type-C较低时也能可靠关断。

2.3 体二极管与防倒灌

前面说了PMOS要反接,体二极管方向与供电方向相反。但反接之后,PMOS导通时电流从源极流向漏极,体二极管是反向的,不参与导电。PMOS关断时,体二极管也反向截止,电池无法通过体二极管向负载供电。这就实现了真正的关断。

但要注意,PMOS关断时,负载侧如果有大电容,电容上的电压可能高于电池电压,这时候体二极管会正向导通,电容向电池倒灌。所以如果负载侧有大电容,需要在PMOS和负载之间加一个肖特基,或者用背靠背PMOS。不过大多数便携设备负载侧电容不大,体二极管倒灌电流有限,影响可以接受。

还有一个细节:PMOS的体二极管反向恢复时间。虽然PMOS不是二极管,但体二极管在切换瞬间有反向恢复过程。如果Type-C和电池电压差很小,切换时体二极管可能短暂导通,造成瞬间直通。选PMOS时看 datasheet 里的体二极管反向恢复电荷Qrr,越小越好。

3. 完整电路设计与参数计算

3.1 电路拓扑与元件清单

先画个清晰的拓扑。Type-C接口的VBUS经过一个肖特基二极管D1,接到负载正极。电池正极经过PMOS Q1,接到负载正极。Q1的源极接负载侧,漏极接电池侧。Q1的栅极通过电阻R1接到D1的阴极(即Type-C经过肖特基后的电压),同时通过电阻R2接地。负载侧还有一个电容C1做储能和滤波。

元件清单如下:

元件型号/参数作用
D1SS34,3A/40V肖特基Type-C通路隔离,防电池倒灌
Q1AO3401,PMOS,Vds=-30V,Rds(on)=50mΩ@Vgs=-4.5V电池通路开关
R1100kΩ栅极上拉,Type-C存在时关断PMOS
R2100kΩ栅极下拉,Type-C消失时导通PMOS
C110uF陶瓷电容负载侧储能,平滑切换
C20.1uF栅极滤波,防干扰

这个清单是基础版,实际项目根据电流大小调整。如果电流到2A,D1换SS54,Q1换Rds(on)更低的型号,比如AO3401的Rds(on)在Vgs=-2.5V时约80mΩ,2A下压降160mV,功耗0.32W,SOT-23封装有点热,可以换DFN封装的。

3.2 栅极分压电阻的计算

R1和R2的取值决定了栅极电压。Type-C经过肖特基后电压为Vc,电池电压为Vb,栅极电压Vg = Vc * R2 / (R1 + R2)。PMOS关断条件是Vg - Vb > Vgs(th),注意Vgs(th)是负值,所以Vg - Vb要大于这个负值,即Vg > Vb + Vgs(th)。

假设Vc最低4.5V,Vb最高4.2V,Vgs(th) = -1.5V,则Vg需要大于4.2 - 1.5 = 2.7V。取R1=R2=100kΩ,Vg = 4.5 * 0.5 = 2.25V,小于2.7V,关不断!这就是问题。

所以R1和R2不能相等,R2要更大,让分压比更高。比如R1=100kΩ,R2=200kΩ,Vg = 4.5 * 200/300 = 3.0V,大于2.7V,能关断。但R2太大会导致栅极驱动电流太小,切换速度慢。折中取R1=100kΩ,R2=150kΩ,Vg = 4.5 * 150/250 = 2.7V,刚好临界。实际要留余量,取R1=100kΩ,R2=220kΩ,Vg = 4.5 * 220/320 = 3.09V,余量0.39V。

但R2大了,Type-C拔掉时栅极放电慢,PMOS导通延迟。栅极电容Cgs加上C2,放电时间常数(R1+R2)Cgs。假设Cgs=500pF,C2=0.1uF,时间常数约220k0.1uF=22ms,太慢了。所以C2不能太大,或者R2不能太大。

实际调试时,我会先按R1=100kΩ、R2=100kΩ搭,测切换波形,如果关不断就加大R2,直到可靠关断。同时观察切换时间,如果太慢就减小C2或者换更小Cgs的PMOS。

3.3 切换瞬间的电压跌落分析

切换瞬间,Type-C拔掉,D1阴极电压从4.7V开始下降。栅极电压跟着下降,当Vg降到Vb + Vgs(th)以下时,PMOS开始导通。但PMOS从关断到完全导通需要时间,这段时间负载靠C1供电。C1容量决定了电压跌落幅度。

假设负载电流I=500mA,C1=10uF,PMOS导通延迟t=1ms,则电压跌落ΔV = It/C1 = 0.50.001/0.00001 = 50V,这显然不对,因为C1会瞬间放完。实际上PMOS导通很快,延迟在微秒级。假设t=10us,ΔV = 0.5*0.00001/0.00001 = 0.5V,跌落0.5V,从4.7V掉到4.2V,刚好是电池电压,可以接受。

但如果C1只有1uF,ΔV=5V,直接掉到0V,MCU复位。所以C1不能太小,建议至少10uF,最好22uF。同时PMOS的导通速度要快,栅极电阻不能太大,C2不能太大。

实测时,我会用示波器看负载侧电压波形,触发在Type-C拔掉瞬间,看跌落深度和恢复时间。如果跌落超过后级欠压阈值,就加大C1或者换更快导通的PMOS。

4. 实操过程与关键波形记录

4.1 搭建测试平台

先准备工具:可调直流电源一台(模拟Type-C 5V),锂电池一节(4.2V满电),电子负载一台(模拟后级电流),示波器一台(看波形),万用表若干。

电路搭在面包板上,注意PMOS的引脚顺序,SOT-23封装的AO3401,引脚1是栅极,引脚2是源极,引脚3是漏极。别接错,接错了体二极管方向不对,直接导通。

Type-C电源设5V,限流1A。电池用4.2V,串一个电流表看电池电流。负载设500mA恒流。示波器通道1接负载侧电压,通道2接PMOS栅极电压,通道3接Type-C电压(D1阳极)。

4.2 上电与切换测试

先只开Type-C,不开电池。负载侧电压应该是5V - 0.3V = 4.7V。PMOS栅极电压应该是4.7V * 220/320 = 3.23V。电池电流应该是0,因为PMOS关断。

然后接上电池,电池电压4.2V。此时PMOS栅极3.23V,Vgs = 3.23 - 4.2 = -0.97V,如果PMOS阈值是-1.5V,-0.97V不够导通,PMOS关断,电池不输出。但-0.97V接近阈值,可能有微弱漏电。实测电池电流应该在微安级。

接着拔掉Type-C,观察波形。Type-C电压从5V开始下降,栅极电压跟着下降。当栅极降到4.2 - 1.5 = 2.7V时,PMOS开始导通。负载侧电压从4.7V开始下降,但PMOS导通后,电池通过PMOS供电,电压稳定在4.2V - IRds(on) = 4.2 - 0.50.05 = 4.175V。跌落约0.5V,从4.7V到4.175V。

如果跌落太大,比如掉到3.5V,说明C1不够或者PMOS导通太慢。加大C1到22uF,跌落会减小到0.2V左右。

4.3 关键波形与数据记录

实测波形显示,Type-C拔掉后,负载侧电压在约50us内从4.7V降到4.2V,然后稳定。栅极电压在约30us内从3.23V降到2.7V,PMOS开始导通。电池电流从0上升到500mA,上升时间约20us。

如果PMOS栅极电阻太大,比如R1=1MΩ,栅极放电时间常数变大,PMOS导通延迟到毫秒级,负载侧电压会跌到3V以下,MCU可能复位。所以R1和R2不能太大,100kΩ到220kΩ是合理范围。

还有一个现象:Type-C插上瞬间,D1阴极电压从4.2V上升到4.7V,栅极电压跟着上升,PMOS关断。但关断过程中,电池电流从500mA降到0,PMOS的关断延迟导致电池和Type-C短暂同时供电。这段时间D1和PMOS可能同时导通,Type-C经过D1向电池倒灌。倒灌电流大小取决于电压差和路径电阻。如果Type-C是5V,电池4.2V,压差0.8V,路径电阻包括D1的动态电阻和PMOS的Rds(on),总约0.1Ω,倒灌电流8A,瞬间很大。但实际D1和PMOS都有压降,倒灌电流会小一些,但还是要防。

防倒灌的方法是在电池和PMOS之间串一个肖特基,或者用背靠背PMOS。但串肖特基又引入压降,矛盾。所以实际项目中,如果Type-C和电池电压差不大,倒灌电流有限,可以接受。如果压差大,就要用背靠背PMOS或者专用切换IC。

5. 常见问题与排查技巧实录

5.1 PMOS关不断怎么办

这是最常见的问题。现象是Type-C插着,电池还在放电,或者电池电流不为零。原因通常是栅极电压不够高,Vgs不够负,PMOS没完全关断。

排查步骤:先测栅极电压,再测电池电压,算Vgs。如果Vgs大于阈值,就是分压电阻不对。加大R2或者减小R1,让栅极电压更高。但注意R2太大会导致切换慢,折中取R1=100kΩ,R2=220kΩ。

如果分压电阻已经调了还是关不断,可能是PMOS阈值太负,换阈值更正的型号,比如Vgs(th)=-1V的。或者Type-C电压太低,经过肖特基后不够高,换低压降的肖特基,比如SS34的Vf在0.5A时约0.3V,如果换Vf=0.2V的,栅极电压能高0.1V。

还有一个隐藏问题:PMOS的栅极漏电流。如果PMOS栅极漏电流大,分压电阻上的电压会被拉低。选栅极漏电流小的PMOS,或者减小分压电阻,但减小电阻会增加静态功耗。电池供电时,分压电阻一直在耗电,100kΩ+220kΩ在4.2V下耗电4.2/320k=13uA,可以接受。如果换成10kΩ+22kΩ,耗电130uA,对电池待机有影响。

5.2 切换时电压跌落太大

现象是Type-C拔掉瞬间,负载侧电压跌到后级欠压阈值以下,MCU复位或者系统重启。原因通常是C1太小、PMOS导通太慢、或者负载电流太大。

排查:先测跌落深度和持续时间。如果跌落深度大但持续时间短,加大C1。如果持续时间长,加快PMOS导通。加快导通的方法:减小R1和R2,减小C2,换Cgs小的PMOS。

但减小R1和R2会增加静态功耗,减小C2可能引入干扰。折中方案:R1=47kΩ,R2=100kΩ,C2=10nF。这样分压比不变,但放电时间常数减小到约(47k+100k)*10nF=1.47us,PMOS导通延迟在微秒级。

如果负载电流很大,比如2A,C1要更大,至少47uF。但大电容有浪涌电流问题,Type-C插上瞬间,C1充电电流可能触发Type-C过流保护。所以C1前面要加软启动或者限流电阻。实际项目中,我会在C1前面串一个1Ω电阻,限制浪涌,但正常工作时电阻上有压降,2A下压降2V,不行。所以用PMOS做软启动,或者用带软启动的负载开关。

5.3 电池倒灌与发热

现象是Type-C插着,电池发热,或者D1发热。原因是倒灌电流大。排查:测电池电流,如果是负的(充电方向),说明倒灌。测D1电流,如果超过额定,D1会热。

解决方法:在电池通路加背靠背PMOS,或者用专用切换IC。背靠背PMOS是两个PMOS源极相接,栅极相接,体二极管方向相反,彻底阻断倒灌。但成本高,驱动复杂。

另一个方法:在Type-C通路加理想二极管,用PMOS代替肖特基,压降更小,而且可以控制关断。但需要额外的控制电路。

实际项目中,如果倒灌电流在100mA以内,电池能承受,可以不加额外电路。如果超过500mA,就要处理。我一般会在电池通路串一个0.5Ω电阻,限制倒灌电流,但正常放电时电阻上有压降,0.5A下0.25V,影响效率。所以这个电阻只在调试时用,量产要去掉。

5.4 常见问题速查表

问题可能原因排查方法解决方案
PMOS关不断栅极电压不够高测Vg和Vb,算Vgs加大R2,换低阈值PMOS
切换跌落大C1太小或PMOS太慢测跌落深度和持续时间加大C1,减小R1/R2/C2
电池倒灌Type-C和电池压差大测电池电流方向加背靠背PMOS或限流电阻
D1发热倒灌电流大或负载电流大测D1电流换大电流肖特基或理想二极管
切换后电压不稳PMOS半导通测Vgs是否在阈值附近调整分压电阻,让Vgs远离阈值
静态功耗大分压电阻太小测电池待机电流加大分压电阻,但注意切换速度

6. 进阶优化与实战心得

6.1 用比较器替代电阻分压

电阻分压的切换点受温度和PMOS阈值离散性影响大,批量生产时一致性差。用比较器可以精确设定切换阈值。比如用TLV3011,基准电压1.2V,Type-C经过肖特基后分压到1.2V,电池分压到1.2V,比较器输出控制PMOS栅极。Type-C存在时,比较器输出高,PMOS关断;Type-C消失,比较器输出低,PMOS导通。

比较器方案切换点精确,不受PMOS阈值影响,但增加成本和静态功耗。TLV3011静态电流约1uA,可以接受。比较器输出要加下拉电阻,确保Type-C消失时PMOS栅极可靠拉低。

6.2 软启动与浪涌抑制

Type-C插上瞬间,C1充电浪涌可能触发Type-C过流保护。解决方法是在Type-C通路加软启动电路,比如用PMOS做负载开关,栅极加RC延时,让PMOS慢慢导通,限制浪涌电流。或者用带软启动的负载开关IC,比如TPS22918。

软启动时间要算好,太长会导致Type-C插上后系统上电慢,太短浪涌大。一般设1ms到10ms。RC时间常数取1ms,R=100kΩ,C=10nF。

6.3 实测数据与经验总结

我在一个实际项目中用了这个方案,Type-C 5V,电池4.2V,负载500mA。实测切换跌落0.3V,从4.7V到4.4V,后级LDO输入3.3V,余量足够。电池待机电流15uA,主要是分压电阻耗电。PMOS用AO3401,Rds(on)在Vgs=-4.2V时约40mΩ,500mA下压降20mV,功耗10mW,不热。

踩过的坑:第一次R1=R2=100kΩ,PMOS关不断,电池一直放电。后来R2换成220kΩ,关断了,但切换跌落大,因为C1只有1uF。换成22uF后,跌落降到0.2V。还有一次D1用SS14,1A额定,负载500mA,D1发热,换SS34后不热了。

另一个坑:PMOS栅极没加C2,切换时栅极受干扰,PMOS抖动,负载侧电压有毛刺。加10nF C2后毛刺消失。

6.4 后续扩展方向

这个方案可以扩展到多路供电,比如Type-C、电池、无线充电三路。每路加一个PMOS和肖特基,通过优先级控制。优先级高的通路存在时,关断低优先级。控制逻辑可以用比较器或者MCU。

还可以加电量计,监测电池电压和电流,低电量时报警或者切换省电模式。电量计可以用库仑计IC,比如MAX17048,I2C接口,精度高。

如果成本允许,用专用电源切换IC是最省心的,比如LTC4412,自动切换,压降小,还有状态输出。但芯片价格高,交期长,小批量不划算。

最后分享一个小技巧:调试时用可调电源模拟Type-C,从5V慢慢降到3V,观察切换点。如果切换点在4.0V以上,说明分压电阻合适;如果切换点在3.5V以下,说明PMOS关断太晚,电池和Type-C长时间同时供电,可能倒灌。调整R2,让切换点靠近4.2V,但不要低于4.2V,否则电池满电时Type-C插上也无法关断PMOS。

这个电路我前后调了三四版,从面包板到PCB,从500mA到2A,踩了不少坑,也总结了一些经验。核心就一句话:PMOS反接做理想二极管,栅极分压要算准,C1要够大,切换速度要快。把这几点做好,双供电切换基本不会出大问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/28 6:23:14

小样本目标检测数据扩充:YOLO模型泛化提升实战指南

简介:这份资源面向在YOLO目标检测任务中受困于小样本数据不足的开发者与算法学习者,提供一套可落地的图像数据集扩充方案,帮助缓解训练过拟合、提升模型泛化能力。压缩包共2个文件,包含1个py脚本与1个md说明文档,整体约…

作者头像 李华
网站建设 2026/9/28 6:22:54

JavaWeb在线旅游网站课设:从建表到跑通的完整方案

简介:这是一套面向计算机相关专业在校学生的JavaWeb课程设计与期末大作业完整项目,主题为在线旅游网站,适合作为课设、毕设、作业或项目初期立项演示的参考方案,也适合具备一定基础的小白学习进阶。压缩包共1870个文件&#xff0c…

作者头像 李华
网站建设 2026/9/28 6:21:42

LM317T/LM337T双路可调线性电源实战设计

1. 这不是“玩具电源”,而是电子实验的呼吸系统你有没有过这样的经历:调试一个运放电路,刚调好正电源,一接负电源,整个板子就冒烟;或者给音频功放供电时,发现LM7812输出纹波大得像海浪&#xff…

作者头像 李华