作者:AirCity 2019.10.30 Aircity007@sina.com
硬件工程师在设计原理图时,偶尔会遇到一些情况,需要一个开关来隔断信号,或者需要一个电平转换电路来匹配不同的IO电平。可以用专用的芯片来解决问题,但往往价格高,且不一定容易得到。其实,有更加简单有效的方法是用MOS管搭电路。本文就告诉你怎么做。如下是两个MOS管的图例,先好好认识下他们的长相。 你可能会觉得本文的标题很奇怪,难道只能用PMOS做信号开关?只有NMOS才能做电平转换?下文会详细解释这些疑问。
先把结论放前面
PMOS适合做信号开关,信号必须是从S极输入。这个信号可以是小信号,也可以是电源。NMOS适合做电平转换,必须是从低电压转到高电压,逻辑不变。PMOS不能!利用PMOS和NMOS的G极和S极,可以做逻辑转换,电平转换。二极管也能做电平转换,但是有缺陷。下图是一个典型的PMOS信号开关应用,注意必须是从S极向D极传送信号,并且D极没有上拉电阻,有一个大的下拉电阻。 逻辑如下:
EN=1.8V时 A=0V,管子截止,B=0V;A=1.8V,管子截止,B=0V(实际不是0,见解释1). 如上A不能正常传送到B,相当于开关断开。 EN=0时 A=1.8V,管子导通,B=1.8V;A=0V,管子截止,B=0V; 如上A能正确传送到B,相当于开关导通。*解释1: * EN=1.8V,A=1.8V,管子截止,B点电压并不是0,而是R199,寄生二极管,R200的分压!我们仿真的结果是0.689V,仿真过程如下: 开始仿真之前,解释一下R200为何是100M,通常B点会连接一个IC的IO输入,对于输入,如果软件没有配置上下拉电阻(百K级别),输入电阻将是无穷大,假设就是100Mohm。 下图是仿真电路,D2相当于寄生二极管。
仿真结果如此,但为什么是这个结果? 二极管有反向截止特性,为什么没有阻隔电压? 有没有办法使VB=0V? 这要从二极管的反向特性着手来理解这些疑问,下图是一个二极管的IV曲线: 由图可知,二极管反向偏压后,从0到-200mV,其反向电流随反向电压VF的(绝对值)增大而增加,近似计算其阻抗为8Mohm左右。从-200mV开始,VF(绝对值)增加,其反向电流一直维持在-7nA左右。反向偏压一直增加,这个值基本不变。一直到规格书上标称的VF最大值75V后二极管击穿。VF=-0.2V~-75V之间,其电阻从28Mohm到10.7Gohm逐渐增加 若要想二极管起到良好的阻隔电压的作用,就要尽量使二极管占有越大的压降。比如上图仿真电路两种,当VB=0V时,二极管两端压差最大,此时二极管起到了最好的阻隔电压效果。换句话说,要尽量使二极管工作在上图所示的“理想截止区域”。 在理想截止区域,反向电流7nA是关键线索,如果B点的对地电阻过大,导致总电流小于7nA,二极管的电压阻隔作用就会比较差。 B点对地阻抗到底是多少,VB才会等于0V呢,显然B点对地阻抗为0时,才能实现。现实情况不可能,下面是几组数据: R2=200K,VB=1.38mV,I=6.89nA R2=1M,VB=6.89mV,I=6.89nA R2=10M,VB=68.9mV,I=6.89nA R2=50M,VB=345mV,I=6.89nA R2=100M,VB=689mV,I=6.89nA R2=200M,VB=1.38V,I=6.89nA R2=300M,VB=1.72V,I=5.72nA 接下来,重点来了:通常,B点对地阻抗是百K级别,VB的电压都会很小,可以简单计算为Rx7nA,这时二极管的电压阻隔作用最明显!
既然PMOS能做开关,那么能用NMOS做信号开关吗?答案是否定的!如下图 : 接法一:EN=0V,NMOS才有可能截止,寄生二极管的存在,导致A高B也高,无法截止。 接法二: EN=0V,NMOS截止(假设B点对地阻抗为100K); EN=1.8V,管子导通,A拉高到1.8V,B也被拉高,瞬间Vgs=0V,管子又被截止。因此NMOS不能用作信号开关,仿真结果如下:
凡事都有例外:如果EN电压明显高于A点最高电压,例如EN=5V,A=1.8V。这时,即使B=A=1.8V,Vgs=5-1.8=3.2V,管子仍然是导通的。因此当EN高电压明显高于(至少大Vgsth)传输信号的最高电压时,NMOS也能做开关使用!但一般不用这种方法。 延伸讨论: PMOS做信号开关,当管子截止时,S极上如果有仍然有信号输入,D极上的信号是怎样?如下是仿真结果:
在PMOS的S极输入高电平瞬间,D极也有高电平,但会很快下降。这是PMOS管D和S极之间的电容导致的,这个电容通常为pf级别,我做了一个模拟,如下图。效果与PMOS截止时的波形类似。
其实用NMOS做的信号开关,也有同样的上述问题,不再赘述。
下图是NMOS做电平转换的典型电路,要点是信号从低往高转低,从S极到D极。 逻辑如下: A=1.8V,NMOS截止,B=3.3V; A=0V,NMOS导通,B=0V;
如果是高电平往低电平转换,低频信号用电阻分压即可! 对上图电路做了一下仿真,100KHz信号能顺利传输!
同样用DS极传送信号,PMOS不能用来做电平转换! NMOS的其他用法: 接法一:用NMOS,必须高电平转低电平,且高电平明显高于低电平。同样实现电平转换且逻辑不变,100KHz没问题。 在NMOS的S极上接电阻的方式属于“低端”接法,很少用。常用的是“高端”接法,即在D极上串电阻,下面接法: 接法二:用NMOS,不限转换电平方向,可高电平转低电平,也可以低电平转高电平。缺点是逻辑变化了,且高频特性差
PMOS也有上述类似的接法。 延伸问题: 二极管也能做电平转换? 答案:能,只能从高转低,且缺点是低电平最低0.7V,且会有严重的过冲和下冲,因为结电容。
总结:
PMOS适合做信号开关,信号必须是从S极输入。NMOS也能做信号开关,信号从D极输入,前提是G极的使能电压要明显大于D极信号的最高电压。NMOS适合做电平转换,必须是从低电压转到高电压,逻辑不变。PMOS不能!利用PMOS和NMOS的G极和S极,可以做逻辑转换,电平转换。二极管也能做电平转换,但是有缺陷。