单片机GPIO口的推挽输出和开漏输出有什么区别?

1. 推挽输出:

– 本质:推挽输出是指输出引脚能够主动拉高和拉低电平,输出高电平和低电平。通过激活或关闭输出器件,可以控制引脚的电平状态。

– 内部器件:推挽输出通常使用晶体管或场效应管(MOSFET)作为输出驱动器件。在驱动输出高电平时,P型晶体管或P型MOSFET将引脚连接到高电平;在驱动输出低电平时,N型晶体管或N型MOSFET将引脚连接到低电平。

– 连接方式:推挽输出通常直接连接到外部电路,如其他逻辑电路或负载电阻。输出引脚可以直接控制电平状态。

2. 开漏输出:

– 本质:开漏输出是指输出引脚只能拉低电平,而在高电平时变成高阻态。输出引脚只能将引脚连接到低电平,而对于高电平则需要通过外部上拉电阻将引脚连接至正电源,以实现总线上的高电平。

– 内部器件:开漏输出通常使用开漏晶体管或开漏MOSFET作为输出驱动器件。在驱动输出低电平时,开漏晶体管或开漏MOSFET将引脚连接到低电平;在高电平时,输出引脚处于高阻态(开放,Open)状态。

– 连接方式:开漏输出通常用于与其他开漏输出或上拉电阻(pull-up resistors)连接。通过外部上拉电阻将输出引脚连接至正电源,以实现总线上的高电平。这种连接方式常用于开关电路或总线应用。

注意:只有通过上拉电阻才能输出高电平,并且输出电平大小可根据上拉电阻而定。

                

如图所示:推挽输出是在两个晶体管或场效应管共同作用下实现输出电平的高低。

PMOS NMOS 输出状态
高电平
低电平
浮空/高阻态

一般来说,推挽输出指的是表格前两行,通过PMOS、NMOS的组合开关来实现高低电平的输出。而开漏输出指的是二三行,PMOS永远关闭,通过NMOS开关来实现输出状态的不同。但是,开漏输出状态下只能输出低电平,要输出高电平得外接一个上拉电阻。

3.推挽输出和开漏输出的优缺点

(1)开漏输出支持线与,而推挽输出不支持线与
         线与指的是多个信号线接到一根总线上时,各个信号线的电平全为高电平时总线为高电平,只要有一个信号线为低电平,那么总线就是低电平。
(2)推挽输出的电平驱动能力强,而开漏输出的电平驱动能力取决于外部上拉电阻。
(3)推挽输出的电平转换速度快,同时功耗也比较高。
(4)开漏输出支持电压转换,而推挽输出不支持。

开漏输出电压取决于外界上拉电阻的电压,而推挽输出电压是IC内部已经确定的。

4.推挽输出和开漏输出与复用推挽输出和复用开漏输出有何区别?

复用推挽输出:该引脚可以用于多个功能,包括推挽输出、输入等。在不同的功能模式下,引脚的工作方式和电平输出可以不同。需要通过特定的寄存器设置来选择其功能模式。

复用开漏输出:类似于复用推挽输出,该引脚可以用于多个功能。在不同的功能模式下,引脚的工作方式和电平输出也可以不同。同样需要通过特定的寄存器设置来选择其功能模式。

区别:

(1)推挽输出和开漏输出是关于引脚的工作模式的概念,决定了引脚能否主动拉高和拉低电平。

(2)复用推挽输出和复用开漏输出是关于引脚的功能模式的选择,可以在不同的功能模式下切换引脚的工作方式和电平输出。

(3)复用推挽输出和复用开漏输出可以选择的功能模式更多,可以根据具体的应用需求来选择引脚的工作方式。

以上是我个人的一些理解与看法,欢迎批评指正!

作者:是GUKO桑啊~

物联沃分享整理
物联沃-IOTWORD物联网 » 单片机GPIO口的推挽输出和开漏输出有什么区别?

发表回复