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

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

你有没有想过一个问题: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输出模式之推挽输出",感谢作者把推挽输出的原理讲得如此清晰。)

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

相关推荐
路上有只喵1 天前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇2
单片机·嵌入式硬件
单片机仿真设计1 天前
Proteus仿真51单片机的智能温控风扇调速系统设计(仿真图+程序)
单片机·嵌入式硬件·proteus
youcans_1 天前
【嵌入式软件AI编程】22. STM32 基础实验:GPIO外部中断
stm32·单片机·嵌入式硬件·ai编程·claude
未来_攻城狮1 天前
STM32F407VGT6 芯片详解:高性能 Cortex-M4 MCU 入门指南
stm32·单片机·嵌入式硬件
xcLeigh1 天前
FreeRTOS实战:用STM32+SEGGER打造工业级实时嵌入式系统
人工智能·stm32·单片机·嵌入式硬件·ai
硅基造物主1 天前
STM32 从 0 到 1 做智能家居(十二):USART2 分时复用 —— ESP-12F + MQTT
网络·stm32·mqtt·智能家居·esp-12f
路上有只喵1 天前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇1
单片机·嵌入式硬件
芯岭技术郦1 天前
XL4460 FSK 无线透传模组
stm32·单片机·嵌入式硬件
半导体憨包1 天前
共源共栅(Cascode)功率器件:让 SiC / GaN “兼容“你的硅栅驱动
嵌入式硬件·生成对抗网络·硬件工程·半导体·dc-dc·半导体芯片
天空'之城1 天前
单片机基础核心知识点汇总(五十)
单片机·嵌入式硬件