集电极开路输出和漏极开路输出
一、集电极开路输出
1、集电极开路输出原理
在电路中常会遇到漏极开路(Open Drain)和集电极开路(Open Collector)两种情形。漏极开路电路概念中提到的“漏”是指 MOSFET的漏极。同理,集电极开路电路中的“集”就是指三极管的集电极。在数字电路中,分别简称OD门和OC门。
集电极开路电路是灌电流输出器件。在关断状态时,集电极开路输出连到地;在导通状态时,集电极开路输出悬空。因此,集电极开路输出需要一个源电流输入接口。下面表格中给出了一个简单的集电极开路输出电路的原理图。
典型的集电极开路电路如下图所示。电路中右侧的三极管集电极什么都不接,所以叫做集电极开路,左侧的三极管用于反相作用,即左侧输入“0”时左侧三极管截止,VCC通过电阻加到右侧三极管基极,右侧三极管导通,右侧输出端连接到地,输出“0”。
从图中电路可以看出集电极开路是无法输出高电平的,如果要想输出高电平可以在输出端加上上拉电阻。因此集电极开路输出可以用做电平转换,通过上拉电阻上拉至不同的电压,来实现不同的电平转换。
用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。
将OC门输出连在一起时,再通过一个电阻接外电源,可以实现“线与”逻辑关系。只要电阻的阻值和外电源电压的数值选择得当,就能做到既保证输出的高、低电平符合要求,而且输出三极管的负载电流又不至于过大。
集电极开路输出除了可以实现多门的线与逻辑关系外,通过使用大功率的三极管还可用于直接驱动较大电流的负载,如继电器、脉冲变压器、指示灯等。
2、集电极开路输出的应用
应用一:
实现与或非逻辑,用做电平转换,用做驱动器。由于OC门电路的输出管的集电极悬空,使用时需外接一个上拉电阻Rp到电源VCC。OC门使用上拉电阻以输出高电平,此外为了加大输出引脚的驱动能力,上拉电阻阻值的选择原则,从降低功耗及芯片的灌电流能力考虑应当足够大;从确保足够的驱动电流考虑应当足够小。
应用二:
线与逻辑,即两个输出端(包括两个以上)直接互连就可以实现“AND”的逻辑功能。在总线传输等实际应用中需要多个门的输出端并联连接使用,而一般TTL门输出端并不能直接并接使用,否则这些门的输出管之间由于低阻抗形成很大的短路电流(灌电流),而烧坏器件。在硬件上,可用OC门或三态门(ST门)来实现。 用OC门实现线与,应同时在输出端口应加一个上拉电阻。
应用三:
三态门(TS门)主要用在应用于多个门输出共享数据总线,为避免多个门输出同时占用数据总线,这些门的使能信号(EN)中只允许有一个为有效电平(如高电平),由于三态门的输出是推拉式的低阻输出,且不需接上拉(负载)电阻,所以开关速度比OC门快,常用三态门作为输出缓冲器。
二、漏极开路输出
1、漏极开路输出原理
和集电极开路一样,顾名思义,开漏电路就是指从MOSFET的漏极输出的电路。典型的用法是在漏极外部的电路添加上拉电阻到电源如图所示。完整的开漏电路应由开漏器件和开漏上拉电阻组成。这里的上拉电阻R的阻值决定了逻辑电平转换的上升/下降沿的速度。阻值越大,速度越低,功耗越小。因此在选择上拉电阻时要兼顾功耗和速度。标准的开漏脚一般只有输出的能力。添加其它的判断电路,才能具备双向输入、输出的能力。
很多单片机等器件的I/O就是漏极开路形式,或者可以配置成漏极开路输出形式,如51单片机的P0口就为漏极开路输出。在实际应用中可以将多个开漏输出的引脚连接到一条线上,这样就形成“线与逻辑”关系。注意这个公共点必须接一个上拉电阻。当这些引脚的任一路变为逻辑0后,开漏线上的逻辑就为0了。在I2C等接口总线中就用此法判断总线占用状态。
同集电极开路一样,利用外部电路的驱动能力,减少IC内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经上拉电阻,再经MOSFET到GND。IC内部仅需很下的栅极驱动电流,因此漏极开路也常用于驱动电路中。
2、特点
1)利用外部电路的驱动能力,减少ic内部的驱动。 或驱动比芯片电源电压高的负载。
2)可以将多个开漏输出的pin,连接到一条线上。通过一只上拉电阻,在不增加任何器件的情况下,形成“与逻辑”关系。这也是i2c,smbus等总线判断总线占用状态的原理。如果作为图腾输出必须接上拉电阻。接容性负载时,下降沿是芯片内的晶体管,是有源驱动,速度较快;上升延是无源的外接电阻,速度慢。如果要求速度高电阻选择要小,功耗会大。所以负载电阻的选择要兼顾功耗和速度。
3)可以利用改变上拉电源的电压,改变传输电平。例如加上上拉电阻就可以提供ttl/cmos电平输出等。
4)开漏pin不连接外部的上拉电阻,则只能输出低电平。一般来说,开漏是用来连接不同电平的器件,匹配电平用的。
5)正常的cmos输出级是上、下两个管子,把上面的管子去掉就是open-drain了。这种输出的主要目的有两个:电平转换和线与。
6)由于漏级开路,所以后级电路必须接一上拉电阻,上拉电阻的电源电压就可以决定输出电平。这样你就可以进行任意电平的转换了。
7)线与功能主要用于有多个电路对同一信号进行拉低操作的场合,如果本电路不想拉低,就输出高电平,因为open-drain上面的管子被拿掉,高电平是靠外接的上拉电阻实现的。(而正常的cmos输出级,如果出现一个输出为高另外一个为低时,等于电源短路。)
8)open-drain提供了灵活的输出方式,但是也有其弱点,就是带来上升沿的延时。因为上升沿是通过外接上拉无源电阻对负载充电,所以当电阻选择小时延时就小,但功耗大;反之延时大功耗小。所以如果对延时有要求,则建议用下降沿输出。
3、什么是线或逻辑与线与逻辑?
在一个结点(线)上, 连接一个上拉电阻到电源 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 上的双向输出端连在一起是有管理的, 同时只能有一个作输出, 而其他是高阻态只能输入。