GPIO之推挽输出和开漏输出

article/2025/9/22 11:11:53

疑问

GPIO配置为输出时会有两种模式,一种叫推挽输出,一种叫开漏模式。那什么是推挽输出,什么又是开漏输出呢?

三种输出状态

如下图所示为将GPIO配置为输出时的内部示意图:
在这里插入图片描述
由上图可以看出,GPIO的输出状态完全取决于两个MOS管Q1和Q2的导通状态:

  1. Q1导通、Q2关断,此时输出接VCC,输出高电平;
  2. Q1关断、Q2导通,此时输出接地,输出低电平;
  3. Q1关断、Q2关断,此时输出浮空,相对与其它点的电阻无穷大,呈现高阻态;
  4. Q1导通、Q2导通,此时VCC直接对地短路,会烧毁MOS管,所以此状态不会也不允许存在。

所以,将GPIO配置为输出时,其只会处于以上1、2、3三种状态(即高电平、低电平、高阻态)之一。

推挽输出

首先,我们把上文中提到的1、2两种状态(即高电平、低电平)拿出来,组成一个组合。这便是我们对GPIO输出最基本的认知,要么输出高电平,要么输出低电平。

当输出高电平时,电流按下图箭头所示流出去,我们称之为,把电流推出去。
在这里插入图片描述
当输出低电平时,电流按下图箭头所示流进来,我们称之为,把电流挽回来。
在这里插入图片描述
所以,所谓的推挽,其实描述的是GPIO输出高低电平时电流的一个动作而已。

开漏输出

然后我们将上文中的2、3两种状态(即低电平、高阻态)拿出来,组成一个组合。

不难发现,在2、3两种状态中Q1都是关断的,所以可以认为它就是不存在,如下图:
在这里插入图片描述
此时,MOS管的漏极等于啥也没接,处于一个开路状态,所以这个模式称之为开漏模式

那开漏模式有什么用呢?

  1. 改变高电平的电压
    比如说现在想用这个GPIO去控制一个芯片的enable引脚,如下图所示:
    在这里插入图片描述
    后面芯片的enable引脚只支持3.3V输入,但是GPIO输出的高电平却由5V。如果用推挽模式输出5V的话就可能会把后面芯片烧毁。所以我们就需要使用开漏模式,同时外接一个上拉电阻。此时,将Q2关断时(即高阻态),enable引脚就被上拉电阻拉到了3.3V,也就是高电平,如下图所示:
    在这里插入图片描述
    同样的,当Q2导通时,enable引脚就接地被拉到了低电平。
    这样便可实现5V单片机对3.3V芯片的控制。
  2. 多个GPIO控制同一个输入
    如下图所示用两个GPIO去控制一个芯片的enable:
    在这里插入图片描述
    如果用推挽模式的话,当上面的GPIO输出高电平,下面的GPIO输出低电平时,两个GPIO之间就短路了,会烧毁MOS管。
    此时,我门将两个GPIO设置为开漏模式,再外接一个上拉电阻,如图:
    在这里插入图片描述
    这样的话,只要有任意一个GPIO输出为低电平时,enable都会被拉低。只有当两个GPIO为高阻态时,enable才会被拉高。

所以,开漏输出一般都会配置一颗外部的上拉电阻。


参考:推挽 开漏 高阻 这都是谁想出来的词??


http://chatgpt.dhexx.cn/article/MuiCygnQ.shtml

相关文章

推挽输出和开漏输出区别

目录 1.推挽输出 2.开漏输出 1.推挽输出 当想输出高电平时,P-MOS导通,N-MOS截止,输出为电源电压VDD 当想输出低电平时,N-MOS导通,P-MOS截止,相当于引脚直接接地,输出低电平 2.开漏输出 开…

从硬件方面理解GPIO的开漏输出和推挽输出

最近在学STM32,看正点原子视频中对开漏输出和推挽输出的讲解视频时,发现原子哥对电路的讲解有一些错误,主要说关于MOS管的开关问题,查了一晚上资料,终于想明白了,特意发个文章分享一下。 这是STM32F4XX中文…

推挽输出与开漏输出

推挽输出 要理解推挽输出,首先要理解好三极管(晶体管)的原理。下面这种三极管有三个端口,分别是基极(Base)、集电极(Collector)和发射极(Emitter)。下图是NP…

开漏输出与推挽输出

一、开漏输出:集电极开路门(OC)与漏极开路门(OD)一般用于线与和电流驱动的场合,为开集(漏)输出结构。 1. 利用外部电路的驱动能力,减少IC内部的驱动。 2. 可以将多个开漏输出引脚连接在一起,通过一个上拉电阻上拉到VCC&#xff…

开漏输出和推挽输出总结(一看就懂)

推挽输出(Push-Pull Output) 推挽输出结构是由两个MOS或者三极管收到互补控制的信号控制,两个管子时钟一个在导通,一个在截止,如图1所示: 推挽输出的最大特点是可以真正能真正的输出高电平和低电平&…

开漏输出、推挽输出的区别

前言 background:测试相关设备引脚输出,使用示波器时发现部分引脚需外接上拉电阻至高电平才能在示波器观察到高阻态,为了深究其中原理,查阅了相关资料,发现知乎中有一篇对这两种输出描述得清晰易懂的文章,此…

开漏输出和推挽输出

开漏输出和推挽输出 概述模拟文件下载推挽输出线与开漏输出输出电压最后 概述 在STM32或者GD32中,普通的输出GPIO输出方式主要是开漏输出和推挽输出,下面我们开始讲解这2种模式的区别。需要样片的可以加群申请:615061293。 下图是GPIO内部的…

如何正确理解开漏输出和推挽输出

作者:知乎用户 链接:https://www.zhihu.com/question/28512432/answer/41217074 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 我觉得下面这个「网上资料」还是很不错的。 单片机I/O口推挽输出…

推挽输出和开漏输出的区别

一、推挽输出 推挽输出结构是由两个MOS或者三极管收到互补控制的信号控制,两个管子时钟一个在导通,一个在截止,如下图所示 当VIN为高电平、上面的MOS导通,下面的MOS截止,Vout被上拉到VDD 当VIN为低电平、上面的MOS截止…

推挽输出开漏输出

在学习STM32的时候,我发现了一个很值得研究学习的问题,下面,用我的理解来阐述一遍,这其中的原理。 首先请看电路图 在给GPIO配置输出的时候,其有两种工作模式可选,分别是推挽输出和开漏输出。 在此之前先得…

开漏输出与推挽

1.推挽输出:可以输出高,低电平,连接数字器件。 输出 0 时,N-MOS 导通,P-MOS 高阻,输出0。 输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。 开漏输出:输出端相当…

基础——STM32F4的GPIO模式

stm32的GPIO的配置模式包括: 1. 模拟输入; 2. 浮空输入; 3. 上拉输入; 4. 下拉输入; 5. 开漏输出; 6. 推挽输出; 7. 复用开漏输出; 8. 复用推挽输出 1.模拟输入 从上图我们可以看到&…

GPIO输入输出各种模式(推挽、开漏、准双向端口)详解

技术交流是便宜的博客地址:http://blog.csdn.net/techexchangeischeap 概述 能将处理器的GPIO(General Purpose Input and Output)内部结构和各种模式彻底弄清楚的人并不多,最近在百度上搜索了大量关于这部分的资料,对于其中很多问题的说法并不统一。本文尽可能的将IO涉…

卡尔曼滤波器(哔哩哔哩徐亦达)

1、尖帽子,表示是估计量而不是真实量。 2、从下面公式可以大概得出高斯噪声的方差和d级别差不多。 TDOA文献中的公式 3、卡尔曼滤波器主要记住五个公式: 4、卡尔曼滤波器的应用:包括机器人导航,控制,传感器数据融合甚至在军事方…

李航/徐亦达 统计学习方法第九章EM算法及其推广总结和习题答案

强烈推荐徐亦达老师关于EM算法的讲解视频,本文根据徐老师和李航老师统计学习方法整理,由于公式推导太多,笔记为手写。其中包含混合高斯模型的理解,形象化解释,以及习题链接。 习题 习题9.1和9.3 习题9.4

徐亦达老师-机器学习教学视频共76集(下载自优酷)

链接:http://pan.baidu.com/s/1bpNzqSB 密码:naqe 徐老师主页:http://www-staff.it.uts.edu.au/~ydxu/ 转载于:https://www.cnblogs.com/zhangliustc/p/5998836.html

刷新校史!985副研究员,以独立作者身份,研究成果被数学顶级期刊录用!

来源:华中科技大学&青塔等,信息仅作分享之用 据华中科技大学数学中心10月8日消息,郇真副研究员的文章“Representations of Lie 2-groups and 2-Vector Bundles”被顶刊Acta Mathematica接收。 据悉,郇真副研究员是新中国成立…

机器学习笔记之狄利克雷过程(二)基于标量参数作用的推导过程

机器学习笔记之狄利克雷过程——基于标量参数作用的推导过程 引言回顾:狄利克雷过程——基本介绍狄利克雷过程——定义小插曲:狄利克雷分布的简单性质 关于标量参数作用的推导过程 引言 上一节以高斯混合模型为引,简单介绍了狄利克雷过程( D…

首发:徐亦达团队新论文推荐(ECCV2020):端到端多人多视角3d动态匹配网络

徐亦达团队在ECCV2020上发表了一篇机器学习论文 End-to-end Dynamic Matching Network for Multi-view Multi-person 3d Pose Estimation(端到端多人多视角3d动态匹配网络) 论文第一作者:黄聪臻韬,本科就读于中国科学技术大学-计算…