来源:智慧事
集电极开路输出的结构如图1所示。右边三极管的集电极没有接任何东西,所以叫集电极开路。左边的晶体管用于反相,这样当输入为“0”时,输出也为“0”。对于图1,当左端输入为“0”时,前置晶体管关断,于是5v电源通过1k电阻加到右边晶体管上,右边晶体管导通;当左端输入为“1”时,前晶体管导通,后晶体管截止。
我们将图1简化为图2。显然,当开关闭合时,输出直接接地,因此输出电平为0。当开关关断时,输出暂停,即高阻态。此时,水平状态未知。如果后一个电阻加载到地,输出端的电平会被这个负载拉低,所以这个电路不能输出高电平。
图3中的1k电阻是上拉电阻。如果开关闭合,电流会流过1k电阻和开关。但由于开关闭合时电阻为0(方便我们讨论,实际情况下开关电阻不为0,晶体管存在饱和压降),开关上的电压为0,即输出电平为0。如果开关关断,由于开关电阻无穷大(同上,不考虑实际漏电流),流过的电流为0,所以1k电阻两端的压降也为0,所以输出端的电压为5v,这样就可以输出高电平。
但是这个输出的内阻比较大,也就是1k。如果接一个电阻为r的负载,通过分压计算可以计算出最终输出电压为5*r/(r 1000)伏。因此,如果要达到某个电压,R一定不能太小。如果R真的太小,导致输出电压不足,那么我们只能通过降低1k的上拉电阻来增加驱动能力。
但上拉电阻不能太小,因为开关闭合时会产生电流,开关能流过的电流有限,从而限制了上拉电阻值。另外,要考虑到输出电平较低时,负载可能会提供一部分电流流过开关,所以需要结合这些电流考虑来选择合适的上拉电阻。
如果我们把一个读取数据的输入端连接到输出端,那就是一个IO口,51的IO口就是这样的结构,P0口内部不上拉,其他三个端口内部上拉。当我们要使用输入功能时,只需要将输出端口设置为1,相当于开关被关断,而对于P0端口,则是高阻态。
排水明沟
对于开漏(OD)输出,它非常类似于集电极开路输出。用场效应晶体管代替上面的三极管。这样集电极变成了漏极,OC变成了OD,原理分析也是一样的。OC门主要用在三个方面:实现NAND逻辑,电平移位,驱动器。
开漏形式的电路特性
利用外部电路的驱动能力,减少IC内部驱动,或者驱动比芯片供电电压高的负载。
一条线上可以连接多个开漏输出引脚。通过一个上拉电阻,在不增加任何器件的情况下形成AND逻辑关系。这也是I2C、SMBus等公交车判断公交车占用状况的原则。
因为漏级开路,后级电路必须连接上拉电阻,上拉电阻的电源电压可以决定输出电平。这样就可以进行任何级别的转换。
开源电路提供了灵活的输出方式,但也有其弱点,就是上升沿的延迟。由于上升沿通过外接上拉无源电阻给负载充电,选择电阻时延迟小,但功耗大;反之,延迟大,功耗小。因此,如果对延迟有要求,建议使用下降沿输出。
推挽输出
另一种输出结构是推挽输出。推挽输出的结构是用开关代替上拉电阻。当要输出高电平时,上部开关打开,下部开关关闭。然而,当输出电平较低时,情况正好相反。
与OC或OD相比,这种推挽式结构在高低电平都有很强的驱动能力。如果两个不同电平的输出端口连接在一起,会产生很大的电流,可能会烧坏输出端口。上面说的OC或OD输出不会有这种情况,因为上拉电阻提供的电流比较小。如果推挽输出设置为高阻态,两个开关必须同时关断(或者在输出端口使用传输门),可以作为输入状态。AVR单片机的部分IO口就是这种结构。
两种形式的驱动电路
单片机内部逻辑需要经过内部逻辑运算后输出到外部,外部器件可能需要大电流驱动,所以单片机的输出端口必须有驱动电路。
1、采用N型晶体管。
其中之一是使用N型晶体管—— NPN或N沟道。以NPN晶体管为例,即E接地,B接内部逻辑运算,C引出。内部驱动B来控制三极管是否导通,但如果三极管的C极一直悬空,那么尽管B极上有高度变化,C极上也不会有高度变化。所以在这种情况下,必须外接一个电阻,电阻的一端接C(端),另一端接电源,这样当三极管的B有高电压时,三极管导通,C电压低;当B为低电压时,三极管截止,C极在电阻的拉动下为高电压。
这个驱动电路有一个特点:低压由三极管驱动,高压由电阻驱动。——上下不对称。三极管导通时,ec内阻很小,可以提供很大的电流,可以直接驱动led甚至继电器。但是电阻的驱动是有限的,最大高电平输出电流=(VCC-VH)/R
2、使用两个晶体管。
另一种是互补推挽输出,用两个晶体管,一个在上面,一个在下面,上面的是N型,下面的是P型(以三极管为例)。两管的连接是:NPN(上)的C接VCC,PNP(下)的C接地,两管的ee和bb相连,其中ee是输出(引脚),bb接内部逻辑。这种电路通常用在功率放大电路的末级(音频)。当bb接高电压时,NPN管导通输出高电压。因为三极管的ec电阻很小,所以输出的高压驱动能力很强。bb接低电压时,NPN关断,PNP导通。因为三极管的ec电阻很小,所以输出的低电压驱动能力很强。
举个简单的例子,当9013打开时,ec电阻小于10欧姆。基于Vh=2.5v,VCC=5v,高电平最大输出电流=250MA,短路电流为500ma。这个计算也告诉我们,在使用推挽输出的时候,一定要注意不要有外部电路短路的可能,否则会烧坏芯片,尤其是外部驱动三极管的时候,别忘了在三极管的基极加一个限流电阻。推挽输出电路有多种形式。有些单片机上下使用N型管,但内部逻辑提供互补输出。以上描述只是为了说明推挽的原理,你可以参考功放电路进行更深入的了解。
上拉阻力和弱上拉
上拉电阻很大,提供的驱动电流很小,称为弱上拉,反之亦然。
1、为什么要使用拉电阻?
上拉是指不确定信号通过一个电阻嵌入高电平,电阻也起到了限流的作用,下拉也是如此。上拉是注入器件的电流,下拉是输出电流。弱强度只是上拉电阻的阻值,没有严格的区分。
对于非OC、OD输出电路,提升电流和电压的能力有限,上拉电阻的作用主要是为集电极开路输出电路输出电流通道。
2、 Mai
OC门电路输出“1”时,需要加一个拉电阻,没有拉电阻根本没有高电平。
为了增加输出管脚的驱动能力,一些单片机的管脚上经常使用上拉电阻,但是当使用OC门进行驱动(比如控制一个LED)时,就不需要增加上拉电阻了。
在COMS芯片上,为了防止静电造成的损坏,不使用的引脚不能被悬挂。通常,连接上拉电阻是为了降低输入阻抗并提供放电路径。
提高总线的抗电磁干扰能力。引脚悬空时更容易接受外界电磁干扰。
长线传输中电阻不匹配容易造成反射波干扰,下拉电阻为电阻匹配,有效抑制反射波干扰。
3、上拉电阻阻值的选择原则包括:
在节省功耗和芯片的电流注入能力方面要足够大;高电阻和低电流。
它应该足够小,以保证足够的驱动电流;低电阻和高电流。
对于高速电路,过大的上拉电阻可能会使边沿变平。
综合考虑以上三点,通常选择在1k-10k之间。下拉电阻也是如此。
三态门
在高阻抗状态下,引脚与地之间的电阻为无穷大,因此读取引脚电平时可以读取实际电平值。高阻态的重要作用是输入时I/O(输入/输出)口用来读取外部电平。一般一个门电路和其他电路的连接无非是两种状态,1或者0。在更复杂的系统中,为了在传输线上传输不同分量的信号,开发了相应的逻辑器件,称为三态门。
三态门,除了这两种状态,还有一种高阻态,就是高阻抗(电阻大,相当于开路)。相当于门极和与之相连的电路断开了。三态门是具有扩展逻辑功能和控制开关的输出级。
主要用于总线连接,因为总线一次只允许一个用户。通常,多个器件连接到数据总线,每个器件由OE/CE等信号选通。如果设备没有门控,则处于高阻状态,也就是没有连接到总线上,不会影响其他设备的工作。
准双向端口
准双向端口只能有效读0,而读1是非零的,即读的时候先写1到IO再读。真正的双向端口,顾名思义,就是真正的双向IO,不需要任何前置操作就可以直接读入和读出。
标签:电阻电路电流