百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

上拉电阻和下拉电阻在电路中做什么用?

yuyutoo 2025-03-10 21:52 3 浏览 0 评论

1)什么是上下拉电阻?

首先上拉电阻是把一个信号通过一个电阻接到电源(VCC),下拉电阻是信号接到地(GND)。那么电路功能如果已经完成,我们为什么还需要额外增加一个电阻连接到电源或GND呢?这个电阻的阻值为什么是这么大?有什么依据吗?如果我们不理解为什么需要上拉和下拉,则电路设计中很可能只会“抄电路”。一旦电路现象异常,会束手无策。

我们经常听到,“强上拉”“弱上拉”,是什么意思呢?弱强只是上拉电阻的阻值不同,没有什么严格区分。例如,50Ω上拉,则一般称为强上拉;100kΩ上拉则称为弱上拉。下拉也是一样的。强拉电阻的极端就是零欧姆电阻,亦即将信号线直接与电源或地相连接。

2)上下拉电阻的作用

上下拉电阻的作用其实很宽泛,所以很少有教科书把上下拉电阻的应用方法进行汇总。因为不同的领域使用方法也不同,此处我们整理一些常见的使用方法。

(1)维持输入管脚是一个稳定态。

芯片的管脚有三个类型,输出(Output,简称O)、输入(Input,简称I)和输入输出(Input/Output,简称I/O)。芯片的输入管脚,输入的状态有三个:高电平、低电平、和高阻状态。当输入是高阻,即输入管脚悬空,很可能造成输入的结果是不定态,引起输出振荡。有些应用场合不希望出现高阻状态,可以通过上拉电阻或下拉电阻的方式使这个输入管脚处于稳定状态。

用法示例:当接有上拉电阻的端口设为输入状态时,常态为高电平,用于检测低电平的输入;当接有下拉电阻设为输入状态时,常态为低电平,用于检测高电平输入。用法示例:当接有上拉电阻的端口设为输入状态时,常态为高电平,用于检测低电平的输入,如图(a)所示;当接有下拉电阻设为输入状态时,常态为低电平,用于检测高电平输入,如图31.1(b)所示。


输入管脚的上下拉电阻


按键电路设计、复位电路设计等都是这个情况的上下拉电阻。至于具体是上拉还是下拉,取决于我们需要的默认状态,如图31.2所示。

按键电路的上下拉电阻

在按键电路中,增加上拉电阻的目的是使当按键断开时,KeyIn1处于高电平状态,若无上拉,悬空,状态无法确定。断开为1,闭合为0,数字逻辑关系明确。

在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻降低输入阻抗提供泄荷通路。也是一样的道理。

(2)三极管实现电平转换电路的外围电阻。

首先要了解三极管的基本原理,三极管属于电流控制电流型元件,与MOS管不同,MOS管属于电压控制电压型元件。三极管有三个工作区:截止区、放大区和饱和区。以NPN三极管为例,BE之间那个箭头很像一个二极管,其实BE之间就是一个二极管,BE的压差(UBE)约为0.6V左右(实际大小与元器件的型号有关),当UBE<0.6V时,BE间的等效二极管没有导通,此时的三极管也就处于截止状态;随着BE间的电压上升,三极管进入放大区,三极管处于放大区或饱和区时UBE=0.6V。这时BE的压差不会随着输入的电压变高而继续增加,体现出二极管的特性,保持一个导通电压。

如图所示,输入信号如果是个3.3V电压信号,三极管的BE电路等效于一个二极管。我们不会把二极管两端直接接到电压和GND之间,一般会串联个电阻,进行电流控制。



三极管电平转换电路

R1电阻属于限流电阻,因为三极管属于电流控制元件,当三极管属于放大或饱和状态时,UBE的电压为0.6V,可以根据输入电压U计算基极的电流,计算公式为Ib=(U-0.6)/R1,从公式也可以看出,若不接限流电阻R1,当输入电压大于0.6V时,基极的电流会非常大,从而烧毁三极管。

需根据输入电压、管子的特性进行计算,如该三极管的放大倍数β为50(三极管的固有特性,在放大状态Ic的电流大小是Ib的β倍)。

输出电压Vout=VCC-Ic*R2。通过这个公式,我们可以看出:VCC确定,如图31.1中VCC为12V,Vout在Ic为0时达到最大值12V等于VCC,由于是数字电路,Vout需要达到0V附近,实现低电平的效果,那么如果R2我们选定为1kΩ,则很容易计算出Ic的让三极管达到饱和状态的值,如式


三极管的通流能力是有限的,如果我们选定的三极管集电极的额定电流为500mA,那么Ic的最大值Ic(max)=500mA。所以,R2的选值不能太小,避免Ic太大导致三极管烧毁。通过公式,我们去理解饱和的概念变得更容易:集电极电阻越大越容易饱和;饱和区的现象就是:二个PN结均正偏,Ic不受Ib之控制,因为Vout已经接近GND了,不可能凭空产生负电压。

如果,输入电压为3.3V,若要求设计时三极管处于饱和状态,则Ic(饱和)=12mA,那么Ib(min)=Ic(饱和)/β=12mA/50=0.24mA,则基极限流电阻R1(max)=(3.3V-0.6V)/Ib(min)=11.25kΩ。若要求输入3.3V时,三极管饱和,并且我们要求考虑三极管放大系数β、电阻、VCC电压的离散型、精度、波动等因素,我们需要留够足够的余量。于是我们一般此时可能选择R1为1kΩ电阻,让三极管足够饱和。另外R1的阻值也不能太小,需要考虑Ib的额定电流。另外R1、R2都不能太小的一个原因是我们需要考虑功耗和节能。

若把图中的NPN三极管换成N沟道的MOS管,原理也是一样的,当输入高电平时,管子导通,输入低电平时,管子截止,如下图所示。但此时需要注意的是,让MOS进入打开的状态条件是GS的电压,这个电压比三极管的大约0.6V不同,一般在2V以上。所以,低压控制高压时要注意GS的阈值电压。但因为GS的稳态电流非常小,几乎为0,所以能耗情况比三极管好。如果效率有要求,Rds(on)跟输入侧的电压也是相关的。需要考虑VG在不同电压情况下的,导通阻抗。



MOSFET电平转化电路

因为这样的电路是一个反向的逻辑,因为输入为高电平时,输出为低电平。我们很可能连续用两个三极管把逻辑做成正向逻辑。此时R2就很可能成为下一级电路的R1,此时的R2就既不能太大,也不能太小,如图31.5所示。


两级三极管电平转化电路


(3)OC、OD电路。

对于OC(Open Collector,集电极开路)、OD(Open Drain,漏极开路)电路上拉电阻的功能主要是为集电极开路输出型电路提供输出电流通道。有些芯片他们的一些输出管脚,集成了三极管或MOSFET,但是没有集成上拉电阻到VCC。典型的OC电路如图31.6所示。所以,这些管脚其实就是一个集电极,而且是个开路,所以就称为OC。按照我们介绍的三极管的外围电路,这个上拉电阻是必须的内容,我们在原理图中在OC、OD电路放置的上拉电阻,原本就是让电路功能完整的必须内容。


集电极开路电路

OC或OD的由来,是用于设计一种“线与”电路。两个或多个输出信号连接在一起可以实现逻辑“与”的功能。如图31.7所示,两个输入只要有其中一个输入为低电平,就可以让输出为低电平,两个输入都是高电平时,输出才为高电平。

两个OC电路实现“线与”

(4)总线的I/O接口上下拉电阻。

一些总线有输出输出接口,本质就是OC或OD的接口。I2C(Inter Integrated Circuit,内部集成电路)总线就是典型的OD输出结构的应用,典型的I2C电路都有上拉电阻,如图所示。

I2C总线上拉电阻

I2C接口的SCL与SDA都是OD输出结构输出,这样的好处是可以作为双向数据总线。OC、OD电路往往是刚刚说的输入输出管脚,然而一些总线的I/O就是一些双向数据的信号,其实就是把输入和输出短接在一起,然后把输出做成OC或OD。这样处理不单用一根信号实现了双向数据,既可以输出又可以输入,同时解决了双向数据如果同时发送带来的数据冲突的问题。

一般来说,芯片的输出管脚是推挽结构。如果两个芯片的推挽结构输出管脚连接在一起,某一个时刻两个芯片同为输出,一个如果输出为高、一个输出为低,则可能出现短路的现象,工作中称为“总线冲突”,如图所示。用OC、OD电路可以避免短路,所有绝大多数总线都是采用这种方式设计,如I2C、LPC、PCI等总线的输入输出管脚都是这样的管脚类型。当然也有些总线方式,I/O端口不需要外接,是芯片内置了上拉电阻。

推挽结构输出管脚短路

对于I2C总线,总线上有两个芯片或多个芯片,所有芯片的引脚输出什么状态,都不会出现短路的情况引起数据冲突,配合各自芯片内部的数据识别电路及仲裁系统,双方都可以主动给另一方发送信息。也就是说,任何一方都可以将拉低,不拉低时就是释放总线,总线上为高电平,而不会影响起数据冲突,如图31.10所示。


OC输出管脚电流


(5)增加输出管脚的驱动能力。

芯片的输出管脚本身并不是OC、OD,但是有时我们也会增加一个上拉电阻或下拉电阻,通过上拉或下拉来增加或减小驱动电流。

例如,一个单片机的I/O口内部有一个几十kΩ,最大输出电流也就是250μA,因此当我们增加一个上拉电阻时,可以形成和内部上拉电阻并联结构,增加高电平时电流的输出能力。在负载增大时,仍然能够保持足够的电压。

(6)电平标准匹配。

改变电平的电位,常用在TTL-CMOS匹配。当TTL电路驱动COMS电路时,若TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平值。需要注意的是,此时上拉电阻连接的电压值应不低于CMOS电路的最低高电压,同时又要考虑TTL电路方的电流(如某端口最大输入或输出电流)的影响。

(7)增强电路抗干扰能力。

芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限,增强抗干扰能力。长线传输中,电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效地抑制反射波干扰。提高总线的抗电磁干扰能力,管脚悬空就比较容易受外界的电磁干扰。


3)上拉电阻阻值选择原则

(1)从节约功耗及芯片的灌电流能力考虑,电阻值应当足够大;电阻越大,电流越小。

(2)从确保足够的驱动电流考虑,电阻值需要足够小;电阻越小,电流越大。

(3)对于高速电路,过大的上拉电阻可能边沿变平缓。需要电阻与电路寄生电容形成RC滤波电路,影响信号的高频分量的传输。

(4)驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计时应注意两者之间的均衡。

(5)下级电路的驱动需求。同样以上拉电阻为例,当输出高电平时,开关管断开,上拉电阻应适当选择以能够向下级电路提供足够的电流。

(6)高低电平的设定。不同电路的高低电平的门槛电平会有不同,电阻应适当设定以确保能输出正确的电平。以上拉电阻为例,当输出低电平时,开关管导通,上拉电阻和开关管导通电阻分压值应确保在零电平门槛之下。

(7)频率特性。以上拉电阻为例,上拉电阻和开关管漏源级之间的电容和下级电路之间的输入电容会形成RC延迟,电阻越大,延迟越大。上拉电阻的设定应考虑电路在这方面的需求。


4)吸电流、拉电流、灌电流

在集成电路中,吸电流、拉电流输出和灌电流输出是一个很重要的概念。

拉电流:主动输出电流,是从输出口输出电流。

灌电流:被动输入电流,是从输出端口流入吸电流。

吸电流:吸则是主动吸入电流,是从输入端口流入吸电流和灌电流就是从芯片外电路通过引脚流入芯片内的电流,区别在于吸收电流是主动的,从芯片输入端流入的叫吸收电流。

拉电流是数字电路输出高电平给负载提供的输出电流,灌电流时输出低电平是外部给数字电路的输入电流,它们实际就是输入、输出电流能力。

吸电流是对输入端(输入端吸入)而言的;而拉电流(输出端流出)和灌电流(输出端被灌入)是相对输出端而言的。

相关推荐

自卑的人容易患抑郁症吗?(自卑会导致抑郁吗)

Filephoto[Photo/IC]Lowself-esteemmakesusfeelbadaboutourselves.Butdidyouknowthatovert...

中考典型同(近)义词组(同义词考题)

中考典型同(近)义词组...

WPF 消息传递简明教程(wpf messagebox.show)

...

BroadcastReceiver的原理和使用(broadcast-suppression)

一、使用中注意的几点1.动态注册、静态注册的优先级在AndroidManifest.xml中静态注册的receiver比在代码中用registerReceiver动态注册的优先级要低。发送方在send...

Arduino通过串口透传ESP 13板与java程序交互

ESP13---是一个无线板子,配置通过热点通信Arduino通过串口透传ESP13板与java程序交互...

zookeeper的Leader选举源码解析(zookeeper角色选举角色包括)

作者:京东物流梁吉超zookeeper是一个分布式服务框架,主要解决分布式应用中常见的多种数据问题,例如集群管理,状态同步等。为解决这些问题zookeeper需要Leader选举进行保障数据的强一致...

接待外国人英文口语(接待外国友人的英语口语对话)

接待外国人英文口语询问访客身份:  MayIhaveyourname,please?  请问您贵姓?  Whatcompanyareyoufrom?  您是哪个公司的?  Could...

一文深入理解AP架构Nacos注册原理

Nacos简介Nacos是一款阿里巴巴开源用于管理分布式微服务的中间件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理等。这篇文章主要剖析一下Nacos作为注册中心时其服务注册与...

Android面试宝典之终极大招(android面试及答案)

以下内容来自兆隆IT云学院就业部,根据多年成功就业服务经验,以及职业素养课程部分内容,归纳总结:18.请描述一下Intent和IntentFilter。Android中通过Intent...

除了Crontab,Swoole Timer也可以实现定时任务的

一般的定时器是怎么实现的呢?我总结如下:1.使用Crontab工具,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本;2.ignore_user_abort()和set_time_li...

Spark源码阅读:DataFrame.collect 作业提交流程思维导图

本文分为两个部分:作业提交流程思维导图关键函数列表作业提交流程思维导图...

使用Xamarin和Visual Studio开发Android可穿戴设备应用

搭建开发环境我们需要做的第一件事情是安装必要的工具。因此,你需要首先安装VisualStudio。如果您使用的是VisualStudio2010,2012或2013,那么请确保它是一个专业版本或...

Android开发者必知的5个开源库(android 开发相关源码精编解析)

过去的时间里,Android开发逐步走向成熟,一个个与Android相关的开发工具也层出不穷。不过,在面对各种新鲜事物时,不要忘了那些我们每天使用的大量开源库。在这里,向大家介绍的就是,在这个任劳任怨...

Android事件总线还能怎么玩?(android实现事件处理的步骤)

顾名思义,AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码...

Android 开发中文引导-应用小部件

应用小部件是可以嵌入其它应用(例如主屏幕)并收到定期更新的微型应用视图。这些视图在用户界面中被叫做小部件,并可以用应用小部件提供者发布。可以容纳其他应用部件的应用组件叫做应用部件的宿主(1)。下面的截...

取消回复欢迎 发表评论: