GPIO开漏输出和推挽输出有什么区别

摘要:推挽输出和开漏输出是两种常见的数字输出模式。推挽输出由互补MOSFET组成,具有高速切换和强驱动能力,适用于SPI、PWM等应用,但不能并联使用。开漏输出仅包含下拉MOSFET,需外接上拉电阻,支持电平转换和多机"线与"连接,适用于I2C总线等场景。推挽输出在高低电平切换时功耗低,而开漏输出在高电平时存在上拉电阻功耗。两种模式各有特点:推挽适合高速驱动应用,开漏则更适合需要电平兼容和多机通信的场合。

目录

[一. 推挽输出 (Push-Pull)](#一. 推挽输出 (Push-Pull))

(1)工作原理:

(2)优点:

(3)缺点:

(4)输出电压:

[二. 开漏输出 (Open-Drain)](#二. 开漏输出 (Open-Drain))

三、开漏和推挽对比图

四、开漏和推挽输出分别应用场景

[1. 推挽输出 (Push-Pull) 的典型应用](#1. 推挽输出 (Push-Pull) 的典型应用)

[2. 开漏输出 (Open-Drain) 的典型应用](#2. 开漏输出 (Open-Drain) 的典型应用)


一. 推挽输出 (Push-Pull)

它的输出级由两个互补的晶体管(通常是 MOSFET)组成,一个连接到电源(VCC),一个连接到地(GND)。

(1)工作原理:

当输出高电平时,上面的管子导通,把电压"推"向高位;当输出低电平时,下面的管子导通,把电流"拉"向地。

(2)优点:

a.速度快: 电平切换迅速。

b.驱动能力强: 可以直接驱动 LED 等负载。

(3)缺点:

不可并联。 如果两个推挽输出接在一起,一个输出高,一个输出低,会造成电源短路(烧毁芯片)。

(4)输出电压

只有3V3,没办法输出5V

如果 I2C 使用推挽输出,不仅会导致通信失败,还极有可能物理损坏MCU(烧毁引脚)。

假设主设备想要发送"高电平(1)",其内部的上管导通,将 SDA 拉向 VCC;与此同时,从设备想要应答"低电平(0)",其内部的下管导通,将 SDA 拉向 GND。

后果: 此时 VCC 和 GND 通过两个 MOSFET 直接连通。由于 MOSFET 的导通电阻极小,电路中会产生巨大的电流。


二. 开漏输出 (Open-Drain)

在这种模式下,内部晶体管只负责"接地"。

  • 工作原理: 内部只有一个连接到 GND 的管子。当输出"低"时,管子闭合,输出接地;当输出"高"时,管子断开,输出端处于高阻态(悬空)

  • 核心要求: 必须外接一个上拉电阻连接到电源,才能输出高电平。

  • 优点: 电平转换: 可以通过调节上拉电阻的电压,实现 3.3V 芯片驱动 5V 设备。

    线与(Wired-AND): 多个开漏引脚可以接在一起。只要有一个引脚输出低,整个线路就是低。这在 I2C 总线中非常关键。

  • 缺点: * 上升沿慢: 依靠电阻充电,电平由低变高的速度比推挽慢。

  • 输出电压:可以输出3V3和5V

开漏输出没法靠自己(推电流)点亮 LED,但它却是最适合"吸电流"点亮 LED 的模式。

  • 推挽模式下: 引脚输出高电平时,内部 MOSFET 把电流"推"给 LED,LED 亮。

  • 开漏模式下: 引脚输出高电平时,内部是**断开(高阻态)**的,没有任何电流流出

原理图

三、开漏和推挽对比图

特性 推挽输出 (Push-Pull) 开漏输出 (Open-Drain)
高电平驱动 内部 MOSFET 直接驱动 依靠外部上拉电阻
输出速度 较慢(受限于上拉电阻)
功耗 低电平切换时功耗低 高电平时在上拉电阻上有功耗
多机连接 不允许(会短路) 允许(线与逻辑)
典型应用 SPI 总线、PWM、通用 LED 驱动 I2C 总线、电平转换、多机通信

四、开漏和推挽输出分别应用场景

1. 推挽输出 (Push-Pull) 的典型应用

推挽输出的主要特点是速度快、波形方正、驱动能力强

  • 高速数据总线(SPI, UART): SPI 通信频率通常很高(可达几十 MHz)。推挽输出能让电平在极短时间内完成 0 到 1 的跳变,保证了信号的边缘非常锐利。

  • PWM 驱动(电机、亮度调节): 在控制电机或 LED 调光时,需要高频切换。推挽输出能够快速充放电,减少在开关切换瞬间的功耗(因为切换过程越慢,发热越多)。

  • 推喇叭/蜂鸣器: 直接驱动音频元件需要电流在正负方向上都有较好的表现,推挽输出结构天然适合这种推拉动作。


2. 开漏输出 (Open-Drain) 的典型应用

开漏输出的核心优势在于"电平兼容""多机共连"**。

  • **多机通信与仲裁(I2C, SMBus):**利用"线与"特性,多个设备挂在同一根线上。如果两个设备同时说话,谁输出"0"谁就占主导,系统不会损坏。

  • 电平转换(Level Shifting): 当你有一个 3.3V 的 MCU,但需要向 5V 的传感器发送信号时,使用开漏输出,外接一个上拉到 5V 的电阻。这样高电平就是 5V,低电平是 0V,完美兼容。

  • 热插拔与中断请求(IRQ): 许多外设的中断引脚(Interrupt Pin)是开漏的。多个外设的中断线可以全部连在一起,通过一个上拉电阻接到 MCU。只要有一个外设发出中断(拉低总线),MCU 就能感知到。

  • 电池管理与复位电路(Reset): 许多芯片的复位引脚(RESET)是开漏的,这样多个复位源(按键、看门狗、上电检测)都能独立地拉低复位线,而互不干扰。

相关推荐
NYFEA1 小时前
徕飞 FCA系列全面上新,一站式I/O扩展国产替代方案
单片机·嵌入式硬件
XiHongShi20162 小时前
STM32H7 FLASH和SRAM标准例程
stm32·单片机·嵌入式硬件
单片机杂货铺3 小时前
【单片机毕业设计选题】基于单片机的智能牛奶保鲜箱设计
人工智能·stm32·单片机·物联网·毕业设计·课程设计
莫浅子19 小时前
day01-USB架构与枚举
c++·单片机·嵌入式驱动
恒锐丰科技韩生19 小时前
SS8844T|8.2‑40V 四通道独立半桥驱动 ETSSOP28 带散热焊盘 工业自动化机器人专用
嵌入式硬件·硬件工程
Hello_Damon_Nikola20 小时前
INMP441从入门到精通
单片机·嵌入式硬件·物联网
恒锐丰小瑞20 小时前
率能SS6810H 32V/1A/双通道H桥驱动芯片,PWM电流控制与混合衰减模式,用于POS打印机/安防相机/机器人
嵌入式硬件·数码相机·机器人·硬件工程
恒锐丰科技林技术员20 小时前
SS8812T 双通道 H 桥电机驱动芯片应用解析
经验分享·嵌入式硬件·硬件工程
ye1501277745521 小时前
12V转3V-5V2A电位器无极调光调速WT7027
stm32·单片机·嵌入式硬件
恒锐丰-罗生21 小时前
国产电机驱动 SS6635E|宽压大电流单通道 H 桥芯片全面总结
驱动开发·嵌入式硬件·硬件工程