GPIO 核心概念解析:上拉、下拉、推挽、开漏

一、上拉(Pull-Up)与下拉(Pull-Down)

1. 基本定义

上拉和下拉是 GPIO 作为输入模式时的配置,用于解决引脚悬空(floating)导致的电平不确定问题,通过内部电阻固定默认电平。

2. 上拉(Pull-Up)

  • 原理:内部电阻将引脚默认连接到电源(VDD)
    • 无外部输入时,引脚保持高电平
    • 外部输入低电平时,引脚被拉低(低电平优先)
  • 示意图GPIO引脚 ──[内部电阻]── VDD

3. 下拉(Pull-Down)

  • 原理:内部电阻将引脚默认连接到地(GND)
    • 无外部输入时,引脚保持低电平
    • 外部输入高电平时,引脚被拉高(高电平优先)
  • 示意图GPIO引脚 ──[内部电阻]── GND

4. 应用场景

  • 按键输入:未按下时通过上拉/下拉确定基准电平,按下时电平翻转
  • 避免外部信号中断时的电平波动

二、推挽(Push-Pull)与开漏(Open-Drain)

1. 基本定义

推挽和开漏是 GPIO 作为输出模式的驱动方式,决定引脚输出高低电平的电气特性。

2. 推挽输出(Push-Pull)

  • 原理:内部包含 PMOS 和 NMOS 两个 MOS 管
    • 输出高电平时:PMOS 导通,直接连接 VDD(主动"推"高)
    • 输出低电平时:NMOS 导通,直接连接 GND(主动"拉"低)
  • 特点
    • 可主动输出高低电平,驱动能力强
    • 无需外部电阻,响应速度快
  • 适用场景:直接驱动 LED、继电器等外设

3. 开漏输出(Open-Drain)

  • 原理:内部仅含 NMOS 管,无 PMOS 管
    • 输出低电平时:NMOS 导通,连接 GND
    • 输出高电平时:NMOS 截止,引脚呈高阻态(需外部上拉电阻接 VDD 才能输出高电平)
  • 特点
    • 必须外接上拉电阻才能输出高电平
    • 支持"线与"功能(多个引脚并联,任一输出低则总线为低)
    • 可实现电平转换(通过上拉电阻电压调整)
  • 适用场景:I2C 通信、多设备共享总线、电平转换电路

三、核心对比表

类型 应用模式 核心特性 典型用途
上拉 输入 无信号时为高电平,低电平优先 按键输入
下拉 输入 无信号时为低电平,高电平优先 传感器信号输入
推挽输出 输出 主动输出高低电平,驱动能力强 LED 驱动、继电器控制
开漏输出 输出 仅主动输出低电平,高电平需上拉,支持线与 I2C 总线、电平转换
Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐