推挽输出和开漏输出详解
详细解说开漏输出和推挽输出

详细解说开漏输出和推挽输出1,开漏输出(Open-Drain)首先讲一下集电极开路输出(Open-Collector),单片机I/O常用的输出方式的开漏输出(Open-Drain),漏极开路电路概念中提到的“漏”是指MOSFET的漏极。
同理,集电极开路电路中的“集”就是指三极管的集电极。
在数字电路中,分别简称OD门和OC门。
典型的集电极开路电路如图所示。
电路中右侧的三极管集电极什么都不接,所以叫做集电极开路,左侧的三极管用于反相作用,即左侧输入“0”时左侧三极管截止,VCC通过电阻加到右侧三极管基极,右侧三极管导通,右侧输出端连接到地,输出“0”。
从图中电路可以看出集电极开路是无法输出高电平的,如果要想输出高电平可以在输出端加上上拉电阻。
因此集电极开路输出可以用做电平转换,通过上拉电阻上拉至不同的电压,来实现不同的电平转换。
用做驱动器,由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。
OC门使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则:从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。
将OC门输出连在一起时,再通过一个电阻接外电源,可以实现“线与”逻辑关系。
只要电阻的阻值和外电源电压的数值选择得当,就能做到既保证输出的高、低电平符合要求,而且输出三极管的负载电流又不至于过大。
集电极开路输出除了可以实现多门的线与逻辑关系外,通过使用大功率的三极管还可用于直接驱动较大电流的负载,如继电器、脉冲变压器、指示灯等。
由于现在MOS管用普遍,而且性能要比晶体管要好,所以很多开漏输出电路,和后面要讲的推挽输出电路都用MOS管实现。
再来就是开漏输出电路,和集电极开路一样,顾名思义,开漏电路就是指从MOSFET的漏极输出的电路。
典型的用法是在漏极外部的电路添加上拉电阻到电源如图所示。
完整的开漏电路应由开漏器件和开漏上拉电阻组成。
单片机IO口推挽输出与开漏输出的区别(转)

c单片机I/O口推挽输出与开漏输出的区别(转)推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.我们先来说说集电极开路输出的结构。
集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。
对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E 之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
我们将图1简化成图2的样子。
图2中的开关受软件控制,“1”时断开,“0”时闭合。
很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。
而当开关断开时,则输出端悬空了,即高阻态。
这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。
再看图三。
图三中那个1K的电阻即是上拉电阻。
如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。
对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。
将上面的三极管换成场效应管即可。
这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。
另一种输出结构是推挽输出。
推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。
比起OC或者OD来说,这样的推挽结构高、低电平驱动能力都很强。
推挽输出、开漏输出、OC、OD、线或、线与、竞争、冒险、毛刺【基本概念,常看看】-淡泊...

推挽输出、开漏输出、OC、OD、线或、线与、竞争、冒险、毛刺【基本概念,常看看】-淡泊...推挽输出、开漏输出、OC、OD、线或、线与、竞争、冒险、毛刺推挽输出与开漏输出的区别推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.要实现“线与”需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务。
电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
/////////////////////////////////////////////////////////////////// //开漏电路特点及应用在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。
同理,开集电路中的“集”就是指三极管的集电极。
开漏电路就是指以MOSFET的漏极为输出的电路。
一般的用法是会在漏极外部的电路添加上拉电阻。
完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
如图1所示:图1组成开漏形式的电路有以下几个特点:1. 利用外部电路的驱动能力,减少IC内部的驱动(或驱动比芯片电源电压高的负载)。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。
IC内部仅需很下的栅极驱动电流。
如图1。
2. 可以将多个开漏输出的Pin,连接到一条线上。
形成“与逻辑” 关系。
如图1,当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。
推挽式输出和漏极式输出

单片机学习之推挽输出与漏极开路输出方式push- pull输出就是一般所说的推挽输出,在cmos电路里面应该较cmos输出更合适,因为在cmos里面的push-pull输出能力不可能做得双极那么大。
输出能力看ic内部输出极n管p管的面积。
和开漏输出相比,push-pull的高低电平由ic的电源低定,不能简单的做逻辑操作等。
push-pull是现在cmos电路里面用得最多的输出级设计方式。
一.什么是oc、od集电极开路门(集电极开路oc 或源极开路od)open-drain是漏极开路输出的意思,相当于集电极开路(open-collector)输出,即ttl中的集电极开路(oc)输出。
一般用于线或、线与,也有的用于电流驱动。
open-drain是对mos管而言,open-collector是对双极型管而言,在用法上没啥区别。
开漏形式的电路有以下几个特点:1.利用外部电路的驱动能力,减少ic内部的驱动。
或驱动比芯片电源电压高的负载.2. 可以将多个开漏输出的pin,连接到一条线上。
通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。
这也是i2c,smbus等总线判断总线占用状态的原理。
如果作为图腾输出必须接上拉电阻。
接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。
如果要求速度高电阻选择要小,功耗会大。
所以负载电阻的选择要兼顾功耗和速度。
3.可以利用改变上拉电源的电压,改变传输电平。
例如加上上拉电阻就可以提供ttl/cmos电平输出等。
4.开漏pin不连接外部的上拉电阻,则只能输出低电平。
一般来说,开漏是用来连接不同电平的器件,匹配电平用的。
5.正常的cmos输出级是上、下两个管子,把上面的管子去掉就是open-drain了。
这种输出的主要目的有两个:电平转换和线与。
6.由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。
漏极开路输出和推挽输出

漏极开路输出和推挽输出一、漏极开路(OD)输出:漏极开路(OD)输出,跟集电极开路输出是十分类似的。
将上面的三极管换成场效应管即可。
这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。
对于漏极开路(OD)来说,输出端相当于三极管的集电极。
要得到高电平状态需要上拉电阻才行。
适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。
要实现线与需要用OC(open collector)门电路。
是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务。
电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
在电路设计时我们常常遇到开漏(open drain)和开集(open collector)的概念。
所谓开漏电路概念中提到的漏就是指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等总线判断总线占用状态的原理。
如果作为输出必须接上拉电阻。
接容性负载时,下降延是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。
如果要求速度高电阻选择要小,功耗会大。
所以负载电阻的选择要兼顾功耗和速度。
强推挽输出和开漏输出

推挽输出:可以输出高,低电平,连接数字器件;推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).我们先来说说集电极开路输出的结构。
集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为“0”)。
对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
我们将图1简化成图2的样子。
图2中的开关受软件控制,“1”时断开,“0”时闭合。
很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。
而当开关断开时,则输出端悬空了,即高阻态。
这时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。
再看图三。
图三中那个1K的电阻即是上拉电阻。
如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。
对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。
将上面的三极管换成场效应管即可。
这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。
另一种输出结构是推挽输出。
推挽输出的结构就是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。
比起OC 或者OD来说,这样的推挽结构高、低电平驱动能力都很强。
什么是开漏输出、推挽输出、开集输出、OC、OD、线或线与逻辑

7.线与功能主要用于有多个电路对同一信号进行拉低操作的场合,如果本电路不想拉低,就输出高电平,因为OPEN-DRAIN上面的管子被拿掉,高电平是靠外接的上拉电阻实现的。(而正常的CMOS输出级,如果出现一个输出为高另外一个为低
时,等于电源短路。)
8.OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。
要实现 线与需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOSFET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图1所示:
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小效率
高。
输出既可以向负载灌电流,也可以从负载抽取电流
at91rm9200 GPIO 模拟I2C接口时注意!!
一.什么是OC、OD
集电极开路门(集电极开路 OC 或源极开路OD)
开漏输出与推挽输出的比较

开漏输出与推挽输出的比较开漏输出:OC门的输出就是开漏输出;OD门的输出也是开漏输出。
TTL电路有集电极开路OC门,MOS管也有和集电极对应的漏极开路的OD门,它的输出就叫做开漏输出。
它可以吸收很大的电流,但是不能向外输出电流。
所以,为了能输入和输出电流,它使用的时候要跟电源和上拉电阻一齐用。
OC门开漏输出和OD门开漏输出都是为了同一个目的,都是为了实现逻辑器件的线与逻辑,当然选用不同的外接电阻也可以实现外围驱动能力的增加。
当你应用此电路的时候,要注意应用时要加上拉电阻接电源,这样才能保证逻辑的正确,在电阻上要根据逻辑器件的扇入扇出系数来确定,但一般mos电路带载同样的mos电路能力比较强,所以电阻通常可以选择2.2k,4.9k这样一些常用的。
推挽输出与开漏输出的区别推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止.要实现 线与 需要用OC(open collector)门电路.是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
所谓开漏电路概念中提到的“漏”就是指MOSFET的漏极。
同理,开集电路中的“集”就是指三极管的集电极。
开漏电路就是指以MOSFET的漏极为输出的电路。
一般的用法是会在漏极外部的电路添加上拉电阻。
完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
如图1所示:组成开漏形式的电路有以下几个特点:1. 利用 外部电路的驱动能力,减少IC内部的驱动。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
open-drain 与 push-pull 】
GPIO 的功能,简单说就是可以根据自己的需要去配置为输入或输岀。
但是在配置
对此两种模式,有何区别和联系,下面整理了一些资料,来详细解释一下:
Push-Pull
推挽输出
Open-Drain
开漏输出
有,也许没有另外一个状态:高阻抗( high impedance )状态。
除非 Push-pull 需要支 持额外的高阻抗状态,否则不需要额外的上拉 电阻。
图表?1 Push-Pull 对比 Open-Drain
输岀的器件是指输岀脚内部集成有一对互补的
MOSFET ,当Q1导通、Q2截止时输出高电
平;而当Q1截止导通、Q2导通时输岀低电 平
Push-pull 输出,实际上内部是用了两个晶体
管(transistor ),此处分别称为
transistor 和 bottom transistor
top。
通过开关
对应的晶体管,输岀对应的电平。
transistor 打开(bottom transistor
闭),输出为高电平; bottom transistor top
关
开漏电路就是指以 MOSFET 的漏极为输出的电路。
指内部输出和地之间有个 N 沟道
的MOSFET (Q1 ),这些器件可以用于电平转换的应用。
输出电压由
Vcc'决定。
Vcc'可以大于输入高电平电压 VCC (up — translate )也可以低于输入高电平电压
VCC (down — translate )。
开(top transistor 关闭),输出低电平。
Open-drain 输出,则是比 push-pull 少了个 top transistor ,只有那个 bottom
transistor 。
(就像 push-pull 中的那样) 平。
此处没法输岀高电平,想要输岀高电平, 当 bottom transistor 关闭,则输出为高电
Push-pull 即能够漏电流(sink current ), 又可
以集电流(source current )。
其也许
resistor )。
Open-drain
只能够漏电流( current ),则需要加一个上拉电阻。
pull-up sink current ),如果想要集电流(source
必须外部再接一个上拉电阻(
GPIO 管脚的时候,常会见到两种模式:开漏( open-drain ,漏极开路)和推挽(
push-pull )
常见的GPIO 的模式可以配置为 open-drain 或push-pull ,具体实现上,常为通过配置对应的寄存器的某些位来配置为
open-drain
或是push-pull 。
当我们通过 CPU 去设置那些GPIO 的配置寄存器的某位(bit )的时候,其 GPIO 硬件IC 内部的实现是,会去打开 或关闭对应的top
transistor。
相应地,如果设置为了 open-d 模式的话,是需要上拉电阻才能实现,也能够输出高电平的。
因此,
如果硬件内部(internal )本身包含了对应的上拉电阻的话,此时会去关闭或打开对应的上拉电阻。
如果 GPIO 硬件IC 内部没有对应
的上拉电阻的话,那么你的硬件电路中,必须自己提供对应的外部(
external )的上拉电阻。
而 push-pull 输出的优势是速度快,因
为线路(line )是以两种方式驱动的。
而带了上拉电阻的线路,即使以最快的速度去提升电压,最快也要一个常量的 R XC 的时间。
其
中R 是电阻,C 是寄生电容(parasitic capacitance ),包括了 pin 脚的电容和板子的电容。
但是, push-pull 相对的缺点是往往需 要消耗更多的电流,即功耗相对大。
而 open-drain
所消耗的电流相对较小,由电阻 R 所限制,而R 不能太小,因为当输出为低电平
的时候,需要 sink 更低的 transistor ,这意味着更高的功耗。
(此段原文: because the lower transistor has to sink that current when the output is
low; that means higher power consumption. ) 而 open-drain 的好处之一是,允许你 cshort () 多个
open-drain
的电路,公用一个上拉电阻,此种做法称为
wired-OR 连接,此时可以通过拉低任何一个
10的pin 脚使得输出为低电 平。
为了输岀高电平,则所有的都输岀高电平。
此种逻辑,就是“线与”的功能,可以不需要额外的门( gate )电路来实现此部分逻
辑。
图表?4 open-drain “线与”功能
V [
X 原
Q1
理
图
RESET
二
Q2
F
图表?2 push-pull 原理图
图表?3 open-drain 原理图
(1)
对于各种电压节点间的电平转换非常有用,可以用于各种电压节点的
Up-translate 和
down — translate 转换
(2)可以将多个开漏输岀的 Pin 脚,连接到一条线上,形成 与逻辑”关系,即 线与”
功能,任意一个变低后,开漏线上的逻辑就为
0 了。
这也是I2C ,SMBus 等总线判断
总线占用状态的原理。
(3)利用外部电路的驱动能力,减少 IC 内部的驱动。
当IC 内部MOSFET 导通时,驱动电流是从外部的
VCC 流经R pull-up ,MOSFET 至U
GND o IC 内部仅需很下的栅极驱动电流。
(4)可以利用改变上拉电源的电压,改变 传输电平:
图表?5 open-drain 输出电平的原理
F ;
pull-^up
优
占
八(1)可以吸电流,也可以贯电流;(2)和开 漏输出相比,push -pull 的高低电平由IC 的 电源低定,不能简单的做逻辑操作等。
的逻辑电平由电源 Vcc1决定,而输出高电平则由 Vcc2决定。
这样我们就可以用低电
平逻辑控制输岀高电平逻辑了。
开漏Pin 不连接外部的上拉电阻,则只能输出低电平。
当输出电平为低时, N 沟道三 极管是导通的,这样在 Vcc'和GND 之间有一个持续的电流流过上拉电阻
R 和三极管
缺一条总线上只能有一个 push-pull 输出的器
Q1。
这会影响整个系统的功耗。
采用较大值的上拉电阻可以减小电流。
但是,但是大 点件; 的阻值会使输出信号的上升时间变慢。
即上拉电阻 R pull-up 的阻值 决定了逻辑电平
转换的沿的速度。
阻值越大,速度越低功耗越小。
反之亦然。
在CMOS 电路里面应该叫CMOS 输出更合 适,因为在CMOS 里面的push — pull 输出能 特力不可能做得双极那么大。
输出能力看
IC 内
点 部输出极N 管P 管的面积。
push — pull 是现
在CMOS 电路里面用得最多的输出级设计方 式。
【 open-drain 和 push-pull 的总结】
Required tai put
le^l 日芒口ends on V l .
IC
对于GPIO 的模式的设置,在不考虑是否需要额外的上拉电阻的情况下,是设置为open-drain 还是push-pull ,说到底,还是个权衡的问题:如果你想要电平转换速度快的话,那么就选push-pull ,但是缺点是功耗相对会大些。
如果你想要功耗低,且同时具有“线与”的功能,那么就用open-drain 的模式。
(同时注意GPIO 硬件模块内部是否有上拉电阻,如果没有,需要硬件电路上添加额外的上拉电阻)
正所谓,转换速度与功耗,是鱼与熊掌,二则不可兼得焉。