stm32设置内部上拉电阻_介绍更全面的电阻上下拉_miss废柴的博客-CSDN博客
1.拉电阻
上拉(Pull Up )或下拉(Pull Down)电阻,统称为拉电阻,作用:将不确定状态的信号线夹到高电平(上拉)或低电平(下拉)。
若输入引脚连接上拉或下拉电阻,则可将引脚确定为高电平或低电平,防止外界干扰,如下图所示:
2.选择上拉还是下拉
上拉电阻或下拉电阻的使用取决于电路的实际情况。
下拉电阻:
当我们希望一个引脚不控制时,它是低电平,而控制时,它可以是高电平。例如,高电平可以有效地控制信号(EN),应使用下拉电阻。即使在上电或运行过程中受到干扰,也要保证低电平。
上拉电阻:
低电平有效复位控制信号(RST#),如果处于悬挂状态,刚上电或在运行过程中受到干扰,会导致复位错误,此时应使用上拉电阻。
一些简单的单片机(如STC89C51RC)内部可能没有集成上拉电阻或下拉电阻,需要在电路中增加,但大多数先进的控制芯片集成上拉或下拉电阻(如STC15W408AS),下图为STM32F4xx是GPIO内部上拉或下拉介绍(来自内部上拉或下拉介绍)STM32F4xx数据手册:
3.选择强拉还是弱拉?
根据阻值可分为强拉或弱拉(weak pull-up/down),芯片内集成的电阻一般较大,为弱拉。电阻越小,电流越大,抗干扰能力越强,但电阻功耗越大,如下图所示:
上拉电阻R1:控制器每次输出低电平L,都会有VCC/R1.电流消耗能量。
下拉电阻R2:控制器每次输出高电平H=VCC,都有VCC/R2R电流消耗能量。
强拉与弱拉之间的电阻值没有明显的分界,一般我们使用的拉电阻都是弱拉,便于控制器改变信号线电平。
强拉电阻的极端是0,例如EEPROM存储芯片24C如下图所示:
E0,E1,E2(地址配置位置)通常是直接的VCC或GND,由于存储芯片的地址在运行中不再改变,同样,芯片的写作控制引脚WC(Write Control)也被强下拉GND。
4、输出引脚的拉电阻
对于开集(Open Collector,OC)或开漏(Open Drain,OD)该模式的引脚接拉电阻具有另一种意义。芯片的一些输出引脚是推拉输出结构(Output Push-Pull),如下图所示:
推拉输出结构特点:无论输出高电平1还是低电平0,驱动(输入或输出电流)的能力都比较强。
灌电流(Sink Current):控制信号为低电平“0”时,Q1截止Q2导通,电流I1由电源VCC经负载RL与三极管Q2流向GND,如下图所示:
拉电流(Source Current):当控制信号为高电平1时,Q1导通Q2截止,电流I1由电源VCC经三极管Q1与负载RL流向GND,如下图所示:
如下图所示,任何芯片的引脚驱动能力都是有限的STM32单片机的IO最大电流(来自STM32F4xx数据手册:
5.选择拉电阻的电阻值
如果引脚驱动的负载较重,即负载电阻过小,可能导致输出电平不正确(无法输出设定的电平),如下图所示:
假设芯片的电源电压为3.3V,输出最大电流25mA时,负载RL132欧姆(3.3V/25mA),理论上,如果负载值小于132欧姆,输出电流会更大(超过25mA),但芯片引脚只能提供最大的25个mA因此,输出电平会下降。
一般来说,当驱动重负载(小电阻)时,芯片不会燃烧,但在实际应用要超过引脚的驱动能力。
而OC(OD)引脚输出结构不同(OC三极管中存在结构,OD场效管中存在结构OC以输出结构为例,OD如下图所示:
当三极管Q当基极为高电平1时,Q1导通,对应输出引脚为低电平,如下图所示:
当基极为低电平0时,三极管Q1.如果没有上拉电阻,引脚处于高电阻状态,无法输出高电平,即 OC/OD结构输出的引脚不能向外提供电流。因此,通常会OC/OD将电阻拉到引脚上VCC,如下图所示:
大多数比较器芯片的输出是OD/OC输出结构如下图所示(来自TI比较器LM三九三数据手册:
对于OD/OC根据系统的实际需要,结构的引脚可以拉到相应的电源VCC,不需要电平转换,如下图所示(东芝步进电机控制芯片)TB6560数据手册)
I2C总线也是典型的OD如下图所示:
其中,SCL与SDA都是OD如果芯片引脚采用推拉结构,两个或两个以上芯片的引脚连接如下图所示:
上图中的芯片分别输出0和1,此时电流非常大VCC经Q1与Q4到GND,虽然芯片在大多数情况下不会燃烧,但它也会导致大量的功耗,但也会导致数据不准确。芯片1应提高电平,芯片2应降低电平。
如果使用OC/OD如下图所示:
此时,无论两个芯片的引脚输出处于什么状态,都不会引起数据冲突,即任何一方都可以提高或降低信号线。我们熟悉的51台单片机P0口也是OD结构如下图所示(来自单片机)AT89C51数据手册:
上述拉电阻的电阻值也适用于输入引脚引起的功耗,因此拉电阻不应太小,但在输出信号速度快的电路下,拉电阻不应太大,因为电阻越大,电流越小,导致电平变化缓慢。如下图所示I2C总线上拉电阻的最大参考值(来自存储芯片 AT24C02数据手册)。
总线上有一些杂散电容CBUS,与上拉电阻RL形成RC充放电电路,上拉电阻越大,充放电常数越大,电平变化越慢,如下图所示,数据无法正常识别。
END ———————————————— 版权声明:本文为CSDN博主「miss废柴」遵循原创文章CC 4.0 BY-SA版权协议,请附上原始来源链接和本声明。 原文链接:https://blog.csdn.net/weixin_32280593/article/details/112290797