1.开漏输出(开集输出)
1.1结构
集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路。
输入“0”时,左边的NPN截止(集电极和发射集段相当于断开),右边NPN导通,输出直接接地,所以输出低电平。
输入“1”时,左边的NPN导通,右边NPN输入端会被拉到GND导致截止,输出高阻,此时对外没有任何的驱动能力。
1.2特点
1.电平转换:可以很方便的调节输出的电平,因为输出电平完全由上拉电阻连接的电源电平决定。所以在需要进行电平转换的地方,非常适合使用开漏输出。
2.线与功能:多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。这也是I2C,SMBus等总线判断总线占用状态的原理。
2.推挽输出
2.1结构
推挽输出结构是由两个MOS或者三极管组成。在收到互补控制的信号时,一个导通,一个截止。
当Vin输出1电平时,上边的MOS管导通,同时下边的MOS管截至,Vout输出高电平。
当Vin输出0电平时,上边的MOS管截至,同时下边的MOS管导通,Vout输出低电平。
2.2特点
1.驱动能力:推挽输出的最大特点是可以真正的输出高电平和低电平,在两种电平下都具有驱动能力。
补充说明:所谓的驱动能力,就是指输出电流的能力。对于驱动大负载(即负载内阻越小,负载越大)时,例如IO输出为5V,驱动的负载内阻为10ohm,于是根据欧姆定律可以正常情况下负载上的电流为0.5A(推算出功率为2.5W)。显然一般的IO不可能有这么大的驱动能力,也就是没有办法输出这么大的电流。于是造成的结果就是输出电压会被拉下来,达不到标称的5V。当然如果只是数字信号的传递,下一级的输入阻抗理论上最好是高阻,也就是只需要传电压,基本没有电流,也就没有功率,于是就不需要很大的驱动能力。
对于推挽输出,输出高、低电平时电流的流向如图 2所示:
2.不具备线与功能:如果当两个推挽输出结构相连在一起,一个输出高电平,即上面的MOS导通,下面的MOS闭合时;同时另一个输出低电平,即上面的MOS闭合,下面的MOS导通时。电流会从第一个引脚的VCC通过上端MOS再经过第二个引脚的下端MOS直接流向GND。整个通路上电阻很小,会发生短路,进而可能造成端口的损害。
3.两者比较
参考文章:https://zhuanlan.zhihu.com/p/41942876