推挽(push pull):拉灌电流
开漏(open drain):灌电流
漏:mos管漏极
通俗讲就是控制gpio口的高电平和低电平。
推荐《开漏?推挽?》
一:GPIO(通用输入输出)的输出模式
-
推挽输出(Push-Pull Output):在这种模式下,GPIO引脚可以提供高电平和低电平两种状态,输出信号由单片机直接驱动,能够提供较大的输出电流。适合于驱动逻辑电路、LED等。
-
开漏输出(Open-Drain Output):在这种模式下,GPIO引脚只能提供低电平状态,而高电平状态需要外部上拉电阻来提供。开漏输出适合于实现总线结构,如I2C通信总线。
-
复用输出(Alternate Function Output):一些GPIO引脚具有多种功能,可以通过设置复用模式来实现其他功能,如定时器、串口、模拟输出等,这种模式下GPIO引脚可以实现多种输出功能。
二:推挽输出
1.通过控制Q1Q2的打开关闭来进行输出高低电平
2.推电流
Q1打开(上面的vcc),Q2关闭,输出高电平
3.挽电流
Q1关闭,Q2打开(下面的GND),输出低电平想象右边的MOS管栅极在放电
三:开漏输出
1.Q1关闭(开路),现在只有Q2的漏极,在不外加上拉电阻的情况下,输出只有低电平和高阻态
2.Q1关闭,Q2关闭,外加3.3v电源加上拉电阻,输出高阻态,这时候右侧芯片的电源是由带R1的电源提供,实现5V单片机(图中的控制器)对3.3V(右侧)芯片的控制,
3.开漏输出,输出低电平
四:总结
无论是开漏输出还是推挽输出,本质都是控制GPIO口的高低电平,因为主控芯片和被控芯片的支持的电压范围不一样,怕烧毁被控芯片,所以需要借力其他器件,比如有的需要借助上拉电阻实现功能。
以上,完