Open drain & push pull 原理(转)

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

最近在写GPIO的driver, 在配置GPIO管脚时,看见了感觉熟悉的两个名词:Open Drain and Push Pull。可是一时对它们的原理及区别有感觉很模糊,故上网收集了一些资料复习一下。      所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示:

组成开漏形式的电路有以下几个特点:
1. 利用 外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很下的栅极驱动电流。如图1。
2. 可以将多个开漏输出的Pin,连接到一条线上。形成 “与逻辑” 关系。如图1,当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。
3. 可以利用改变上拉电源的电压,改变传输电平。如图2, IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。
4. 开漏Pin不连接外部的上拉电阻,则只能输出低电平(因此对于经典的51单片机的P0口而言,要想做输入输出功能必须加外部上拉电阻,否则无法输出高电平逻辑)。
5. 标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。

应用中需注意:
1.   开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本。如图3。
2.  上拉电阻R pull-up的  阻值  决定了  逻辑电平转换的沿的速度  。阻值越大,速度越低功耗越小。反之亦然。

                                                                     图 3
Push-Pull输出就是一般所说的推挽输出,在CMOS电路里面应该较CMOS输出更合适,应为在CMOS里面的push-pull输出能力不可能做得双极那么大。输出能力看IC内部输出极N管P管的面积。和开漏输出相比,push-pull的高低电平由IC的电源低定,不能简单的做逻辑操作等。push-pull是现在CMOS电路里面用得最多的输出级设计方式。

 

Open Drain与push/pull
在大部分的单片机的GPIO的设置中,都会有两种不同的输出方式提供选择,一种是开漏极(open drain)输出,另外一种是推挽(push/pull)的输出方式,那么这两种输出方式到底有什么不同以及在使用过程中又应该如何选择?

开漏极(open drain)输出
首先需要当使用开漏级输出的时候,需要使用上拉电阻
1:图1中,当输入为0的时候,Q1工作在截至状态,Q2工作做导通,当没有上拉电阻的时候,此时输出管脚处于悬空状态,没有办法控制输出电压。
2:图1中,当输入为1的时候,Q1工作在导通状态,此时Q2的基极与发射极无法导通,所以Q2工作在截至状态,可以把Q2想象成一个断路了,当没有上拉电阻的时候,输出管脚依然是悬空的状态。
当加上上拉电阻的时候,一切都不一样了。
3:在图1中,输入为0的时候,Q1截至,Q2导通,此时可以想象Q2是一根导线直接接地,此时的输出当然为0了,电流都会通过Q2流向接地端
4:在图1中,输入为1的时候,Q1导通,Q2截至,此时想象Q2为断路状态,此时的电流通过上拉电阻继续流向外部的负载了,此时的输出电压需要根据负载电阻的大小来计算了,但所有的一切都是可控的了。
图3就是所有的简化版,当开关断开的时候,电流通过上拉电阻流向输出端。当开关导通时候,输出为0。

推挽(push/pull)输出:
推挽输出可以将图三的电阻换成一个开关即可。两个开关永远有一个导通。
 

 

 

 

开漏(open drain)和开集(open colletor) 开漏电路中的“漏”即是MOSFET的漏极,开漏电路即是指MOSFET的漏极为输出的电路。一般的用法是在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成,如图1所示: 图1 开漏电路有如下特点: 1、利用外部电路的驱动能力,减少IC内部驱动。当IC内部MOSFET导通时,驱动电流从外部VCC流经上拉电阻R pull-up,MOSFET到GND,IC内部只需要很小的栅极驱动电流。 2、可以将多个开漏输出... 阅读详情

相关推荐

GPIO输入输出各种模式(推挽、开漏、准双向端口)详解

技术交流是便宜的博客地址:http://blog.csdn.net/techexchangeischeap 概述 能将处理器的GPIO(General Purpose Input and Output)内部结构和各种模式彻底弄清楚的人并不多,最近在百度上搜索了大量关于这部分的资料,对于其中很多问题的说法并不统一。本文尽可能的将IO涉及到的所有问题罗列出来,对于有明确答案的问题解释清楚,对于还存

技术交流是便宜的的博客 16万+

开漏输出(open drain)与推挽输出(push pull)学习详解及某个踩到的坑分享

推挽输出和开漏输出是单片机的两种基本状态,实际的性质有所区别,下面是个人的分析,若有不对之处敬请指正。 (1)推挽输出:有确定的输出状态(非0即1) (2)开漏输出(OD):不附加上拉电阻时没有高电平输出能力,线与逻辑实现方案 当多个OD共享一个上拉电阻Rp时,只要有任意一个输出为0,其他所有的输出也都会被拉到地,因此假定逻辑输入为A、B,一般为了控制逻辑和实际输出的电平逻辑一致,会在控制端附加反相器,因此会出现图片里逻辑功能函数L = ~B · ~A的情况。 (3)踩到的坑 算是SPI的不规范用法吧,

qianzilu的博客 3万+

Open-DrainPush-Pull、floating input

Open-DrainPush-Pull、floating input 根据网上搜集的资料进行了整理! 在配置GPIO(General Purpose Input Output)管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下: 一、Push-Pull推挽输出 1、原理 输出

sygdp21的专栏 7588

【嵌入式 - 输出驱动电路Open Drain (开漏)Push-Pull (推挽)

Open drainpush-pull 是两种常见的输出驱动电路。它们在数字电子电路中用于控制信号的输出。

六月悉茗的博客 9579

open-drainpush-pull】图表对比

open-drainpush-pull】 GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。但是在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。 对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下: 图表 1 Push-Pull对比Open-Drain Push-Pull推挽输出

tidavery的专栏 7409

MCU的GPIO输出模式Open Drain & Push/Pull的理解

** MCU的GPIO输出模式Open Drain & Push/Pull的理解 ** 【Push-Pull推挽输出】 原理: 输出的器件是指输出脚内部集成有一对互补的MOSFET,当Q1导通、Q2截止时输出高电平;而当Q1截止导通、Q2导通时输出低电平。Push-Pull输出,实际上内部是用了两个晶体管(transistor),此处分别称为Top-Transistor和Bottom-Transistor。通过开关对应的晶体管,输出对应的电平。Top-Transistor打开(Bottom-Tran

qq_44764418的博客 4154

Open-DrainPush-Pull

Open-DrainPush-Pull GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。(General Purpose Input Output,简称为GPIO或总线扩展器,利用工业标准I2C、SMBus™或SPI™接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。)但是在配置G

ryder001的专栏 1686

open-drainpush-pull

open-drainpush-pull open-drainpush-pull GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。但是在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。 对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下: 图表 1 Push-Pull对比Open-Drain Pus...

qq_43021446的博客 629

推挽(Push-Pull) vs 开漏(Open-Drain)

作者:crifan (http://bbs.chinaunix.net) 邮箱:green-waste@163.com 【Open-DrainPush-Pull】 GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。(General Purpose Input Output,简称为GPIO或总线扩展器,利用工业标准I2C、SMBus™或SPI™接口简化了I/O口的扩展。当微

cfy_phonex的专栏 1万+

Open drain & push pull 原理

      最近在写GPIO的driver, 在配置GPIO管脚时,看见了感觉熟悉的两个名词:Open Drain and Push Pull。可是一时对它们的原理及区别有感觉很模糊,故上网收集了一些资料复习一下。      所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极

tjuchenzj的技术资料收藏 2252

drain open 线与_【open-drainpush-pull

Push-Pull推挽输出Open-Drain开漏输出原理输出的器件是指输出脚内部集成有一对互补的MOSFET,当Q1导通、Q2截止时输出高电平;而当Q1截止导通、Q2导通时输出低电平开漏电路就是指以MOSFET的漏极为输出的电路。指内部输出和地之间有个N沟道的MOSFET(Q1),这些器件可以用于电平换的应用。输出电压由Vcc'决定。Vcc'可以大于输入高电平电压VCC(up-translat...

weixin_40005542的博客 443

Open drain & push pull 原理

最近在写GPIO的driver, 在配置GPIO管脚时,看见了感觉熟悉的两个名词:Open Drain and Push Pull。可是一时对它们的原理及区别有感觉很模糊,故上网收集了一些资料复习一下。      所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上

苦逼的ALin 3140

开漏(open drain)和开集(open collector)的概念

在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示:组成开漏形式的电路有以下几个特点:1.         利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R

zmq5411的专栏 4万+

Open-Drain&Push-Pull

FROM:https://blog.csdn.net/qq_39560607/article/details/81714120 在配置GPIO(General Purpose Input Output)管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)。对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下: 一、Push-Pull推挽输出 1、原理 输出的器件是指输出脚内部集成有一对互补的MOSFET:   当Q1导通、Q2截止时输出高电平

茫茫大士的专栏 6925

Open drain & push pull,IO口驱动,集电极开路

Open drain & push pull      最近在写GPIO的driver, 在配置GPIO管脚时,看见了感觉熟悉的两个名词:Open Drain and Push Pull。可是一时对它们的原理及区别有感觉很模糊,故上网收集了一些资料复习一下。      所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电

josomehex的专栏 2035

Open-DrainPush-Pull

自:https://www.cnblogs.com/zhangpengshou/p/3643546.html GPIO的功能,简单说就是可以根据自己的需要去配置为输入或输出。(General Purpose Input Output,简称为GPIO或总线扩展器,利用工业标准I2C、SMBus?或SPI?接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通...

weixin_34138255的博客 122

open drainpush pull

GPIO常常可以设置为输出和输入;在配置GPIO管脚的时候,常会见到两种模式:开漏(open-drain,漏极开路)和推挽(push-pull)这里先熟悉下什么是mos管:MOS管,即绝缘性场效应管。MOS英文全称为Metal-Oxide-Semiconductor即金属-氧化物-半导体,常用做开关元件;

ForDream321的专栏 6700
上一篇: 电磁波频谱及划分
下一篇: I2C双向电平转换电路设计
pan0755
博客等级 码龄17年 967粉丝 48原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值