在电路设计时我们常常遇到开漏(open
drain)和开集(open collector)的概念。
所谓开漏电路概念中提到的“漏”就是指MOS
FET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOS
FET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。如图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不连接外部的上拉电阻,则只能输出低电平。
5.
标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。
应用中需注意:
1. 开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本。如图3。
2. 上拉电阻R
pull-up的阻值决定了逻辑电平转换的沿的速度。阻值越大,速度越低功耗越小。反之亦然。
Push-Pull输出就是一般所说的推挽输
出,在CMOS电路里面应该较CMOS输出更合适,应为在CMOS里面的push-pull输出能力不可能做得双极那么大。输出能力看IC内部输出极N管
P管的面积。和开漏输出相比,push-pull的高低电平由IC的电源低定,不能简单的做逻辑操作等。push-pull是现在CMOS电路里面用得最
多的输出级设计方式。
push-pull and
open-drain
推挽与开漏
漏极直接输出,不接上拉电阻。如果对于场效应管印象不深,理解为普通三级管好理解:就是集电极开路。
参考资料:A:先来说说集电极开路输出的结
构。集电极开路输出的结构如图1所示,右边的那个三极管集电极什么都不接,所以叫做集电极开路(左边的三极管为反相之用,使输入为“0”时,输出也为
“0”)。对于图1,当左端的输入为“0”时,前面的三极管截止(即集电极C跟发射极E之间相当于断开),所以5V电源通过1K电阻加到右边的三极管上,
右边的三极管导通(即相当于一个开关闭合);当左端的输入为“1”时,前面的三极管导通,而后面的三极管截止(相当于开关断开)。
我们将图1简化成图2的样子。图2中的开关受
软件控制,“1”时断开,“0”时闭合。很明显可以看出,当开关闭合时,输出直接接地,所以输出电平为0。而当开关断开时,则输出端悬空了,即高阻态。这
时电平状态未知,如果后面一个电阻负载(即使很轻的负载)到地,那么输出端的电平就被这个负载拉到低电平了,所以这个电路是不能输出高电平的。
再看图三。图三中那个1K的电阻即是上拉电
阻。如果开关闭合,则有电流从1K电阻及开关上流过,但由于开关闭和时电阻为0(方便我们的讨论,实际情况中开关电阻不为0,另外对于三极管还存在饱和压
降),所以在开关上的电压为0,即输出电平为0。如果开关断开,则由于开关电阻为无穷大(同上,不考虑实际中的漏电流),所以流过的电流为0,因此在1K
电阻上的压降也为0,所以输出端的电压就是5V了,这样就能输出高电平了。但是这个输出的内阻是比较大的(即1KΩ),如果接一个电阻为R的负载,通过分
压计算,就可以算得最后的输出电压为5*R/(R+1000)伏,即5/(1+1000/R)伏。所以,如果要达到一定的电压的话,R就不能太小。如果R
真的太小,而导致输出电压不够的话,那我们只有通过减小那个1K的上拉电阻来增加驱动能力。但是,上拉电阻又不能取得太小,因为当开关闭合时,将产生电
流,由于开关能流过的电流是有限的,因此限制了上拉电阻的取值,另外还需要考虑到,当输出低电平时,负载可能还会给提供一部分电流从开关流过,因此要综合
这些电流考虑来选择合适的上拉电阻。
如果我们将一个读数据用的输入端接在输出端,这样就是一个IO口了(51的IO口就是这样的结构,其中P0口内部不带上拉,而其它三个口带内部上拉),当我们要使用输入功能时,只要将输出口设置为1即可,这样就相当于那个开关断开,而对于P0口来说,就是高阻态了。
对于漏极开路(OD)输出,跟集电极开路输出是十分类似的。将上面的三极管换成场效应管即可。这样集电极就变成了漏极,OC就变成了OD,原理分析是一样的。
另一种输出结构是推挽输出。推挽输出的结构就
是把上面的上拉电阻也换成一个开关,当要输出高电平时,上面的开关通,下面的开关断;而要输出低电平时,则刚好相反。比起OC或者OD来说,这样的推挽结
构高、低电平驱动能力都很强。如果两个输出不同电平的输出口接在一起的话,就会产生很大的电流,有可能将输出口烧坏。而上面说的OC或OD输出则不会有这
样的情况,因为上拉电阻提供的电流比较小。如果是推挽输出的要设置为高阻态时,则两个开关必须同时断开(或者在输出口上使用一个传输门),这样可作为输入
状态,AVR单片机的一些IO口就是这种结构。
在电路设计时我们常常遇到开漏(open drain)和开集(open
collector)的概念。
所谓开漏电路概念中提到的“漏”就是指MOS
FET的漏极。同理,开集电路中的“集”就是指三极管的集电极。开漏电路就是指以MOS
FET的漏极为输出的电路。一般的用法是会在漏极外部的电路添加上拉电阻。完整的开漏电路应该由开漏器件和开漏上拉电阻组成。
组成开漏形式的电路有以下几个特点:
1.
利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up
,MOSFET到GND。IC内部仅需很下的栅极驱动电流。
2.
可以将多个开漏输出的Pin,连接到一条线上。形成“与逻辑”关系。当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。
3.
可以利用改变上拉电源的电压,改变传输电平。IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。
4.
开漏Pin不连接外部的上拉电阻,则只能输出低电平。
5.
标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。
应用中需注意:
1.
开漏和开集的原理类似,在许多应用中我们利用开集电路代替开漏电路。例如,某输入Pin要求由开漏电路驱动。则我们常见的驱动方式是利用一个三极管组成开集电路来驱动它,即方便又节省成本。
2. 上拉电阻R
pull-up的阻值决定了逻辑电平转换的沿的速度。阻值越大,速度越低功耗越小。反之亦然。
组成开漏形式的电路有以下几个特点:
1.
利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up
,MOSFET到GND。IC内部仅需很下的栅极驱动电流。
2.
可以将多个开漏输出的Pin,连接到一条线上。形成“与逻辑”关系。当PIN_A、PIN_B、PIN_C任意一个变低后,开漏线上的逻辑就为0了。这也是I2C,SMBus等总线判断总线占用状态的原理。
3.
可以利用改变上拉电源的电压,改变传输电平。IC的逻辑电平由电源Vcc1决定,而输出高电平则由Vcc2决定。这样我们就可以用低电平逻辑控制输出高电平逻辑了。
4.
开漏Pin不连接外部的上拉电阻,则只能输出低电平。
5.
标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。
当外部无上拉电阻时,该口不能输出高电平,应该可以输出低电平。如果接上拉电阻,则可以实现高低电平输出
。
漏极开路输出,用法同等OC射极输出。如果作为图腾输出必须接上拉电阻。接容性负载时下降延是芯片内的晶体管是有源驱动速度较快,上升延是无源的外接电阻速度慢,如果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。
芯片的 Open drain
输出是设计用于 "线或" (wire OR) 逻辑的. 也可以用于如继电器之类只吸入电流的负载, 或驱动比你的芯片电源电压高的负载,
但要注意阅读手册上给出的耐压和最大驱动电流, 当然耐压一般比电源电压高.
实例比如5V的逻辑电平转到12V的逻辑电平,就可以用OD电路。
很多IC
的“data sheet”上面对于一些IO口的定义有“open
drain”一说,哪位老兄帮忙解释一下下这个东东是什么意思?漏极开路,如果作为IO,需要上拉电阻。如果需要边沿时序,上拉电阻的值需要注意。另外电
源选取和目的IO相同可以将其理解为一个一端接地的开关,有很好的灌电流特性,适合驱动大电流器件,例如键盘背光、震动马达等,不适合用作GPIO(即使
加了上拉电阻)。对比三极管电路,相当于输出口接在集电极,如基极为高,可对外输出低电平信号;但无法输出高电平,需要上拉电阻。目的是为了方便使用者上
拉到自己想要的电压以保证满足两边的电平要求典型如I2C总线。最大的作用就是可以用作“线与”和电平转化。OC可以实现“线与(wire-and)”而
不会对电路有损害。就是漏级开路输出,可以达到三态输出的目的
推挽输出与开漏输出的区别
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.由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。这样你就可以进行任意电平的转换了。
7.线与功能主要用于有多个电路对同一信号进行拉低操作的场合,如果本电路不想拉低,就输出高电平,因为OPEN-DRAIN上面的管子被拿掉,高电平是靠外接的上拉电阻实现的。(而正常的CMOS输出级,如果出现一个输出为高另外一个为低时,等于电源短路。)
8.OPEN-DRAIN提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。
二.什么是线或逻辑与线与逻辑?
在一个结点(线)上,
连接一个上拉电阻到电源 VCC 或 VDD 和 n 个 NPN 或 NMOS 晶体管的集电极 C 或漏极 D, 这些晶体管的发射极 E
或源极 S 都接到地线上, 只要有一个晶体管饱和, 这个结点(线)就被拉到地线电平上.
因为这些晶体管的基极注入电流(NPN)或栅极加上高电平(NMOS), 晶体管就会饱和,
所以这些基极或栅极对这个结点(线)的关系是或非 NOR 逻辑. 如果这个结点后面加一个反相器, 就是或 OR
逻辑.
注:个人理解:线与,接上拉电阻至电源。(~A)&(~B)=~(A+B),由公式较容易理解线与此概念的由来
;
如果用下拉电阻和 PNP 或
PMOS 管就可以构成与非 NAND 逻辑, 或用负逻辑关系转换与/或逻辑.
注:线或,接下拉电阻至地。(~A)+(~B)=~(AB);
这些晶体管常常是一些逻辑电路的集电极开路 OC 或源极开路 OD 输出端. 这种逻辑通常称为线与/线或逻辑,
当你看到一些芯片的 OC 或 OD 输出端连在一起, 而有一个上拉电阻时, 这就是线或/线与了,
但有时上拉电阻做在芯片的输入端内.
顺便提示如果不是 OC 或 OD
芯片的输出端是不可以连在一起的, 总线 BUS 上的双向输出端连在一起是有管理的, 同时只能有一个作输出,
而其他是高阻态只能输入.
三.什么是推挽结构
一般是指两个三极管分别受两互补信号的控制, 总是在一个三极管导通的时候另一个截止,要实现线与需要用OC(open
collector)门电路。如果输出级的有两个三极管,始终处于一个导通、一个截止的状态,也就是两个三级管推挽相连,这样的电路结构称为推拉式电路或
图腾柱(Totem-
pole)输出电路(可惜,图无法贴上)。当输出低电平时,也就是下级负载门输入低电平时,输出端的电流将是下级门灌入T4;当输出高电平时,也就是下级
负载门输入高电平时,输出端的电流将是下级门从本级电源经 T3、D1 拉出。这样一来,输出高低电平时,T3 一路和 T4
一路将交替工作,从而减低了功耗,提高了每个管的承受能力。又由于不论走哪一路,管子导通电阻都很小,使RC常数很小,转变速度很快。因此,推拉式输出级
既提高电路的负载能力,又提高开关速度。供你参考。
推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小
效率高。输出既可以向负载灌电流,也可以从负载抽取电流。
其他资料:
推挽电路是两不同极性晶体管输出电路无输出变 压器(有OTL、OCL等)。是两个参数相同的功率 BJT 管或
MOSFET
管,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小
效率高。推挽输出既可以向负载灌电流,也可以从负载抽取电流。
如果输出级的有两个三极管,始终处于一个导
通、一个截止的状态,也就是两个三级管推挽相连,这样的电路结构称为推拉式电路或图腾柱(Totem-pole)输出电路。当输出低电平时,也就是下级负
载门输入低电平时,输出端的电流将是下级门灌入T4;当输出高电平时,也就是下级负载门输入高电平时,输出端的电流将是下级门从本级电源经
T3、D1 拉出。这样一来,输出高低电平时,T3 一路和 T4
一路将交替工作,从而减低了功耗,提高了每个管的承受能力。又由于不论走哪一路,管子导通电阻都很小,使 RC
常数很小,转变速度很快。因此,推拉式输出级既提高电路的负载能力,又提高开关速度。
推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。要实现线与需要用
OC门电路。
推挽电路适用于低电压大电流的场合,广泛应用于功放电路和开关电源中。
它的优点是:
结构简单,开关变压器磁芯利用率高,推挽电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小。
缺点是:变压器带有中心抽头,而且开关管的承受电压较高;由于变压器原边漏感的存在,功率开关管关断的瞬间,漏源极会产生较大的电压尖峰,另外输入电流的纹波较大,因而输入滤波器的体积较大。
open-drain,就是NMOS输出的意 思,它无高电平驱动能力,只能用着低电平驱动Open
Drain,漏极開路設計﹐特點是只能輸出低電平﹐高電平需要借助外部上拉﹔可以應用在不同電平之間的接口上﹐比如用5V的IC去驅動12V的
IC,Open Drain 就很好實現﹔許多ASIC都用Open Drain做接口電路. Open
Drain電路必須要外部上拉﹐不然不能正常工作﹔