上拉电阻”,工作原理分析
电阻在电路中起限制电流的作用。上拉电阻和下拉电阻是经常提到也是经常用到的电阻。在每个系统的设计中都用到了大量的上拉电阻和下拉电阻。
在上拉电阻和下拉电阻的电路中,经常有的疑问是:上拉电阻为何能上拉?下拉电阻为何能下拉?下拉电阻旁边为何经常会串一个电阻?
简单概括为:电源到器件引脚上的电阻叫上拉电阻,作用是平时使该引脚为高电平,地到器件引脚上的电阻叫下拉电阻,作用是平时使该引脚为低电平。低电平在IC内部与GND相连接;高电平在IC内部与超大电阻相连接。
上拉就是将不确定的信号通过一个电阻钳位在高电平,电阻同时起限流作用,下拉同理。对于非集电极(或漏极)开路输出型电路(如普通门电路,其提升电流和电压的能力是有限的,上拉和下拉电阻的主要功能是为集电极开路输出型电路提供输出电流通道。上拉是对器件注入电流,下拉是输出电流;强弱只是上拉或下拉电阻的阻值不同,没有什么严格区分。
当IC的I/O端口,节点为高电平时,节点处和GND之间的阻抗很大,可以理解为无穷大,这个时候通过上拉电阻(如4.7K欧,10K欧电阻)接到VCC上,上拉电阻的分压几乎可以忽略不计;当I/O端口节点需要为低电平时,直接接GND就可以了,这个时候VCC与GND是通过刚才的上拉电阻(如4.7K欧,10K欧电阻)连接的,通过的电流很小,可以忽略不计。
电平值的大小、高低是相对于地电平来说的,因此在看电平值的大小时要参考地的电平值来看。看看那些引脚是否接到地上,与自己是否连接外围器件没有关系,因为其实高电平还是低电平是相对于地平面来说的。
在节点与+5V之间接10K欧或4.7K欧的上拉电阻,能够把这个节点的电位拉上来,往往这个节点要求应用单片机或其它控制器来控制它(及这个节点与I/O连接)为高电平或低电平。如果单纯的想要使这个节点成为高电平,并且输出阻抗非常大,则直接接电源也无妨,但是如果单片机要使这个节点拉低,即单片机内部使节点接地,这样5V电源和地之间就短路了。
另外,当要求这个节点为高电平时,这个节点和地之间的阻抗一般非常大,如100K欧的阻抗,当上拉一个10K欧的电阻,这个点分得的电压为100K欧/(100K+10K)*5V=4.5V,这样也可以拉到高电平。
而当要求这个节点为低电平时,只要把它和地连接就可以了,电源和地之间有一个10K偶的电阻,这样就不会短路了。当低电平时,电源和地之间有一个负载形成的回路,有时候这个节点会再串接一个电阻,因为电流流向阻抗低的地方,所以电流会通过与电源相连的电阻流向地,而不是流向这个与节点相连的电阻,因为这个节点连接的电阻阻抗高,所以低电平时这个点的电势就是低电平。
可以这么认为,对于IC的I/O端口来说,IC内部通过控制高低电平相当于控制这个O/O口与其内部的GND或非常大的电阻相连,如100K欧,当I/O口为低电平0V时,在IC内部,是控制IC芯片O/O口的引脚在芯片内与GND连接;
当I/O口为高电平时,如5V,这个时候I/O口引脚在芯片内是与非常大的电阻,如100K欧相连接的,有时在I/O节点处会再串接一个小电阻值的电阻,如68欧,因为电流流向阻抗低的地方,所以当芯片内部的I/O端口欧与GND相连为低电平时,电源与上拉电阻及芯片内部的GND形成环路进行流通。
这时I/O口节点处的电流就会流向芯片内部的GND,因为节点处串接了一个小阻值的电阻,相对于GND来说是高阻,就是大一点点也是高阻,所以电流就不会流过这个串联的电阻。
当用下拉电阻时(所谓的上拉和下拉都是针对高阻态而言的),当I/O口为高阻态时,通过上拉电阻能够让其保持在高电平状态;具体如上文所述:当I/O端口为高阻态时,用下拉电阻把这个口与GND相连接,高阻态电阻值很大,可以理解为断开,其实就是和芯片内部的阻值很大的电阻相连接,下拉的时候拉到地上了,没有电流,电平值为0,除非是给这个引脚赋予一个高电平值它才能够起作用。
上拉和下拉电阻的作用概括如下:
1、提高电压准位
当TTL电路驱动CMOS电路时,如果TTL电路输出的高电平低于CMOS电路的最低高电平,这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值;OC门电路必须加上拉电阻,以提高输出的高电平值。
2、加大输出引脚的驱动能力
有的单片机引脚上也常使用上拉电阻。
3、N/A引脚(没有连接的引脚)防静电、防干扰;
在CMOS芯片上,为了防止静电造成损坏,不用的引脚不能悬空,一般接上拉电阻降低输入阻抗,提供泄荷通路。同时引脚悬空就比较容易接收外界的电磁干扰。
4、电阻匹配
抑制反射波干扰,长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻使电阻匹配,能有效的抑制反射波干扰。
5、预设空间状态/默认电位
在一些CMOS输入端接上拉或下拉电阻是为了预设默认电位。当不用这些引脚时,这些输入端下拉接低电平或上拉接高电平。在I2C等总线上空闲时的状态是由上下拉电阻获得的。
6、提高芯片输入信号的噪声容限
输入端如果是高阻状态,或高阻抗输入端处于悬空状态,此时需要加上拉或下拉电阻,以免受到随机电平的影响,进而影响电路工作。同样,如果输出端处于被动状态,需要加上拉或下拉电阻,如输出端仅仅是一个三极管的集电极,从而提高芯片输入信号的噪声容限,增强抗干扰能力。
在BJT晶体三极管的基极端,上拉电阻和下拉电阻也起着至关重要的作用。在三极管的电路应用中,串接在基极上的电阻起限制基级电流的作用,如下图中的R2所示,
如下图中的R5所示,上拉电阻使三极管基极的输入电平在默认情况下是高电平输入,当CPU有低电平信号输出时,外围电路响应,下拉电阻使晶体管的基极输入在默认情况下拉到低电平,如下图中的R6所示。