MOS管(三极管)——一些常用的硬件设计电路分析


1. 概述

芯片的集成度虽然越来越高,但是整个电路功能的实现,还是离不开分离器件的搭配,本文就针对笔者在实际工作中的关于 MOS 管(三极管)的应用做一些整理。

本文所介绍的功能,使用三极管也是可以的,但是实际应用中,多使用 MOS 管,故本文多以 MOS 管进行说明。

2. 应用

2.1 NMOS 开关控制


如图,通过 NMOS 的开关作用,完成对 LED 的亮灭控制。此时 MOS 管工作于截止区和可变电阻区。

控制端 状态
LED0 为高电平 点亮 LED
LED0 为低电平 LED熄灭

对于 NMOS ,当 Vgs = Vg - Vs > 0 时,NMOS 导通;当 Vgs = Vg - Vs < 0 时,NMOS 断开。

2.2 PMOS 电源控制

2.2.1 IO 控制

PMOS 在整个电路系统中,其中某一部分的电路上电通过控制中可以方便用于通断控制。上图的电路中,使用时需要注意的一点是 VCC_IN 与控制断的电平 PWR_CON 要处于同一标准(eg:VCC_IN = 3.3V;PWR_CON 高电平 = 3.3V)

控制端 状态
PWR_CON 为高电平 PMOS 断开,VCC_OUT 无电压输出
PWR_CON 为低电平 PMOS 导通,VCC_OUT 有电压输出,VCC_IN ≈ VCC_OUT

对于 PMOS ,当 Vgs = Vg - Vs < 0 时,PMOS 导通;当 Vgs = Vg - Vs > 0 时,PMOS 断开。

因为 MOS 管的导通压降是非常小的,所以在 Rds 之上的能量损耗是比较少的。

2.2.2 NMOS 控制 PMOS

进一步地,上图的电路可以扩展为下图,PMOS 的栅极通过 NMOS 来控制。


拓展为此电路,针对 VCC_IN 与 PWR_CON 电压就没有强制的要求了。当 PWR_CON 为高电平的时候,NMOS 导通,PMOS 的栅极被拉低到低电平,PMOS 导通,VCC_OUT 有电压输出;反之,当 PWR_CON 为低电平时,NMOS 关断,从而使 PMOS 也断开,这样就完成了 VCC_IN 输出电压到 VCC_OUT 的控制。

2.2.3 按键上电控制

上图的电路,就可以完成所谓的按键开机的功能。

(1)按下 K1 按键,PMOS 的栅极被拉低,Vgs < 0,PMOS 导通,VCC_OUT 有电压输出;

(2)VCC_OUT 有电压输出,按键按下时可完成对 MCU 的供电,然后软件端通过 MCU 的 GPIO 进而控制 NMOS 的栅极,即 PWR_CON 。先通过 KEY_DET 检测到按键动作,然后把 PWR_CON 设置为高电平,NMOS 导通,使得 PMOS 也导通,这时候抬起按键,VCC_OUT 一端也有电压稳定输出,就实现了按键上电开机的功能。

此电路的二极管,功能是防止电压反窜和 对MCU 的 GPIO 的保护。

功能流程:

2.3 反相(非门逻辑)

如果电路中需要实现逻辑非的功能,可以采用 MOS 管(三极管)加上电阻来实现,如下图所示:

控制端 状态
INPUT 为高电平 OUTPUT 为低电平
INPUT 为低电平 OUTPUT 为高电平

通过一个 MOS 管(三极管)加上两个电阻,就可以实现非门的逻辑。

具体的应用可参考本文:再学 SPI ——(一)SPI片选信号

2.4 电池防反接功能

在大多数的电池防反接电路中,常选择压降小的二极管(如:肖特基二极管)来完成,但是针对如 3.7V 锂电池的应用场景,肖特基约为 0.2V 的压降天然的造成了电池容量的浪费,而 MOS 管导通的低压降(Vds)就有很大的优势了。

如上图所示,PMOS 在此处的作用就是防止 VBUS 存在时,LDO Vin 端的电压反窜到电池上。

原理分析:

(1)当 USB VBUS 存在时,PMOS 的栅极电压 Vg = 5V,源极电压 Vs = 3.7V(假设此时的电池电压为 3.7V),Vgs = 5 - 3.7 = 1.3V(大于0),此时 PMOS 关断,就起到了防止 Vin 端电压反窜的作用;

(2)当 USB VBUS 不存在时,PMOS 的栅极通过 10K 的电阻下拉到 GND,因此栅极电压 Vg = 0V,源极电压 Vs = 3.7V(假设此时的电池电压为 3.7V),电池通过 PMOS 自身的寄生二极管使得 Vs = 3.7V,所以 PMOS 的导通电压 Vgs = 0 - 3.7 = -3.7V,PMOS 导通,这样就完成了电池电压到 Vin 端的输入。

上图的 LDO 电路,只要使能端 LDO_CON 给一个开启信号,输出端 V_3V3 就可以稳定输出 3.3V,C3、C4 为 LDO 的输入输出电容,一般大于 1uF(具体参考数据手册取值)。

具体的应用可参考本文:电源防反接小结

2.5 IO通信双向切换

在一些设备中,如果两个通过 IO 连接的器件,某一时刻,一个处于休眠,一个处于掉电,这时候就会导致休眠的器件向掉电的器件灌入电流,为了完全杜绝此状态下的电路窜入,可采取如下电路的设计(比如:I2C 的 SDA 信号)

原理分析:

M_DATA S_DATA 导通状态 方向
高电平 高电平 Vgs = 0V,MOS 管截止 M_DATA—>S_DATA
低电平 低电平 Vgs > 0V,MOS 管导通 M_DATA—>S_DATA
S_DATA M_DATA 导通状态 方向
高电平 高电平 M_DATA 通过上拉电阻 R9 设置成高电平,MOS 管截止 S_DATA—>M_DATA
低电平 低电平 S_DATA = 0,NMOS 的寄生二极管导通,进而使得 Vgs > 0,MOS 管导通,M_DATA 为低电平 S_DATA—>M_DATA

如上面两个方向的表格分析,这样通过 NMOS 就完成了一个 IO 双向通信的控制。(只能选择 NMOS,不可选择 PMOS,原因读着可以自行分析一下)

2.6 3.3V 与 5V 的电平转换

(1) MOS 实现:

在实际的应用中,常会遇到通信的两个芯片之间的电平不匹配的问题,这时候就需要通过外部的电路来完成电平匹配的工作(如:MCU 的电平为 3.3V,而外设的电平为 5V)。

原理分析:

3V3_DATA 5V_DATA 导通状态 方向
高电平 高电平 Vgs = 0V,MOS 管截止 3V3_DATA—>5V_DATA
低电平 低电平 Vgs > 0V,MOS 管导通 3V3_DATA—>5V_DATA

通过 3.3V 端高低电平的变化,使得 NMOS 对应开关,就完成了 3.3V 电平到 5V 电平的转换。

5V_DATA 3V3_DATA 导通状态 方向
高电平 高电平 MOS 管截止,3V3_DATA 通过上拉电阻 R12 设置成高电平 5V_DATA—>3V3_DATA
低电平 低电平 5V_DATA= 0,NMOS 的寄生二极管导通,进而使得 Vgs > 0,MOS 管导通,M_DATA 为低电平 5V_DATA—>3V3_DATA

反之,也完成了对 5V 设备的数据的读取。

注:此电路用三极管也可以实现同样的功能,如下图:

(2) 两级 NPN 实现:

如下图所示,3.3V 与 5V 之间的电平转换,也可以通过两级的 NPN 三极管来实现。


原理分析:

3V3_DATA 5V_DATA 导通状态 方向
高电平 高电平 Q10 导通,Q9 截止,5V_DATA 端得到 5V 的高电平 3V3_DATA—>5V_DATA
低电平 低电平 Q10 截止,Q9 导通,5V_DATA 端得到 低电平 3V3_DATA—>5V_DATA

以上为一些常用的 MOS 管的实际应用电路,部分笔者已在实际中进行了验证,如有不足之处,欢迎指正。


欢迎关注公众号:【千艺千寻】,共同成长


   转载规则


《MOS管(三极管)——一些常用的硬件设计电路分析》 霁风 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
深度学习系列1——Pytorch 图像分类(LeNet) 深度学习系列1——Pytorch 图像分类(LeNet)
1. 概述本文主要是参照 B 站 UP 主 霹雳吧啦Wz 的视频学习笔记,参考的相关资料在文末参照栏给出,包括实现代码和文中用的一些图片。 整个工程已经上传个人的 github https://github.com/lovewinds13/
2022-11-21
下一篇 
Allegro专题【6】——Allegro 使用小记 Allegro专题【6】——Allegro 使用小记
1. 推挤时,45 度走线推入焊盘中走线状态下,去掉下图所选之前的 “√” 2. 推挤走线命令:slide 3. Z-copy 命令Z-copy 用于 PCB 导入板框后,禁止布线层的生成(同时也是 PCB 覆铜时区域),操作方法如下
2020-08-08
  目录