设计与开发

单片机开漏 单片机IO口科普:推挽输出,开漏输出详解

小编 2024-11-24 设计与开发 23 0

单片机IO口科普:推挽输出、开漏输出详解

在学单片机和选用逻辑器件的时候我们常别人说这款芯片是推挽输出驱动能力强,这个引脚是开漏输出需要加上拉电阻。是不是有时候感觉一头雾水?今天就详解一下推挽和开漏,以后你买芯片的时候就可以和别人大声理论了。

1. 什么是推挽输出

推挽输出既可以输出低电平,也可以输出高电平,可以直接驱动功耗不大的数字器件。

2. 推挽输出电路的结构

推挽电路是由两个三极管或MOSFET,以推挽方式存在于电路中,电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高、既提高电路的负载能力,又提高开关速度。其示意结构如下图所示:

当内部输出1电平时,上边的MOS管导通同时下边的MOS管截至,IO口输出高电平;

当内部输出0电平时,上边的MOS管截至同时下边的MOS管导通,IO口输出低电平;

3. 什么是开漏输出

开漏输出只能输出低电平,如果要输出高电平必须通过上拉电阻才能实现。就类似于三极管的集电极输出。

4. 开漏输出电路的结构

如上图:

内部输出1时MOS管截止,输出与地断开,这时候IO口其实是没有驱动能力的,需要外部连接上拉电阻才能输出高电平,才能驱动数字器件;

内部输出0时MOS管导通,输出低电平,所以开漏能输出低电平;

5. 准双向IO

在学51单片机的时候老师告诉我们,51单片机的IO口是准双向的,什么是准双向的?示意如下:

其结构类似于开漏输出,只不过是把上拉电阻集成到了单片机内部。

6. IO口如何应用

对于推挽输出的IO口可以直接输出高低电平驱动功耗较小的数字器件,但对于开漏输出的话必须要在外部接上拉电阻才行。比如说LPC11C14单片机的片上I2C资源就是开漏输出的,如果要使用这两个引脚做输出就必须加上拉电阻,如下图所示:

本订阅号致力于单片机、ARM等嵌入式软硬件的设计经验分享,秉承“人人都是电子设计经验的分享者”的理念,成功路上不孤单,我们一起努力。公众号:micropoint8

梳理清楚推挽、开漏、OC、OD

与推挽输出相对的是开漏输出,而开漏输出分为OC、OD两种,下文分别详细介绍。

推挽输出

推挽输出(Push-Pull Output)是由两个MOS或者三极管受到互补控制信号的控制,两个管子始终处在一个导通另一个截止的状态,如图1所示:

图1 推挽输出结构

推挽输出的最大特点是可以真正的输出高电平和低电平,而且在两种电平下都具有驱动能力。

补充说明

所谓的驱动能力,就是指输出电流的能力。对于驱动大负载(即负载内阻越小,负载越大)时,例如IO输出为5V,驱动的负载内阻为10ohm,于是根据欧姆定律可以正常情况下负载上的电流为0.5A(推算出功率为2.5W)。显然一般的IO不可能有这么大的驱动能力,也就是没有办法输出这么大的电流。于是造成的结果就是输出电压会被拉下来,达不到标称的5V。当然如果只是数字信号的传递,下一级的输入阻抗理论上最好是高阻,也就是只需要传电压,基本没有电流,也就没有功率,于是就不需要很大的驱动能力。

对于推挽输出,输出高、低电平时电流的流向如图2所示。所以相比于后面介绍的开漏输出,输出高电平时的驱动能力强很多。

图2 灌电流与拉电流

缺点

但推挽输出的一个缺点是,如果当两个推挽输出结构相连在一起,一个输出高电平,即上面的MOS导通,下面的MOS闭合时;同时另一个输出低电平,即上面的MOS闭合,下面的MOS导通时。电流会从第一个引脚的VCC通过上端MOS再经过第二个引脚的下端MOS直接流向GND。整个通路上电阻很小,会发生短路,进而可能造成端口的损害。这也是为什么推挽输出不能实现" 线与"的原因。

【嵌入式物联网单片机学习】 嵌入式物联网开发需要学的东西比较多,大家可以加下面微信一起学习,整理了100多G(全网最全)的学习资料包(持续更新)、最新的学习路线思维导图。

各种学习群、项目开发教程。还可以围观我朋友圈中的一手行业消息,每周的技术大咖直播答疑吹水。

点击这里加我 嵌入式物联网单片机学习

开漏输出

常说的与推挽输出相对的就是开漏输出(Open Drain Output),对于开漏输出和推挽输出的区别最普遍的说法就是开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完成对外驱动。关于上下拉电阻可以参考此文:通俗理解STM32中的上/下拉电阻。

下面就从内部结构和原理上说明为什么开漏输出输出高电平时没有驱动能力,以及进一步比较与推挽输出的区别。

首先需要介绍一些开漏输出(OD)和开集输出(OC)。这两种输出的原理和特性基本是类似的,区别如下:

开漏使用MOS管,其中的"漏"指的就是MOS管的漏极开集使用三极管,其中的"集"指的就是三极管的集电极

这两者其实都是和推挽输出相对应的输出模式,由于使用MOS管的情况较多,很多时候就用"开漏输出"这个词代替了开漏输出和开集输出。

OC

介绍就先从开集输出开始,其原理电路结构如图3所示。

图3 OC

图3左边电路是开集(OC)输出最基本的电路,当输入为高电平时,NPN三极管导通,Output被拉到GND,输出为低电平;当输入为低电平时,NPN三极管闭合,Output相当于开路(输出高阻)。高电平时输出高阻(高阻、三态以及floating说的都是一个意思),此时对外没有任何的驱动能力。这就是开漏和开集输出最大的特点,如何利用该特点完成各种功能稍后介绍。这个电路虽然完成了开集输出的功能,但是会出现input为高,输出为低;input为低,输出为高的情况。

图3右边的电路中多使用了一个三极管完成了"反相"。当输入为高电平时,第一个三极管导通,此时第二个三极管的输入端会被拉到GND,于是第二个三极管闭合,输出高阻;当输入为低电平时,第一个三极管闭合,此时第二个三极管的输入端会被上拉电阻拉到高电平,于是第二个三极管导通,输出被拉到GND。这样,这个电路的输入与输出是同相的了。

OD

接下来介绍开漏输出的电路,如图4所示。原理与开集输出基本相同,只是将三极管换成了MOS而已。

图4 OD

特点及应用

接着说说开漏、开集输出的特点以及应用,由于两者相似,后文中若无特殊说明,则用开漏表示开漏和开集两种输出电路。

开漏输出最主要的特性就是高电平没有驱动能力,需要借助外部上拉电阻才能真正输出高电平,其电路如图5所示。

图5 OD门上拉

当MOS管闭合时,开漏输出电路输出高电平,且连接着负载时,电流流向是从外部电源,流经上拉电阻RPU,流进负载,最后进入GND。

开漏输出的这一特性一个明显的优势就是可以很方便的调节输出的电平,因为输出电平完全由上拉电阻连接的电源电平决定。所以在需要进行电平转换的地方,非常适合使用开漏输出。开漏输出的这一特性另一个好处在于可以实现"线与"功能,所谓的"线与"指的是多个信号线直接连接在一起,只有当所有信号全部为高电平时,合在一起的总线为高电平;只要有任意一个或者多个信号为低电平,则总线为低电平。而推挽输出就不行,如果高电平和低电平连在一起,会出现电流倒灌,损坏器件。

推挽、开漏对比

关于推挽输出、开漏输出在STM32中的应用,请移步此文:STM32中GPIO工作原理详解。理清楚了推挽、开漏之后,可以更好的理解GPIO工作原理。

原文链接:https://mp.weixin.qq.com/s/G0tekmBe0L3GAAdgDWsY8A

文章转载自:STM32嵌入式开发

文章来源于:梳理清楚推挽、开漏、OC、OD

原文链接:梳理清楚推挽、开漏、OC、OD

版权声明:本文来源于网络,免费传达知识,版权归原作者所有,如涉及作品版权问题,请联系我进行删除

相关问答

单片机 上电高电平怎么处理?我想上电是低电平,可是在程序里即使上电处理也会有很长时间的高点平?

单片机输出一般是“开漏极”或“开集电极”的,也就是说,在刚上电的瞬间或复位期间,单片机cpu在“尚未正常工作”的时候,输出晶体管处于关断状态,这时由于上...

单片机 的四种输出模式:高阻抗输出,P-沟道漏极开路输出,N-沟道漏极开路输出,CMOS输出,有什么区别?

增强型的是不加电压没有导电沟道,而耗尽型的不加电压就存在导电沟道,然后是n沟道衬底是p型,p沟道衬底是n型,有了这些你就可以分析了。栅级不加偏压,有电流就...

stc8 单片机 i/o口有几种工作模式?

stc8单片机i/o口有下列四种工作模式:①标准双向输入/输出②推挽输出具有很强的推动能力③高阻态输入I/O接口写入1或0不改变接口的电平,I/O接口只能用于输...

proteus做 单片机 仿真时候,引脚旁边的红点表示高电平,蓝点表示低电平,请问灰色点表示什么呢?

P0口是开漏输出口,不接上拉电阻的话,输出是高阻状态。所以是灰色显示。P0口是开漏输出口,不接上拉电阻的话,输出是高阻状态。所以是灰色显示。

单片机 :中断程序的入口地址有什么用-ZOL问答

在程序运行到任何地方时,发生中断,则中断当前的程序运行,去响应中断,那么CPU自动取得中断入口地址并转入执行中断程序,同时保存当前的程序地址,当中...

单片机 在通电后所有接口都是高电平吗?

单片机上电后,端口的状态一般为高阻态。在《单片机初级教程》这本书中是这样说的:复位后,P0~P3口输出高电平且使这些双向口皆处于输入状态。在MSP430单片机...

c51 单片机 p0到p3口的结构?

P0是开漏的,用来当地址/数据总线复用的,作I/O口时需要外接上拉电阻,一般用10K的排阻。P1~P3口都是双向I/O口,内部带上拉电阻的,P2口在访问外部存储时和P0作...

51 单片机 p0口功能?

做基本I/O口使用。CPU发出的控制信号为低电平,使多路控制开关MUX接通B端,即与输出锁存器的“!Q”连接,同时使与门输出为低电平,场效应管Q1截止。当P0输出数...

如何用 单片机 控制220V交流电的通断,不用继电器?

朋友们好,我是电子及工控技术,我来回答这个问题。用单片机控制强电它的方法还是比较多的,我们在平时生活中的电器中都可以随处可见,比如有的电风扇控制就是用...

单片机 驱动交流接触器的方法

[回答]在各种自动控制设备中,都存在一个低压的自动控制电路与高压电气电路的互相连接问题,一方面要使低压的电子电路的控制信号能够控制高压电气电路的执...

猜你喜欢