当微控制器具有内部上拉电阻时,为什么需要外部上拉电阻?


15

微控制器确实具有内部上拉下拉电阻,但是大多数电路都具有外部上拉电阻。

我在Google上寻找答案,有几个网站说这些电阻并不强,但我认为它们足以工作。我以为它们可能需要外部,因为内部电阻需要通过编程来触发。

因此,对于某些计划外的情况,它们还会连接外部电阻器。但是我不确定。

当我们有内部零件时,使用外部零件的真正原因是什么?


6
一些微控制器具有内部电阻器。而且,这些电阻的尺寸并非适合所有应用(通常针对低功耗进行了优化)。
戴夫·特威德

2
如果我省略I2C线路上的上拉电阻会怎样? 该线程是对尝试将内部上拉电阻与I2C一起使用的分析。
尼克·阿列克谢耶夫

“因此,在某些计划外的情况下,它们还会连接外部电阻器。” 有时也有计划的情况。在生产环境中,将电阻器简单地从一个位置移动到另一个位置通常比重新刷新固件以获得相同的结果更容易/更快/更便宜。在固件中执行此操作可能需要重新发布需要维护的同一固件。进行焊接修改后,所需要的只是有条件的工作指导。
Wossname

Answers:


30

有几种可能的原因,例如

  • 上电期间需要电阻,因为微控制器尚未开始执行。
  • 需要比内部电阻更精确的电阻。内部上拉/下拉电阻器具有非常宽的容差。
  • 需要大于或小于内部提供的电阻。例如,I 2 C通常使用更强的上拉电阻,而您可能希望使用非常弱的上拉电阻来监视开关,以节省功耗。
  • 需要拉至微控制器的电源电压或地以外的电压。
  • 在微控制器上与ADC一起使用上拉/下拉电阻。一些微控制器会在ADC连接到的任何引脚上禁用其内部电阻。
  • 在仅具有上拉电阻的微控制器上需要一个下拉电阻。

我不明白最后一秒...为什么微控制器会使用ADC禁用内部电阻
Gunjan Gangwani

3
@GunjanGangwani我认为这不是一个好的设计决定,但其想法是通常您不希望ADC从被测物中汲取任何电流,因此您需要一个高阻抗连接。我猜有些设计师不相信固件开发人员总是禁用内部电阻。
安倍·卡普拉斯

7
我认为这通常是因为上拉/下拉电路与数字输入缓冲器相关联,并且启用ADC有时会完全禁用数字缓冲电路(以及上拉/下拉电阻器)。
康纳·沃尔夫

3
@Ashutosh如果您想要高阻抗,那么您当然不使用任何上拉电阻。一些微控制器通过自动关闭其内部上拉电路来实现这一点,这在您希望高阻抗的情况下是一个问题。
安倍·卡普拉斯

1
@GunjanGangwani ADC输入应与所有其他电路隔离,以提供最低的本底噪声。数字输入在其“高”和“低”电压之间驱动时,通常会消耗比期望更多的电流。当该引脚用于ADC时,较早的微控制器使用内部开关断开数字部分的输入,而该数字部分具有上拉功能。断开连接既可以隔离ADC并降低本底噪声,又可以防止可能的额外电流消耗(或者在非常老的芯片中,CMOS闩锁)。
亚当·戴维斯

9

一些(或也许很多)微控制器确实具有内部上拉电阻,但这些电阻通常是相当高的值。许多应用将需要较低值的上拉电阻。

在没有内部上拉电路的普通逻辑电路(门,计数器等)的输入处也可能需要上拉电阻器(有时我们需要下拉电阻器...)


1
内部上拉电阻,但这些值通常都很高,我最近在构建一个低功耗应用,结果发现上拉电阻约为50 k,我发现这很低,导致电流使用过多。因此,我使用了一个更高值的外部电阻。最后,这取决于您的需求。
Bimpelrekkie

3

此外,每次需要实际电阻值时,都应使用外部电阻。MCU通常没有实际的上拉电阻,而是有MOSFET吸收小电流,因此它们的等效电阻值可能会根据您施加到该引脚的信号而有很大的不同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.