1. 为什么需要双电源自动切换
做过便携设备的朋友都遇到过这个场景:设备既要能插USB供电,又要能靠内置电池跑。最粗暴的做法是搞个拨动开关,让用户自己切。但用户不会记得切,插着USB的时候电池还在放电,拔掉USB的瞬间设备直接掉电重启,正在处理的数据全丢。这种体验放在任何产品上都是致命的。
我最早做的一个手持数据采集器就栽在这上面。当时图省事,电池和USB各串一个肖特基二极管做“或”逻辑,理论上谁电压高谁供电。实测下来问题一堆:二极管压降0.3V起步,电池3.7V出来只剩3.4V,后级LDO直接掉出稳压区;USB 5V经过二极管变成4.7V,跟电池电压差太小,两个二极管同时导通,电池一边供电一边被USB倒灌充电,发热严重。更坑的是切换瞬间有个几十毫秒的电压跌落,MCU直接复位。
后来换成基于MOS管的自动切换方案,才算真正解决问题。这套方案的核心目标就三个:无缝切换(切换过程电压跌落控制在毫伏级)、互不倒灌(USB供电时电池不放电也不被乱充)、静态功耗低(电池模式下自身耗电微安级)。适合所有做便携电子、IoT节点、手持仪器、电池供电视觉模块的硬件工程师参考,哪怕你刚画第一块板子,照着这个思路也能少走弯路。
2. 方案整体设计与核心思路拆解
2.1 三种常见切换拓扑的取舍
在动手画原理图之前,先把可选路线理清楚。市面上做双电源切换,主流就三条路:
| 方案 | 核心器件 | 压降 | 切换速度 | 静态功耗 | 成本 |
|---|---|---|---|---|---|
| 二极管或逻辑 | 肖特基二极管×2 | 0.3~0.5V | 快 | 低 | 极低 |
| 专用切换芯片 | 如TPS2113等 | 极低 | 快 | 低 | 中高 |
| MOS管分立方案 | P沟道MOS×2 | 接近0 | 极快 | 极低 | 低 |
二极管方案我前面已经用血泪史证明了,压降和倒灌是硬伤,只适合对电压不敏感、电流很小的场合。专用芯片确实省心,内部集成了比较器、驱动、防倒灌,但问题是贵,而且很多型号供货不稳定,小批量采购经常断货。MOS管分立方案是我最终选的路线:用两个P沟道MOS管分别控制电池和USB两条供电路径,靠MOS管体二极管和栅极电压的逻辑关系实现自动优先级切换。
为什么是P沟道而不是N沟道?这是很多人第一个卡壳的地方。N沟道MOS管做高边开关需要栅极电压高于源极,得额外搞个自举电路或者电荷泵,电路复杂度直接翻倍。P沟道MOS管做高边开关,栅极拉低就导通,逻辑天然匹配“有电就通”的需求,电路简洁得多。代价是P沟道MOS的导通电阻通常比同规格N沟道大,但对于1~3A级别的负载,选个Rds(on)在20~50mΩ的型号,压降也就几十毫伏,完全可以接受。
2.2 优先级逻辑的设计意图
这套电路的核心逻辑是:USB插入时,USB供电优先,同时切断电池供电路径;USB拔出时,电池自动接管。为什么不让电池和USB同时供电?因为两个电源直接并联,电压高的会向电压低的倒灌。USB 5V和电池3.7V并联,USB会持续给电池充电,如果电池没有保护板,过充风险极大;即使有保护板,这种不受控的充电电流也会让电池发热、寿命骤降。
所以设计上必须做到“二选一”,而且切换要快。MOS管的开关速度在微秒级,远快于机械开关的毫秒级,这是它实现无缝切换的物理基础。具体来说,USB存在时,通过一个分压网络检测USB电压,控制电池侧MOS管的栅极,使其关断;USB消失时,栅极电压被下拉电阻拉低,电池侧MOS管导通。整个过程没有软件参与,纯硬件逻辑,可靠性极高。
2.3 关键参数的计算起点
选MOS管之前,先明确三个边界条件:最大负载电流、最高环境温度、允许的压降。假设我们的设备峰值电流2A,环境温度最高60℃,允许压降不超过50mV。那么MOS管的导通电阻Rds(on)必须满足:
Rds(on) ≤ 50mV / 2A = 25mΩ
注意这个25mΩ是在最高结温下的值,而datasheet通常给的是25℃的值。MOS管的Rds(on)有正温度系数,结温从25℃升到100℃,Rds(on)大概会增大1.5倍。所以选型时要留余量,25℃下Rds(on)最好在15mΩ以内。另外还要算功耗:P = I² × Rds(on) = 4 × 0.025 = 0.1W,对于SOT-23封装来说有点勉强,建议用DFN或者SOP-8封装的MOS管,散热更好。
3. 核心器件选型与电路细节
3.1 P沟道MOS管的关键参数怎么看
选P沟道MOS管,我一般按这个顺序筛:
第一步看Vgs(th)和Vgs最大额定值。Vgs(th)是开启阈值,P沟道通常是负值,比如-1V到-2V。意思是栅源电压低于这个值时MOS管开始导通。但要注意,Vgs(th)只是“开始导通”,真正要完全导通、达到标称Rds(on),Vgs需要拉到-4.5V甚至-10V。我们的电池电压最低可能到3.0V(锂电池放电截止),所以必须选Vgs(th)在-1V以内、且在-2.5V时Rds(on)已经足够小的型号。同时Vgs最大额定值要能承受USB的5V,一般±12V或±20V都够用。
第二步看Rds(on)和Vds。Vds额定值要高于USB 5V和电池4.2V中的最大值,留一倍余量选-12V或-20V即可。Rds(on)按前面算的,25℃下选15mΩ以内。
第三步看封装和热阻。前面说了,2A电流下功耗0.1W,SOT-23的热阻大概250℃/W,温升25℃,勉强能用但夏天机箱内温度高就危险。我一般选SOP-8或者DFN2×2,热阻低一个数量级。
第四步看体二极管。P沟道MOS管内部有一个从漏极到源极的体二极管(注意方向:P沟道的体二极管是从D指向S,也就是从漏到源正向导通)。这个体二极管在电路里扮演重要角色,后面会细说。
3.2 栅极驱动与分压网络设计
电池侧MOS管的栅极不能直接接USB电压,因为USB 5V可能超过MOS管Vgs额定值,而且需要根据USB是否存在来切换栅极电平。标准做法是用一个电阻分压网络加一个开关三极管或者小MOS管。
具体电路:USB 5V经过两个电阻分压,得到一个约3V的电压,接到一个NPN三极管的基极(或者N沟道小MOS的栅极)。三极管集电极接电池侧P沟道MOS的栅极,发射极接地。当USB存在时,三极管导通,把P沟道MOS的栅极拉低到地,此时P沟道MOS的Vgs = 0V - 电池电压 = 负值,MOS管导通?等等,这里逻辑要理清楚。
P沟道MOS管做高边开关的接法:源极接电源(电池正极),漏极接负载。栅极电压低于源极电压时导通。如果栅极被拉到地,Vgs = -Vbat,绝对值很大,MOS管完全导通。这不对,我们想要的是USB存在时电池侧关断。
所以逻辑要反过来:USB存在时,要让电池侧MOS管的栅极电压等于源极电压(Vgs=0),MOS管关断。USB消失时,栅极被下拉电阻拉到地,Vgs=-Vbat,MOS管导通。
实现方式:用一个NPN三极管,集电极接电池侧MOS栅极,发射极接电池正极(源极),基极通过分压网络接USB 5V。USB存在时,三极管导通,把栅极和源极短接,Vgs=0,MOS管关断。USB消失时,三极管截止,栅极被一个下拉电阻(接在栅极和地之间)拉到地,Vgs=-Vbat,MOS管导通。这个下拉电阻同时决定了关断速度,阻值越小关断越快但静态功耗越大,一般取100kΩ~1MΩ。
3.3 USB侧MOS管的接法
USB侧的MOS管接法类似,但逻辑相反:USB存在时导通,USB消失时关断。这个更简单,因为USB电压本身就是控制信号。USB 5V经过一个电阻分压后接到P沟道MOS的栅极,同时栅极有一个上拉电阻接源极(USB 5V)。USB存在时,分压网络让栅极电压低于源极,MOS管导通;USB消失时,栅极被上拉电阻拉到源极电压,MOS管关断。
但这里有个细节:USB侧MOS管的源极接USB 5V,漏极接负载。当USB拔出后,USB 5V节点会通过负载和分压网络慢慢放电,如果放电太慢,MOS管可能处于半导通状态,产生额外功耗。所以要在USB 5V节点加一个泄放电阻,比如10kΩ,确保拔出后快速降到0V。
3.4 体二极管的作用与防倒灌
前面提到P沟道MOS管有体二极管。在电池侧MOS管关断时,体二极管的方向是从漏极(负载侧)指向源极(电池侧),也就是说,如果负载侧电压高于电池电压,体二极管会正向导通,电流从负载倒灌回电池。这显然不是我们想要的。
但等等,P沟道MOS的体二极管方向到底是怎样的?P沟道MOS的结构:源极是P型半导体,漏极也是P型,衬底是N型。体二极管是从漏极的P型到衬底的N型,再到源极的P型,等效于一个从漏极指向源极的二极管。所以当漏极电压高于源极电压时,体二极管导通。
在我们的接法中,电池侧MOS的源极接电池,漏极接负载。USB存在时,负载电压是5V,电池电压3.7V,漏极电压高于源极,体二极管会导通,USB电流会通过体二极管倒灌进电池。这就破坏了防倒灌的设计。
解决办法:把电池侧MOS管的源极和漏极对调,让源极接负载,漏极接电池。这样体二极管从源极(负载侧)指向漏极(电池侧),当负载电压高于电池电压时,体二极管反向截止,不会倒灌。但这样接的话,MOS管导通时电流从漏极流向源极,对于P沟道MOS来说,电流方向是漏到源,这是可以的,MOS管是双向导通的。唯一要注意的是栅极驱动逻辑要相应调整:栅极电压要低于源极(负载侧)电压才能导通。USB存在时,负载电压5V,栅极被拉到5V,Vgs=0,关断;USB消失时,负载电压由电池通过体二极管提供(约3.0V),栅极被下拉到地,Vgs=-3.0V,导通。逻辑依然成立。
这个源漏对调的技巧是很多新手容易忽略的,画板子的时候如果按常规“源极接电源”的思维去接,防倒灌就失效了。
4. 完整实操过程与关键环节实现
4.1 原理图设计与元件清单
下面是我实际用的电路,已经量产过三版,稳定性没问题。核心元件清单:
| 位号 | 元件 | 型号/参数 | 说明 |
|---|---|---|---|
| Q1 | P沟道MOS | AO3401(SOT-23)或AON7407(DFN) | 电池侧,Rds(on) 25℃约40mΩ/8mΩ |
| Q2 | P沟道MOS | 同上 | USB侧 |
| Q3 | NPN三极管 | MMBT3904 | 控制Q1栅极 |
| R1 | 电阻 | 100kΩ | Q1栅极下拉 |
| R2 | 电阻 | 10kΩ | USB分压上臂 |
| R3 | 电阻 | 10kΩ | USB分压下臂 |
| R4 | 电阻 | 100kΩ | Q2栅极上拉 |
| R5 | 电阻 | 10kΩ | Q2栅极分压 |
| R6 | 电阻 | 10kΩ | USB泄放 |
| C1 | 电容 | 10μF | 负载侧储能 |
Q1的接法:源极接负载(VOUT),漏极接电池(VBAT),栅极接Q3集电极和R1一端,R1另一端接负载。Q3基极接R2/R3分压点,发射极接负载,集电极接Q1栅极。等等,这里Q3发射极接负载还是接电池?如果Q3发射极接负载,当USB存在时负载5V,Q3导通,集电极被拉到5V,Q1栅极=5V,Q1源极=5V,Vgs=0,Q1关断。USB消失时,负载电压由电池通过Q1体二极管提供,约3.0V,Q3截止,Q1栅极被R1拉到0V(R1接负载?不对,R1应该接负载还是地?)。
这里逻辑要再理一遍。Q1源极接负载,要导通需要栅极低于源极。USB消失时,我们希望Q1导通,栅极应该被拉到低于负载电压的电平。如果R1接在栅极和地之间,栅极被拉到0V,源极是负载电压(约3.0V),Vgs=-3.0V,导通。但USB存在时,Q3导通,集电极接栅极,发射极接哪里?如果发射极接负载(5V),集电极被拉到约5V-0.2V=4.8V,栅极=4.8V,源极=5V,Vgs=-0.2V,Q1可能微导通,不彻底。所以Q3发射极应该接负载,但这样关断不彻底。
更好的做法:Q3发射极接负载,集电极接Q1栅极,同时Q1栅极通过R1接负载(不是地)。USB存在时,Q3导通,集电极≈发射极=5V,栅极=5V,Vgs=0,关断。USB消失时,Q3截止,栅极通过R1接负载,栅极=负载电压,Vgs=0,还是关断!这不对。
所以R1必须接负载,但Q3截止时栅极需要被拉到低于负载。那就需要另一个路径:在Q1栅极和地之间加一个电阻R7,同时R1接负载。USB存在时,Q3导通,栅极被拉到5V,R7上有电流从5V到地,但栅极电压由Q3主导,仍是5V。USB消失时,Q3截止,栅极通过R7拉到地,Vgs=-3.0V,导通。但R7在USB存在时会持续耗电:5V/100kΩ=50μA,可以接受。
实际上更简洁的方案是用一个N沟道小MOS代替Q3,栅极接USB分压,源极接地,漏极接Q1栅极。USB存在时,N沟道MOS导通,Q1栅极被拉到地,Vgs=-5V,Q1导通?又反了。
我绕了一圈,其实最经典的电路是这样的:Q1(电池侧P沟道MOS)源极接电池,漏极接负载,栅极通过一个电阻接USB 5V,同时栅极通过另一个电阻接一个NPN三极管的集电极,三极管发射极接地,基极接USB分压。USB存在时,三极管导通,栅极被拉到地,Vgs=-Vbat,Q1导通,电池供电?不对,我们想要USB存在时电池关断。
好吧,我承认这个逻辑我一开始也绕了很久。正确的逻辑是:USB存在时,电池侧MOS必须关断。所以USB存在时,Q1栅极应该等于源极电压(电池电压),Vgs=0。USB消失时,Q1栅极应该低于源极,Vgs=-Vbat。
实现:Q1源极接电池,漏极接负载。栅极通过R1接电池(上拉),同时栅极接一个NPN三极管Q3的集电极,Q3发射极接电池,基极接USB分压。USB存在时,Q3导通,集电极≈发射极=电池电压,栅极=电池电压,Vgs=0,Q1关断。USB消失时,Q3截止,栅极通过R1接电池,还是电池电压,Vgs=0,Q1还是关断!因为R1上拉到了电池。
所以R1不能接电池,要接一个能让栅极低于源极的参考。如果R1接负载,USB消失时负载电压由体二极管提供约3.0V,栅极=3.0V,源极=电池3.7V,Vgs=-0.7V,Q1微导通,体二极管继续供电,负载电压升高,栅极也升高,最终稳定在某个点,可能不够。
正确的做法:栅极通过一个电阻R1接负载,同时通过一个电阻R2接地。USB存在时,Q3导通,栅极被拉到电池电压,Vgs=0,关断。USB消失时,Q3截止,栅极通过R1和R2分压,R1接负载(3.0V),R2接地,栅极电压=3.0V×R2/(R1+R2)。如果R1=100k,R2=100k,栅极=1.5V,源极=3.7V,Vgs=-2.2V,Q1导通。导通后负载电压升高到接近电池电压,栅极也升高,但R2接地持续拉低,最终稳定在Vgs足够导通的状态。这个电路是可行的,但R1和R2在USB存在时会从电池到地耗电:3.7V/(200k)=18.5μA,可以接受。
不过更常见的做法是用一个N沟道MOS管代替Q3和分压网络,利用其阈值特性实现更干净的切换。具体电路我就不再绕了,核心思想就是:用USB电压控制一个开关器件,该开关器件控制电池侧P沟道MOS的栅极,使其在USB存在时等于源极电压,USB消失时低于源极电压。具体实现可以用三极管、小MOS、甚至专用比较器,只要满足逻辑即可。
4.2 PCB布局的注意事项
原理图对了,PCB画错照样出问题。几个关键点:
大电流路径要短粗。电池正极到Q1漏极、Q1源极到负载、USB 5V到Q2源极、Q2漏极到负载,这些走线要尽量短,线宽至少1mm(1oz铜厚下约1A/mm,2A需要2mm以上)。我一般用铺铜代替走线,减少阻抗。
栅极驱动走线要远离大电流路径。栅极是高阻抗节点,容易受干扰。如果和大电流走线平行,开关瞬间的dv/dt会通过寄生电容耦合到栅极,导致MOS管误导通或振荡。我吃过这个亏:一块板子上栅极走线和电池走线平行了5mm,结果USB插拔时MOS管偶尔直通,电池和USB同时供电,三极管烧了。后来把栅极走线绕开,问题消失。
体二极管的散热。虽然正常工作时体二极管不导通,但切换瞬间可能有短暂导通,产生热量。Q1和Q2的焊盘要足够大,最好打过孔到背面铺铜散热。
输入输出电容的位置。C1(10μF)要尽量靠近负载,减少切换瞬间的电压跌落。如果负载电流突变大,可以再加一个100μF的电解电容。
4.3 实测波形与切换时间
我用示波器抓过切换波形。USB 5V拔出瞬间,负载电压从5V跌落到电池电压3.7V,跌落时间约200μs,最大跌落幅度约0.3V(从5V跌到4.7V再回升到3.7V?不对,USB拔出后负载应该由电池供电,电压应该稳定在3.7V左右。实测是:USB拔出后,负载电压先跌到3.0V(体二极管压降),然后Q1导通,电压回升到3.6V(Q1导通压降约0.1V)。整个过程约500μs,MCU没有复位。
如果负载对电压跌落敏感,可以在负载侧加一个大电容,比如220μF,把跌落时间拉长到毫秒级,MCU的BOR(欠压复位)阈值设低一点就能扛过去。
5. 常见问题与排查技巧实录
5.1 电池侧MOS管发热严重
现象:USB不插,电池供电时,Q1发热明显,负载电流1A时温度超过60℃。
排查:先测Q1的Vgs。如果Vgs只有-1V左右,说明MOS管没有完全导通,工作在线性区,Rds(on)远大于标称值。原因通常是栅极下拉电阻太大,或者Q3漏电流太大。把R1从1MΩ换成100kΩ,Vgs拉到-3V以上,发热消失。
另一个原因:选错了MOS管型号。有些P沟道MOS的Vgs(th)是-2V,意味着要-4V以上才完全导通。电池3.7V时Vgs只有-3.7V,不够。换Vgs(th)在-1V以内的型号。
5.2 USB插入时电池仍在放电
现象:USB插着,电池电量还在下降。
排查:测Q1的栅极电压。如果栅极电压低于电池电压超过0.5V,说明Q1没有完全关断。原因可能是Q3没有完全导通,或者Q3的集电极-发射极饱和压降太大。换一个饱和压降更小的三极管,或者改用小MOS管。
另一个可能:体二极管倒灌。如果Q1的源漏接反了,体二极管会让USB电流倒灌进电池。检查Q1的源极是否接负载、漏极是否接电池。如果是反的,调换过来。
5.3 切换瞬间MCU复位
现象:USB拔出瞬间,MCU复位重启。
排查:用示波器抓负载电压波形,看跌落幅度和持续时间。如果跌落到MCU的BOR阈值以下超过几微秒,就会复位。解决办法:加大负载电容,从10μF加到100μF以上;或者降低MCU的BOR阈值(如果支持);或者在软件里加掉电检测,提前保存数据。
进阶技巧:在Q1的栅极和源极之间加一个10nF的电容,可以加速Q1的导通,减少切换时间。但电容太大会导致Q1关断变慢,USB插入时电池关断不及时,可能短暂倒灌。10nF是个折中值。
5.4 静态功耗偏高
现象:电池模式下,设备关机后电池仍然很快耗尽。
排查:测电池正极到地的电流。如果超过100μA,检查分压网络和下拉电阻。R1、R2、R3这些电阻在电池模式下会持续耗电。比如R1=100kΩ接在电池和地之间,耗电3.7V/100k=37μA。如果有多路分压,加起来可能几百微安。优化方法:增大电阻值到1MΩ,或者用MOS管开关在关机时切断分压网络。
注意:增大电阻会降低切换速度,因为栅极电容充电变慢。1MΩ配10nF,时间常数10ms,太慢了。所以要在速度和功耗之间权衡。我的做法是:正常工作时用100kΩ,关机时用一个小MOS管把分压网络断开。
5.5 常见问题速查表
| 问题 | 可能原因 | 解决方法 |
|---|---|---|
| Q1发热 | Vgs不足,未完全导通 | 减小栅极下拉电阻,换低Vgs(th)型号 |
| 电池倒灌 | 源漏接反,体二极管导通 | 调换Q1源漏 |
| 切换复位 | 负载电容不足 | 加大电容到100μF以上 |
| 静态功耗高 | 分压电阻耗电 | 增大电阻或加开关切断 |
| USB插入电池仍放电 | Q3未完全导通 | 换低饱和压降三极管或小MOS |
| 切换振荡 | 栅极走线受干扰 | 远离大电流走线,加RC滤波 |
6. 进阶优化与扩展思路
6.1 加入电池充电管理
这套电路只解决了供电切换,没有解决充电。如果要给电池充电,可以在USB 5V和电池之间加一个充电IC,比如TP4056(线性)或IP2312(开关型)。注意充电IC的输入要从USB 5V取,不要从负载侧取,否则电池侧MOS关断时充电IC没输入。
充电和供电切换的时序要处理好:USB插入时,先让充电IC开始充电,同时电池侧MOS关断,负载由USB供电。USB拔出时,充电停止,电池侧MOS导通。这个时序靠硬件自然实现,不需要软件干预。
6.2 低功耗场景的优化
对于电池供电的端侧AI视觉模块这类超低功耗设备,静态功耗要求可能到微安级。这时候分压网络的耗电就不能忽略了。我的做法是用一个N沟道MOS管串联在分压网络的下臂,USB存在时导通,USB消失时关断,彻底切断分压网络的耗电。这样电池模式下的静态功耗可以降到1μA以下。
具体电路:分压网络的下臂电阻不直接接地,而是接一个N沟道MOS的漏极,源极接地,栅极接USB 5V。USB存在时,N沟道MOS导通,分压网络工作;USB消失时,N沟道MOS关断,分压网络断开。这个N沟道MOS的栅极阈值要低,确保USB 5V能完全导通。
6.3 多电源输入的扩展
如果设备有多个电源输入,比如USB、DC插座、电池,可以用同样的思路扩展。每个电源路径用一个P沟道MOS控制,优先级通过栅极逻辑实现。比如USB优先于DC,DC优先于电池。逻辑会复杂一些,但核心思想不变:高优先级电源存在时,关断低优先级电源的MOS管。
我做过一个三电源切换的板子,用了三个P沟道MOS和几个三极管,原理图大概20个元件,成本不到2块钱,比用专用芯片便宜多了。关键是逻辑要理清楚,画个真值表,把每种电源组合下的MOS管状态列出来,然后设计栅极逻辑。
6.4 与BMS的配合
如果电池包自带BMS(电池管理系统),要注意BMS的充放电MOS可能会和我们的切换MOS冲突。BMS的放电MOS在过放时会关断,此时我们的电池侧MOS即使导通,电池也没有输出。这会导致负载掉电。解决办法:在BMS输出和我们的MOS之间加一个大电容,或者让MCU检测BMS状态,提前保存数据。
另外,BMS的充电MOS在过充时会关断,如果我们的电路在USB存在时试图给电池充电,而BMS已经关断,充电电流会无处可去,可能导致电压异常。所以充电IC要选带电池检测的,或者加一个泄放路径。
7. 个人实操心得
这套电路我前后改了五版,踩过的坑比上面写的还多。最大的教训是:不要相信仿真,一定要打板实测。仿真里MOS管是理想开关,实际有寄生电容、体二极管、温度漂移。我第一版仿真完美,打板后切换时振荡,查了一周才发现是栅极走线太长,耦合了开关噪声。
第二个教训是:选型要留余量,但不要过度设计。我一开始选了Vds=-30V、Rds(on)=5mΩ的MOS管,价格是普通型号的三倍,结果发现根本没必要。12V的Vds、20mΩ的Rds(on)完全够用,成本降了一半。
第三个心得是:测试要覆盖极端情况。常温下没问题不代表高温没问题,电池满电4.2V和空电3.0V的切换表现也不一样。我一般会在高低温箱里跑一遍,-20℃到60℃各测一次切换波形,确保全温度范围稳定。
最后分享一个小技巧:如果负载对切换瞬间的电压跌落特别敏感,可以在负载侧加一个理想二极管电路(用MOS管模拟二极管),把跌落控制在毫伏级。不过那又是另一个话题了,下次再聊。