据说能将处理器的GPIO(General Purpose Input and Output)内部结构和各种模式彻底弄清楚的人并不多?那现在就让多一点
GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。但是在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。
GPIO的结构:
首先,了解GPIO结构里面的三个重要组成部分,如下图所示PMOS和NMOS(p-mos and n-mos transistors决定了电路工作在开漏输出模式或者是推挽输出模式)
s
Push-Pull结构(推挽):
顾名思义,PUSH-PULL中所谓PUSH指的是把输出推到电路的VDD电压,所谓Pull指的是将输出拉到Ground电压。Simplified schematic of a push-pull output
如上图所示,可以看出是由一对PMOS和NMOS组成了一个简单的Push-Pull结构,具体的原理如下:Push phase – 当连接在Mos管栅极的internal信号输入为低电平(Logic 0)的时候,PMOS管导通,电流从VDD流经PMOS管至输出端口。
Pull phase – 当连接在Mos管栅极的internal信号输入为高电平(Logic 1)的时候,NMOS管导通,电流从Output端流经PMOS管至GND。
Open-Drain结构(开漏):