c
单片机I/O 口推挽输出与开漏输出的区别(转) 推挽输出:可以输出高,低电平,连接数字器件; 开漏输出:输出端相当于三极管的集电极.要得到高电平 状态需要上拉电阻才行.适合于做电流型的驱动,其吸收 电流的能力相对强(一般20ma以内). 推挽结构一般是指两个三极管分别受两互补信号的控制 总是在一个三极管导通的时候另一个截止 .
我们先来说说集电极开路输出的结构。集电极开路输 出的结构如图1所示,右边的那个三极管集电极什么都 不接,所以叫做集电极开路(左边的三极管为反相之用, 使输入为“ 0时,输出也为“ 0”。对于图1,当左端的输 入为“0时,前面的三极管截止(即集电极
C跟发射极E
,
之间相当于断开),所以 5V电源通过1K电阻加到右边 的三极管上,右边的三极管导通(即相当于一个开关闭 合);当左端的输入为 “ 1时,前面的三极管导通,而后 面的三极管截止(相当于开关断开)。
电三菽嶺开麵辅也 电压? ?
H .fnuEt-
我们将图1简化成图2的样子。图2中的开关受软件 控制,“ 1时断开,“ 0”闭合。很明显可以看出,当开关 闭合时,输出直接接地,所以输出电平为0。而当开关断 开时,则输出端悬空了,即高阻态。这时电平状态未知, 如果后面一个电阻负载(即使很轻的负载)到地,那么 输出端的电平就被这个负载拉到低电平了,所以这个电 路是不能输出高电平的。
再看图三。图三中那个 1K的电阻即是上拉电阻。女口 果开关闭合,则有电流从1K电阻及开关上流过,但由于 开关闭其它三个口带内部上拉),当我们要使用输入功 能时,只要将输出口设置为 1即可,这样就相当于那个 开关断开,而对于 P0 口来说,就是高阻态了。
对于漏极开路(0D)输出,跟集电极开路输出是十分 类似的。将上面的三极管换成场效应管即可。这样集电 极就变成了漏极,0C就变成了 0D,原理分析是一样的。
欢迎下载 2
另一种输出结构是推挽输出。推挽输出的结构就是把 上面的上拉电阻也换成一个开关,当要输出高电平时, 上面的开关通,下面的开关断;而要输出低电平时,则 刚好相反。比起0C或者0D来说,这样的推挽结构高、 低电平驱动能力都很强。如果两个输出不同电平的输出 口接在一起的话,就会产生很大的电流,有可能将输出 口烧坏。而上面说的 0C或0D输出则不会有这样的情 况,因为上拉电阻提供的电流比较小。如果是推挽输出 的要设置为高阻态时,则两个开关必须同时断开(或者 在输出口上使用一个传输门),这样可作为输入状态, VR单片机的一些10 口就是这种结构。
A
开漏电路特点及应用
在电路设计时我们常常遇到开漏(open drain )和开 集(open collector )的概念。
所谓开漏电路概念中提到的 漏”就是指MOSFET的 漏极。同理,开集电路中的 集”就是指三极管的集电极。
欢迎下载 3
开漏电路就是指以 MOSFET的漏极为输出的电路。一般 的用法是会在漏极外部的电路添加上拉电阻。完整的开 漏电路应该由开漏器件和开漏上拉电阻组成。如图 1所
示:
R pull-up
组成开漏形式的电路有以下几个特点:
1. 利用外部电路的驱动能力,减少 IC内部的驱动 (或驱动比芯片电源电压高的负载)。当
IC内部MOSF
ET导通时,驱动电流是从外部的 VCC流经R pull-up , MOSFET到GND。IC内部仅需很下的栅极驱动电流。 如图1。
欢迎下载 4
2. 可以将多个开漏输
出的 Pin,连接到一条线上。形 成 与逻辑”关系。如图1,当PIN_A、PIN_B、PIN_C 任意一个变低后,开漏线上的逻辑就为 0 了。这也是I2
C,SMBus等总线判断总线占用状态的原理。如果作为 输出必须接上拉电阻。接容性负载时,下降延是芯片内 的晶体管,是有源驱动,速度较快;上升延是无源的外 接电阻,速度慢。如果要求速度高电阻选择要小,功耗 会大。所以负载电阻的选择要兼顾功耗和速度。
3. 可以利用改变上拉电源的电压,改变传输电平。 如图
2, IC的逻辑电平由电源Vcc1决定,而输出高电平 则由Vcc2 (上拉电阻的电源电压)决定。这样我们就可 以用低电平逻辑控制输出高电平逻辑了(这样你就可以 进行任意电平的转换)。(例如加上上拉电阻就可以提 供TTL/CMOS电平输出等。)
depecidc on VL
4. 开漏Pin不连接外部的上拉电阻,则只能输出低电 平
欢迎下载 5