问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

推挽输出与开漏输出详解

创作时间:
作者:
@小白创作中心

推挽输出与开漏输出详解

引用
1
来源
1.
https://www.cnblogs.com/bujidao1128/p/18400874

在使用MCU(微控制器)时,经常会遇到需要配置IO口为推挽输出或开漏输出的情况。本文以STM32为例,详细介绍了这两种输出模式的工作原理、应用场景以及相关注意事项。

在使用MCU时,常看到配置IO口为推挽输出、开漏输出,以STM32为例,IO口有以下几种模式,单片机的内部电路简化图如下:

推挽输出

推挽电路的示意图:

当IN输入低电平时,P-MOS导通,N-MOS截止,此时OUT输出的电压是VDD高电平

当IN输入高电平时,N-MOS导通,P-MOS截止,此时OUT输出的电压是VSS低电平

用推挽输出模式,可以得到一个明确的高电平或者低电平,可以实现高低电平的快速切换。在实际使用时,经常用IO口的高低电平去驱动一个LED或者是蜂鸣器,使用的就是MCU的推挽输出模式。

推挽输出驱动LED时,LED接地,此时电流的方向是从MCU往外输出,这个电流称为拉电流

反之,推挽输出驱动LED时,LED接电源,此时电流的方向是从外往MCU输入,这个电流成为灌电流

不管是灌电流还是拉电流,都是针对IO口作为输出模式而言的,它们是衡量电路驱动能力的重要参数,数据手册上可以看到这两个参数,在实际设计电路时使用的上拉电阻或者是下拉电阻要根据这两个参数选择阻值,从而匹配电路的输出能力

再以实际的STM32为例,推挽输出模式。

如果MCU的IO口要输出高电平,则P-mos导通,N-mos截止,此时IO引脚上的电压就是VDD高电平。

如果MCU的IO口要输出低电平,则N-mos导通,P-mos截止,此时IO引脚可以看做直接接了GND,所以是低电平。

开漏输出

开漏电路的示意图:

开漏指的是场效应管的“漏极”,开漏输出就是把场效应管的漏极直接引出来作为输出引脚

开漏输出最重要的作用是:电平匹配,在设计电路时不论是单片机还是外设芯片或是负载,每个个体的逻辑电平可能是不一样的,这种情况时就需要作电平的匹配,就用到了开漏输出模式。

开漏输出模式,因为场效应管的漏极直接引出,是需要加一个外置电源的,我们可以通过外接电源的方式得到想要的电平。因为外接电源的方式,从MCU的角度来说,减轻了MCU的负担

例如在使用MCU自带的IIC模块时,就要求配置想要的管脚为开漏输出模式多个开漏输出被接在了同一个线上,下图中如果其中的某个引脚的漏极为低电平,则整个总线上都是低电平,这是“与逻辑”,所以被称为“线与”。因为IIC总线可以接很多个设备MCU就是通过这种方式判断当前总线的状态

再以STM32为例:

当N-MOS与P-MOS都截止时,此时的引脚就相当于连接了一个无穷大的电阻,所有IO引脚对外呈现的是高阻态,当MCU供电为3.3V开漏输出引脚上接外部5V电源时,因为N-MOS的阻值无穷大,所以此时IO引脚上的电压就接近于5V电压

开漏的线与特性:当多个开漏输出链接到一起,当它们全部都输出高电平时,总线上才是高电平,但凡有一个开漏输出引脚上是低电平,总线就会被拉低。

复用输出模式

复用模式输出连接的是MCU的内部外设,例如PWM、USART、IIC。具体用复用开漏输出还是复用推挽输出,这个就要根据外设需求来设置,例如IIC在使用时需要用到线与特性,就必须在程序里配置IO引脚为复用开漏输出;像UART或者PWM功能,需要IO口高速变化确定的高低电平,则必须配置为复用推挽输出。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号