GPIO-常见名词

参考 blog
参考视频

Push-pull output 推挽输出

Pull-pull output 模式指, 输出端口通过两个晶体管的开关来控制电平状态, 其可以实现高电平和低电平两种状态.

这里的 Push-pull 描述的是输出的状态, Push 指输出高电平:

  • 上面是 NPN 型晶体管, 栅极输入高电平时导通
  • 下面是 PNP 型晶体管, 栅极输入低电平时导通

此时输出控制部分输出高电平, 开关导通.

Pull 指最终输出低电平:

此时输出控制部分输出低电平, 开关断开.

该状态的好处在于 “驱动能力强”, 即输出电压高, 此时几乎就是 VCC 大小 (没有额外电阻来分压).

Open-drain output 开漏输出

Open-drain output 模式指, 输出端口由一个 NPN 晶体管的开关来控制, 其只能实现低电平, 而不能直接输出高电平 (可以配合上拉电阻实现).

Open-drain 就是指晶体管的连接方式, 由于 Source 极接地, 不管 “输出控制” 输出如何, 都持续保持低电平 (开关就算打开, 没电源也没输出):

若加上上拉电阻, 则

  • 当 “输出控制” 高电平时, 输出低电平
  • 当 “输出控制” 低电平时, 输出高电平

上拉电阻越大, 驱动能力越弱 (至少从这张图来看是这样的).

Floating input 浮空输入

浮空输入是指将输入引脚未连接到任何外部信号源或电路, 使其处于未定义的状态. 在这种情况下, 输入引脚既不连接到高电平 (VDD) 也不连接到低电平 (GND), 而是处于开路状态.

Pull-up resistor

使用 Pull-up resistor 的原因在于, 输出电压由于外部接入电阻的分压而降低了:

Pull-up resistor 接在电源和单片机引脚之间, 用于提高电源的驱动能力:

(为什么后面讲)

假设单片机内部为, 当上面的 MOS 导通时, 此时测得的是电源电压:

若加上外部电阻, 可以把电路等效为:

(电源有内阻, MOS 有阻抗)

此时由于电阻串联分压, 导致测得的电压减小.

在接上 pull-up resistor 之后, 可以视为内阻与其并联, 电阻减小, 因此串联分压减小, 输出电压增大:

本质就是让上拉电阻与单片机的内阻并联, 减小串联分压, 以增大输出驱动电压.

Pull-up input 上拉输入

指输入端口与电源间接一个电阻, 表现出持续的高电平:

  • 若输入 “高电平”, 则最终输入高电平
  • 若输入 “低电平”, 此时由 VDD 驱动, 也输入高电平

Pull-down input 下拉输入

指输入1端口与地间接一个电阻, 表现出持续的低电平;

(有点没搞懂)

High impedance


GPIO-常见名词
http://example.com/2024/11/08/GPIO-常见名词/
作者
Jie
发布于
2024年11月8日
许可协议