type
status
date
slug
summary
tags
category
icon
password
在说明这些基本概念之前,我们简单复习一下 NPN 三极管和 NMOS,主要提一下他们的引脚名字:
OC门
OC 门 :Open Collector ,又称集电极开路,结合上面三极管的引脚很好理解,三极管的 C 集电极开路的电路。
其主要作用是将输入信号通过门电路进行处理,并将结果输出到外部负载上。 OC门的特点是输出端可以接受较高的电压,因此它可以驱动较高电平的负载,如电机、继电器、LED等。OC门的输出端可以被拉低,但无法被拉高,只能在高阻态时不输出电信号。 OC门通常由一个开漏输出的晶体管和一个输入端组成,可以实现与门、或门、非门等逻辑运算。在OC门中,当输入端为低电平时,输出端被拉低; 当输入端为高电平或高阻态时,输出端处于高阻态。 这种输出方式使得多个OC门可以并联连接,通过外部上拉电阻或上拉电源,形成开关电路,控制外部器件的工作。
电路示意图如下:
使用要点
OC门的输出端并不能提供电压源,因此在使用OC门时需要为输出端接电源或外部上拉电阻,以确保输出端正常工作。
OC门输出端的高电平和低电平 均需要通过外部电路来驱动,因此在设计电路时需要注意电路的抗干扰能力和稳定性。
OD 门
OD 门:Open Drain,漏极开路门,和上面其实是一样的,只不过上面是针对三极管而言,OD 们是针对场效应管而言,也很好理解,MOS 管的 D 漏极开路的电路。
OD门(Open Drain Gate)是数字电路中的一种逻辑门,它的输出端可以被拉低,但无法被拉高,只能在高阻态时不输出电信号。 OD门通常由一个开漏输出的晶体管和一个输入端组成,可以实现与门、或门、非门等逻辑运算。
与OC门类似,OD门的输出端也可以被多个门并联连接,形成开关电路,控制外部器件的工作。 不同之处在于,OD门的输出端可以通过上拉电阻或上拉电源拉高,从而实现高低电平转换。 因此,OD门适用于一些需要既可以输出高电平又可以输出低电平的应用场合,如数字信号的放大、隔离、反相、驱动等。
电路示意图如下:
以前讲过,MOS 管在很多场合性能要比晶体管要好,所以很多开漏输出电路都用 MOS 管实现。
在有些时候, 开漏输出可以泛指 OC 门和 OD 门电路。
电路说明
在分析 OC/OD 门的时候,分析原理 是类似的:
input 输入高电平,output 输出低电平; input 输入低电平,output 呈现高阻态,电平不确定。
有一个细节得说明一下:
OC 门 input 为高电平的时候,output 实际输出不是 0V, 因为三极管存在饱和压降,一般小功率三极管大概在 0.2~ 0.3V,所以 output 其实为 0.3V 左右。
OD 门 input 为高电平的时候,output 几乎等于 0V,因为 MOS 管的导通阻抗很低。
因为 OC/OD 门电路不具备输出高电平的能力,所以在一般应用中,是需要外接上拉电阻的;如下图:
上拉电阻的选择:
上拉电阻过大,会影响信号切换的速度,就类似于 IO 口的翻转速度,如下图:
上拉电阻过小,会更加功耗,甚至可能烧坏 OC/OD 门。其实就是影响了回路中的电流大小,上拉电阻过小,回路电流就越大,电流越大,功耗越大,甚至超过 三极管或者 MOS 管的最大电流,烧坏管子。
在实际使用中,个人经验 1K ~ 10K 都是没问题的,我在 I2C 通讯中用用过 10K ,也用过 3.3K 都没什么问题。
应用
(1)电平转换
当N1导通时,输出低电平;当N1截止时,输出高阻态。但是如果在外部接一个上拉电阻接到VCC上,当N1截止时,输出的电压就是VCC(三极管理解为开路)。利用这个特性,我们就可以通过改变上拉电阻接的电压来改变输出的电平,实现电平转换。例如,芯片供电电压为3.3V,VCC电压为10V,我们就可以实现3.3V到10V的电平转换。
说人话:我想用单片机控制一个电机,但电机电压要求5V,我单片机芯片最大供电压才3V3对不对?那这个时候我就可以控制N1(图中是三极管,实际中更多用mos管),我想让电机转的时候,我单片机引脚就输出低电平,这样三极管不导通,OUT的电压就是上拉电阻的电压。反之我不想让电机转了,我就单片机输出高电平,导通三极管,让上拉电阻的电跑去GND,这样out不就输出低电平了嘛。
(2)实现线与
线与:如果有两个门电路,输出端口直接相连,可以实现“与”的逻辑(有一个门电路输出为低电平时,结果就为低电平;两个门电路输出均为高电平时,结果为高电平),那就是线与。
用普通的TTL器件输出引脚直接相连能不能实现线与呢?
下图为普通的推挽式TTL输出端口的结构示意图,那么我们再把两个TTL器件的输出端口连接起来会如何呢?
推挽式TTL输出端口结构示意图
下图为将两个TTL器件输出直接连接起来的示意图,当驱动门1输出为高、驱动门2输出为低时,N1、N4导通,N2、N3截止,电流流向如图中红色线所示,当N1导通时,N1处于深度饱和状态,电流比较大,容易将N1 N4烧坏。同理,当驱动门1输出低,驱动门2输出高时,电流如图中绿色线所示,容易将N2 N3烧坏,所以用两个TTL器件输出直接连接起来难以实现线与的功能。
两个TTL器件输出直接连接起来示意图
如果用OC门呢?我们将两个OC门输出直接连接起来,同时,为了避免出现高阻态,我们在外部接一个上拉电阻,如图6所示。
OC门实现线与结构示意图
我们再来分析这个电路,当N1导通,N2截止时,相当于直接把OUT拉倒地,输出低电平;同理,N1截止,N2导通时也输出低电平;N1 N2均导通时输出低电平,N1 N2均截止时输出高电平。这样,就实现了线与的逻辑。
(3) 增大驱动能力
当开漏门的输出处于低电平状态(逻辑0),输出晶体管处于导通状态,允许电流从输出引脚流过到地(或接地电位)。这样,输出引脚被有效地拉低到接地电位,形成了逻辑0信号。
二、开漏/推挽输出
讲完了 OC/OD 门,那么继续跟着节奏,说明一下使用单片机时候 IO 口设置的开漏输出,推挽输出的概念。
2.1 开漏输出
开漏输出,其实就是上面说的 OD 门,比如使用我们常用的 STM32 举例子,STM32 IO 口结构如下图:
我们这里主要分析输出,对于开漏输出来说,输出部分的 PMOS 不工作,只有 NMOS 工作,就是上面我们介绍和 OD 门一模一样的电路。
所以开漏输出所有的介绍都可以直接参考上面的 OD 门电路。
这里额外提一下,对于单片机使用软件 I2C(要求线与) 进行设备通讯, IO 口模式就需要设置为开漏输出,通过外接上拉电阻进行通信。
2.2 推挽输出
推挽输出 :Push–pull output
百度百科说: 推挽输出是一种使用一对选择性地从相连负载灌电流或者拉电流的器件的电路。推挽电路使用两个参数相同的三极管或 MOSFET,以推挽方式存在于电路中。电路工作时,两只对称的开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。
这里我们简单分析一下,首先看一下标准的推挽输出电路:
推挽输出两个管子始终处在一个导通另一个截止的状态。
原理分析:
当 input 输出高电平时,上面的 NPN 导通,下面的 PNP 截止, output 输出高电平; 当 input 输出低电平时,上面的 NPN 截止,下面的 PNP 导通, output 输出低电平;
这里说明一下,只从上面原理电路来分析, MOS 管和三极管的高低电平是相反的:
当 input 输出高电平时,上面的 PMOS 截止,下面的 NMOS 导通, output 输出低电平; 当 input 输出低电平时,上面的 PMOS 导通,下面的 NMOS 截止, output 输出高电平;
在我们的 STM32 中,使用的是两个 MOS 的推挽方式作为 IO 口的输出控制电路。
推挽输出结构的低电平输出能力与 OC/OD 门是一样的,但是高电平输出能力比 OC 门或 OD 门强很多。
推挽输出直接上拉到了电源,可以输出很高的电流。
比如可以直接作为 三极管 的控制 IO,如下图:
要注意,推挽输出的两个管脚,output 不能和 OC/OC 门的 output 一样连接在一起,如果 2 个推挽输出的 IO 一个设置为高电平,一个设置为低电平,这样就等于 VCC 和 GND 短路,会烧坏 IO 口。
2.3 图腾柱
提到开推挽输出,就得顺带提一下图腾柱电路,图腾柱其实就是上面推挽输出的两个三极管电路。
而且图腾柱电路这里必须是三极管,不是 2 个 MOS 管。
电路的原理我们在上面推挽输出的部分已经分析过了,现在来说算是很简单了,那么一般什么情况下会使用图腾柱电路呢?
那就得说一下图腾柱电路的主要作用,就是提升电流驱动能力,迅速完成对于门极电荷的充电或者放电的过程。
前面提升电流驱动能力好理解,但是后面一句话怎么理解? 我们往下接着看一个驱动电路:
这里有个疑问,我们讲过 MOS 管是电压驱动器件,因为 MOS 管的栅极输入电阻极大,基本可以认为开路,给他施加电压应该基本没有电流才对,为什么还需要图腾柱驱动?
而且在某些情况下为什么要用图腾柱,一个三极管可以吗?如下图:
首先说一下,上图这种一个三极管的情况,很多情况下也是可以的,要看具体的应用,但是图腾柱驱动的开通和关断加速效果比单个三极管要好。
那我们这里主要说明一下,为什么 MOS 管需要图腾柱驱动:
还是因为寄生电容,在我的 全面认识 MOS 管文章中着重提到过寄生电容:
如果栅极信号是脉冲,脉冲信号跳变的时候栅极的寄生电容就会充电或者放电,从而产生电流。当脉冲频率非常高时,电容所造成的影响会非常突出,开关电源中为了确保 MOS 几乎不在线性区域内停留,需要尽最大的可能去加快栅极的跳变沿,这就使得驱动电路必须以非常大的电流去给栅极电容充电和放电,才能确保栅极电压以极快的速度跳变,由此所产生的栅极电流峰值甚至可以超过 10A,这种情况下当然首选驱动能力强的电路来提供栅极信号。
- Author:黄光灿
- URL:guangcan.icu/article/10a698a0-fad5-8017-bf0c-ea0b8646113f
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!