推挽输出:上管推、下管拉,驱动强但不“合群”

短文标题:推挽输出:上管推、下管拉,驱动强但不"合群"

你有没有想过一个问题:GPIO直接点亮LED,靠的是哪种输出模式?**推挽输出。**它内部有两个MOS管:

  • 上面的PMOS管接VCC(推)
  • 下面的NMOS管接地(拉)

输出高电平时,上管导通,下管关断 → 电流从VCC流出,这叫做拉电流 。输出低电平时,上管关断,下管导通 → 电流从引脚流入地,这叫做灌电流

"推挽"这个名字,就来自"推"(高电平)和"挽"(低电平)两个动作。推挽的驱动能力 ARM32的GPIO在推挽模式下,单个引脚最大输出电流可达**±25mA**(拉和灌都能到25mA,但总电流受芯片散热和VDD/VSS引脚数量的限制)。

这意味着可以直接点亮LED(串个几百欧电阻),甚至驱动小功率MOS管。推挽还支持2MHz、10MHz、50MHz三档速度可选,是高速信号输出(如SPI时钟、PWM)的首选模式。推挽的"弱点":不适合并联,两个推挽输出引脚直接连在一起:

  • 一个输出高(3.3V),一个输出低(0V)
  • 3.3V和0V短接 → 巨大电流 → 烧引脚

这就是推挽"不合群"的地方。因此,I2C总线不能使用推挽模式------它需要多个设备的输出接在同一条线上,必须用开漏输出推挽 vs 开漏

从功耗角度,推挽输出在电平切换瞬间(死区)上下管可能同时微导通,产生贯穿电流;开漏输出没有上管,不存在贯穿电流,低功耗场景更友好。典型应用

  • 点灯:推挽直接驱动LED
  • PWM调光:推挽输出高速翻转
  • SPI总线:SCK和MOSI必须用推挽
  • 驱动74HC595:推挽提供陡峭边沿

这个故事的启示, 推挽驱动能力强,适合"一对一"控制。但多个推挽不能直接连在一起------会打架。选对模式,用对场景,才能发挥GPIO的最大效能。写在最后, 点亮LED只是第一步。理解"上管推、下管拉",才知道什么时候用推挽,什么时候换开漏。选对了,少走弯路;选错了,查半天。


(本文灵感源于于振南《新概念ARM32单片机》教程第3.3节"GPIO输出模式之推挽输出",感谢作者把推挽输出的原理讲得如此清晰。)

觉得有用?点赞、转发,让更多人看懂"推挽"背后的驱动逻辑。

相关推荐
FreakStudio6 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
python·单片机·嵌入式·大学生·面向对象·并行计算·电子diy·电子计算机
✎ ﹏梦醒͜ღ҉繁华落℘11 天前
单片机基础知识---stm32单片机的优先级
stm32·单片机·mongodb
u1521096484911 天前
S.S.Audio PRO A2音频隔离器
嵌入式硬件·音视频·实时音视频·视频编解码·视频
zd84510150011 天前
RS485 总线详解
单片机·嵌入式硬件
半条-咸鱼11 天前
【STM32】I2C协议原理、HAL读写与OLED显示操作
嵌入式硬件·c·信息与通信
牛根生同志11 天前
SPI数据收发的时候 TXE与RXNE标志位置位的时机
stm32·spi·transfer
wohoo_wangzi11 天前
苏州晟雅泰电子:关于W25Q128JVSIQ这个芯片物料的参数,规格及应用领域
嵌入式硬件
goldenrolan12 天前
学习型红外控制系统稳定性挂测工装专项总结
软件测试·python·stm32·嵌入式·红外
✎ ﹏梦醒͜ღ҉繁华落℘12 天前
编程基础 --高内聚,低耦合
c语言·单片机
科芯创展12 天前
1A,1MHz,30VIN,XZ4115,降压恒流LED驱动芯片
单片机·嵌入式硬件