推挽输出与开漏输出

本文详细介绍了GPIO的推挽输出与开漏输出模式,包括它们的工作原理、特点以及在实际应用中的优缺点,强调了开漏输出需要上拉电阻才能实现高电平驱动,而推挽输出则无需此步骤但无法实现线与功能。
摘要由CSDN通过智能技术生成

推挽输出与开漏输出



前言

在使用GPIO口时,会遇到两种配置,一种叫推挽输出,一种叫开漏输出,今天就简聊一聊这两种模式的差异和选择。


一、推挽输出

如图所示,以STM32的GPIO输出端口结构为例,开漏与推挽电路主要由一个PMOS和一个NMOS组成,两个MOS相互配合实现推挽电路。
如下图:当Q1导通,Q2截至时,电流经红色路径,将右侧MOS导通,扩音器运作。整个过程电流由内向外,类似将电流推出去。
在这里插入图片描述
如图:当Q2导通,Q1截至时,电流经红色路径,右侧MOS截至,扩音器停止。整个过程通过GND将外部电流拉进来,类似将电流挽回去。
在这里插入图片描述

如上所述,两个过程一推一挽,两种结果,描述了GPIO输出高低电平时电流的一个动作,就是常说推挽。
特点:推挽输出的最大特点是可以真正能真正的输出高电平和低电平,在两种电平下都具有驱动能力

二、开漏输出

简单总结一下Q1和Q2对于GPIO输出状态的影响,其真值表如表:

Q1状态Q2状态GPIO的输出状态
导通导通VCC直接对地短路,烧毁MOS管,错误状态
导通关断输出接VCC,输出高电平
关断导通输出接地,输出低电平
关断关断输出浮空,相对与其它点的电阻无穷大,呈现高阻态

在第3种和第4种情况下Q1均为关断状态,此时可将Q1看成是不存在的,此时Q2的漏极啥也没接,处于浮空状态,我们称之为开漏。
如果此时在右侧给他接一个芯片的EN脚,假设EN脚为低电平失能高电平使能,但是此时的漏极只能是高阻态和低电平,没有对芯片EN使能和失能的功能。
在这里插入图片描述
那么怎么才能使用漏极拥有失能和失能的能力呢?
如果在其中接入一个上拉电阻,这是的情况会如何

在这里插入图片描述
如果Q2导通,GND接入,电流通过红色路径到地,EN等效为GND此时也处于低电平,
如果Q2断开,GND断开,电流通过绿色路径到EN,EN被上拉此时处于高电平状态,
在这里插入图片描述

那么此时就有聪明的小伙伴就要问了,推挽电路可以输出高低电平,直接使用推挽电路直接输出高低电平控制EN,岂不快哉?
我觉得是可以的,但有一个问题就是,GPIO输出的电压基本是恒定的,而不同芯片的EN电压又是不一样的,比如常见的STM32的GPIO输出一般是3.3v,有的MCU的EN使能是5v,有的又是1v。不可能针对每个芯片再转一遍电压吧!这就体现了开漏电路的重要性了,只需根据需要的电压配个上拉电阻就OK了!

特点:开漏输出最主要的特性就是高电平没有驱动能力,需要借助外部上拉电阻才能真正输出高电平,其电平跳转速度也上拉电阻决定

在使用多个GPIO控制EN的话,如果使用推挽电路会出现这样一种情况,如图
当Q1打开,Q2关闭,那么Vout1输出高电平,
当Q3关闭,Q4打开,那么Vout2输出低电平
这种情况下,电路等效为真值表的第一种情况,MOS,VCC通过MOS直接接地MOS烧毁,不能进行“线与”

在这里插入图片描述
如果使用开漏,模式就不会出现这样一种情况,如图
只有当Vout1和Vout2都输出高电平时,EN才会是高电平,处于一种“线与”状态

在这里插入图片描述


总结

推挽输出:真正的高电平有驱动能力,无需上拉电阻,电平跳转快,不可“线与”,不可电平转换

开漏输出:虚假的高电平无驱动能力,需要上拉电阻,电平跳转慢,可以“线与”,可以电平转换

  • 20
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值