首先要了解开漏和推挽的区别,开漏只能输出低电平,开漏输出无法真正输出高电平,如果需要输出高电平就需要依靠外部上拉电阻来实现;而推挽则既能输出高电平也能输出低电平,不需要依赖外部的上拉电阻。
想要理解上面的原理就要去了解三极管和MOS管的导通原理了。
三极管记住箭头指向是PN结,这样看到三极管就可以很好的区分是NPN还是PNP了。
NPN,基极输入高导通输出低电平;
PNP,基极输入低导通输出高电平。
MOS管基本上是和三极管原理相同的。
推挽输出模式是由两个MOS管组成的,一个P-MOS(PNP),一个N-MOS(NPN);开漏输出模式则只有一个N-MOS管组成。
那么开漏和推挽分别应用于什么情况呢?
第一种情况,外部有上拉电阻,根据你的电路设计,如果需要输出高电平,就可以选择开漏;如果你的电路设计需要输出低电平,那么就可以选择推挽。
第二种情况,外部没有上拉电阻,这时候就必须要选择推挽了,因为如果选择了开漏,那么就无法输出高电平。
第三种情况,多个IO口输出连接到一个输入口,这种情况就必须要选择开漏,因为它有“线与”的功能。
这里的“线与”是什么意思呢?
线与逻辑:两个或多个输出信号连接在一起可以实现逻辑“与”的功能。
所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。而推挽输出就不行,如果高电平和低电平连在一起,会出现短路电流倒灌,损坏器件。
最后一种情况,需要接口电平转换,这种情况也必须选择开漏。
因为开漏输出电平完全由上拉电阻连接的电源电平决定,所以在需要进行电平转换的地方,非常适合使用开漏输出。