- 不确定信号通过电阻钳位置在高电平,电阻同时限流;
- 下拉是通过电阻钳将不确定信号低电平。
也就是说,在电路中添加拉电阻或下拉电阻的目的是确定某个状态电路中的高电平或低电平。
1.上下拉电阻的作用
简单地说,电源到设备引脚的电阻称为上拉电阻,通常使用高电平;设备引脚的电阻称为下拉电阻,通常使引脚低电平。
对于非集电极(或漏电极)开路输出电路(如普通门电路,提高电流和电压的能力有限,上下拉电阻的主要功能是为集电极开路输出电路提供输出电流通道。上拉是向设备注入电流,下拉是输出电流;强度只是上拉或下拉电阻的电阻值不同)。此外,还有:

- 提高电路稳定性,避免误动作。如果图1中的按钮不通过电阻拉到高电平,则在上电瞬间可能会出现误动作,因为上电瞬间电路引脚电平不确定,上拉电阻R的存在保证了引脚处于高电平状态,不会出现误动作;
- 提高输出管脚的负载能力。受其他外围电路的影响,电路在输出高电时通常缺乏能力VCC状态会影响整个系统的正常运行,上拉电阻的存在会增强管脚的驱动能力。
2、基本原理
如果拉电阻用于输入信号引脚,通常的功能是将信号线强制夹到某个电平,以防止信号线因悬挂而出现不确定状态,导致系统出现预期状态,如图2所示:
在实际应用中,
根据拉电阻的阻值,可分为强拉或弱拉(weak pull-up/down),芯片内部集成的拉电阻通常都是弱拉(电阻比较大),拉电阻越小则表示电平能力越强(强拉),可以抵抗外部噪声的能力也越强(也就是说,不期望出现的干扰噪声如果要更改强拉的信号电平,则需要的能量也必须相应加强),但拉电阻越小,相应的功耗越大,因为正常信号需要更多的能量来改变信号线的状态。在能耗方面,拉电阻永远不会有偏差,如图3所示:
上拉电阻R1.每次控制信号降低L,都会产生控制信号VCC/R1.电流消耗(如果没有上拉电阻,电流为0),因此,对于下拉电阻R2.每次控制信号提高H也会产生VCC/R2R 电流消耗(本文假设高电平为VCC)。
强拉和弱拉之间没有严格的区别。一般来说,我们使用的拉电阻是弱拉,因此我们仍然可以使用外部控制信号根据需要更改已经上下拉的信号线。
强拉电阻的极端是零欧姆电阻,即信号线直接连接到电源或地面。
拉电阻作为输出(或输入输出)会涉及到更多的知识点,但其本质功能是将电平夹紧,最常见的输出拉电阻出现在开集中(Open Collector,OC)或开漏(Open Drain,OD)结构的引脚。
我们有很多芯片的输出引脚是推拉输出结构(Output Push-Pull),如下图所示(还有一种反输出结构,本质上是一样的):
注:推拉输出结构引脚的特点是:无论引脚输出高电平H还是低电平L都有很强的驱动能力(输入或输出电流能力)!
当推拉输出结构的控制信号为低电平时L”时,Q1截止Q2导通,电流I1由电源VCC经负载RL与三极管Q2流向公共场所,我们称之为灌电流(Sink Current),也就是外部电流灌入芯片内部,如图5所示:
相应地,当推拉输出结构的控制信号为高电平时H”时,Q1导通Q2截止,电流I1由电源VCC经三极管Q1与负载RL流向公共场所的电流称为拉电流(Source Current),也就是说,芯片内部可以向外提供的电流(所以称为源电源),从另一个角度来看,外部电路可以从芯片中带走多少电流,如图6所示:
灌电流能力和拉电流能力也称为芯片引脚的驱动能力。
假设芯片的电源电压为3.3V(忽略晶体管饱和压降),输出最大电流25mA时,负载RL132欧姆(3.3V/25mA),如果负载值小于132欧姆,相应的输出电流会更大(超过25mA),但芯片引脚只能提供最大的25个mA所以输出电平会下降(老板,你只给我2500月薪,我只能做2500份工作,你想让我做更多的工作,开更多的工资,一个道理)
一般来说,驱动重负载(小电阻)电路连接不会烧毁内部晶体管,因为内部电阻有限,换句话说,即使输出引脚短路,输出电流也不会超过最大驱动能力(除非是非正式芯片),当然,在实际应用过程中尽量不超过引脚的驱动能力。
而OC(OD)的引脚输出结构有所不同(OC三极管中存在结构,OD场效管中存在结构OC以输出结构为例,OD输出结构的原理是一致的)。