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

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

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

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

相关推荐
AOI小白新手上路19 分钟前
江科协51单片机 17-2 红外遥控电机调速实验调试总结
单片机·嵌入式硬件·51单片机
oshan20122 小时前
零基础STM32入门教程--10-PWM 呼吸灯
stm32·单片机·嵌入式硬件
记帖3 小时前
STM32C5A3R开发(7)----ADC电压采集
嵌入式硬件·adc·dac·stm32cubeide·stm32c5·stm32cubemx2·stm32c5a3rgt6
自小吃多5 小时前
器件移动、旋转、镜像、对齐、等间距操作笔记
笔记·嵌入式硬件
jianqiang.xue6 小时前
智能体整体架构设计:四大模块与目录组织
单片机·嵌入式硬件·物联网·架构·esp32
Messy create8 小时前
【BMS-AFE-温度检测】
stm32·单片机·能源
东莞市永盛电气8 小时前
三相208V变380V变压器,出海工业设备供电适配方案
python·单片机·嵌入式硬件
桃蹊、9 小时前
串口/网络透传实战:FreeRTOS 多任务架构与连接池设计
stm32·物联网·wifi·freertos
Learn-Share_HY9 小时前
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
linux·嵌入式硬件·物联网·网络协议·tcp/ip·http·iot
一木 之林9 小时前
三.C++ 内存管理(进阶)(二)
开发语言·arm开发·c++