一般上拉电阻有什么作用

来源:互联网 发布:115 mac 离线 编辑:程序博客网 时间:2024/06/09 18:19

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口就是这种结构。
-------------------------
上拉电阻实际上是集电极输出的负载电阻。不管是在开关应用模拟放大,此电阻的选则都不是拍脑袋的。工作在线性范围就不多说了,在这里是讨论的是晶体管是开关应用,所以只谈开关方式。找个TTL器件的资料单独看末级就可以了,内部都有负载电阻根据不同驱动能力和速度要求这个电阻值不同,低功耗的电阻值大,速度快的电阻值小。但芯片制造商很难满足应用的需要不可能同种功能芯片做许多种,因此干脆不做这个负载电阻,改由使用者自己自由选择外接,所以就出现OC、OD输出的芯片。由于数字应用时晶体管工作在饱和和截止区,对负载电阻要求不高,电阻值小到只要不小到损坏末级晶体管就可以,大到输出上升时间满足设计要求就可,随便选一个都可以正常工作。但是一个电路设计是否优秀这些细节也是要考虑的。集电极输出的开关电路不管是开还是关对地始终是通的,晶体管导通时电流从负载电阻经导通的晶体管到地,截止时电流从负载电阻经负载的输入电阻到地,如果负载电阻选择小点功耗就会大,这在电池供电和要求功耗小的系统设计中是要尽量避免的,如果电阻选择大又会带来信号上升沿的延时,因为负载的输入电容在上升沿是通过无源的上拉电阻充电,电阻越大上升时间越长,下降沿是通过有源晶体管放电,时间取决于器件本身。因此设计者在选择上拉电阻值时,要根据系统实际情况在功耗和速度上兼顾。
----------------------
从IC(MOS工艺)的角度,分别就输入/输出引脚做一解释:
1. 对芯片输入管脚, 若在系统板上悬空(未与任何输出脚或驱动相接)是比较危险的.因为此时很有可能输入管脚内部电容电荷累积使之达到中间电平(比如1.5V), 而使得输入缓冲器的PMOS管和NMOS管同时导通, 这样一来就在电源和地之间形成直接通路, 产生较大的漏电流, 时间一长就可能损坏芯片. 并且因为处于中间电平会导致内部电路对其逻辑(0或1)判断混乱. 接上上拉或下拉电阻后, 内部点容相应被充(放)电至高(低)电平, 内部缓冲器也只有NMOS(PMOS)管导通, 不会形成电源到地的直流通路. (至于防止静电造成损坏, 因芯片管脚设计中一般会加保护电路, 反而无此必要).
2. 对于输出管脚:
1)正常的输出管脚(push-pull型), 一般没有必要接上拉或下拉电阻.
2)OD或OC(漏极开路或集电极开路)型管脚,
这种类型的管脚需要外接上拉电阻实现线与功能(此时多个输出可直接相连. 典型应用是: 系统板上多个芯片的INT(中断信号)输出直接相连, 再接上一上拉电阻, 然后输入MCU的INT引脚, 实现中断报警功能).
其工作原理是:
在正常工作情况下, OD型管脚内部的NMOS管关闭, 对外部而言其处于高阻状态, 外接上拉电阻使输出位于高电平(无效中断状态); 当有中断需求时, OD型管脚内部的NMOS管接通, 因其导通电阻远远小于上拉电阻, 使输出位于低电平(有效中断状态). 针对MOS 电路上下拉电阻阻值以几十至几百K为宜.
(注: 此回答未涉及TTL工艺的芯片, 也未曾考虑高频PCB设计时需考虑的阻抗匹配, 电磁干扰等效应.)

原创粉丝点击