上拉电阻澄清


12

我刚接触电子产品,所以很难理解“上拉电阻”的原理。我已经阅读了很多有关此的文章,我想我已经明白了,但是我不确定100%,所以我有一个问题。在本文的第一张图片之后,它说:

当按下瞬时按钮时,它将I / O引脚连接到Vcc,微控制器会将输入注册为高电平。

但是我不明白。VCC在哪里?据我所知,这种模式没有电源,只有连接到按钮的微控制器都接地,所以该电路中怎么可能有电压呢?


我认为当他们提到Vcc时,它们指的是图像2和3,这些图像具有VCC。
axk

2
请记住,U1是逻辑门,这意味着实际IC上的电源和接地连接。为了简化电路图,未绘制这些图。
瑞安·格里格斯

5
我会说这是文章中的错误。按下按钮后,它会将栅极输入连接到GND,而不是Vcc。
尤金(Eugene Sh)。

我同意尤金的说法,这太糟糕了。寻找更好的来源。
管道

2
看来,该论文的作者可能已经改变了想法,在绘制图纸和编写文本之间。它应该说“ ... I / O引脚接地,并且NOT门会将输入注册为低”。整个段落通常是混乱的。
彼得·贝内特

Answers:


32

这篇文章似乎很令人困惑:文本和数字不匹配。我将在此处尝试提供与此处相同的三个原理图,并希望给出更匹配的解释。

假设U1是您的微控制器,P1是配置为输入的I / O引脚。(实际上,它可以是任何逻辑门。)与U1的其他连接并不重要,因此未显示,但假定它具有电源连接和其他必需品。

(1)如果按下按钮,则端口P1接地,并且将感测到低逻辑电平。但是当释放按钮时,该端口未在任何地方连接,而是在浮动。没有确定的电压,因此即使很小的噪声也可能导致数字输入从一个值切换到另一个值。它还可能会振荡,并导致功耗增加。不好。

(2)现在,当在按钮没有按下,该端口将感测高的水平,因为它直接连接到Vcc。但是,如果按下该按钮,则Vcc会接地短路,电源可能会烧毁。更糟。

(3)在此,如果未按下按钮,则端口将再次感测到高逻辑电平:通过电阻拉高。(由于数字输入的阻抗非常高,因此电阻上没有电压损耗,因此流向端口的电流大约为零。)

按下按钮时,端口直接接地,因此感觉到低电平。现在,电流将从Vcc流到地,但是电阻器会将其限制在一个合理的范围内。很好

在此示意图中,未按下的按钮读取为高值(1),而按下的按钮读取为低值(0)。这称为低电平有效逻辑。交换电阻器和开关会将其反转,这样,未按下的按钮将显示为低(0),而按下的按钮将显示为高(1)。(高电平有效逻辑。)

原理图

模拟该电路 –使用CircuitLab创建的原理图


我认为这是电子产品初学者了解该主题的一个很好的解释。+1用于图表和简单语言。
Mark Ch'Sep

因此,如果我理解正确,那么我忽略的是事实是U1实际上已连接到Vcc,这就是为什么在第一个原理图中,如果按下按钮,电流可以通过吗?第二个问题,当您在第3点中说“但是由于数字I / O端口的输入阻抗非常高,没关系”时,您的意思是说0的电流将流向P1或一个电流。这么小(由于输入阻抗)几乎等于0 =>低电平?无论如何,感谢您的解释!由于示意图,我将您的帖子标记为答案:-p
ssougnez

1
“可能没有感觉”……我们说输入可能“浮动”,并在一系列潜力之间蜿蜒而行。上拉电阻将输入拉高。注意 电流无所谓(是的,很小),只有电压。在“竞赛”条件下,电路变得更加复杂。
mckenzm

@mckenzm我明白了。您说过重要的是电压,这意味着周围的噪声会产生足够高的张力,使栅极处于高状态吗?
ssougnez

或只是制造过程,这对于现在信用卡上的嵌入式芯片来说非常普遍。读取器具有上拉电阻。有时会出现故障。
mckenzm

11

当没有输入到引脚时,上拉或下拉电阻器将输入“保持”在特定的电平,而不是使输入浮动。

当您考虑附图中的图1时,将开关断开将不会为该引脚提供任何电气连接,从而允许杂散干扰,内部泄漏等影响输入引脚的电压。这些外部影响可能导致输入被解释为波动值,从而导致意外振荡或意外输出。

因此,为了确保引脚保持在“已知”状态,必须始终将其连接到VCC或GND。见图2。但是,存在一个问题:如果将引脚连接到VCC以将其保持在“高”状态,然后将开关连接到GND并按下该开关,则会产生直接短路!您可能会烧断保险丝,损坏电源,烧坏东西等。

因此,您可以通过上拉/下拉电阻连接输入,而不是直接将输入连接到VCC或GND。在图3中,他们使用上拉电阻将输入连接到VCC。

当引脚上没有其他输入时,几乎零电流流过上拉电阻。因此,其两端的压降很小。这样就可以在输入引脚上看到整个VCC电压。换句话说,输入引脚被保持为“高”。

当您的开关闭合时,输入和上拉电阻连接到GND。一些电流开始流过上拉电路。但是,由于它的电阻比通向GND的导线的电阻高得多,因此几乎所有上拉电阻上的电压降都会导致输入引脚上出现〜0 V的电压。

您可以选择一个相对较高值的电阻器,以将电流限制在一个合理的值,但又不能过高而超过输入的内部电阻。

上拉电阻器可让您在不存在输入的情况下将输入保持在已知状态,但仍可让您灵活输入信号而不会产生短路。


感谢您的解释,这非常清楚。我对此线程有很多答案,很遗憾,我只能选择一个作为可接受的答案。我选择了另一个,因为它的示意图,但是您也很清楚。我赞成。
ssougnez

6

这篇文章令人困惑,但这是要点。逆变器具有高输入阻抗,因此不应处于浮动状态,因为它可能会假设为逻辑0或逻辑1或在两者之间振荡。

原理图

模拟该电路 –使用CircuitLab创建的原理图

  • (a)如果没有上拉,我们将需要一个转换开关在Vss和GND(地)之间交替。这种布置将以一种或另一种方式牢固地切换输入,但是当输入瞬时浮置时,在切换触头的转换期间存在问题。例如,这可能导致它在存在电磁干扰(EMI)的情况下振荡。
  • (b)解决了两个问题:使用更简单的开关,并且在没有开关闭合的情况下,输入被拉高。当开关闭合时,输入被拉低。
  • (c)以相反的方式显示相同的排列。开关打开拉低。

(b)中的布置更为常见,因为许多IC逻辑器件都具有内部上拉电阻,从而在使用该布置时可减少组件数量和PCB面积。

请注意,在许多原理图中都假定了电源和地。例如,在逻辑门的情况下,有2、4或6个逻辑门的公共Vss和接地连接。为每个门显示它们是没有意义的,因此将它们与原理图上其他位置的去耦电容器分别假定或显示。


感谢您的答复。我对你说的话有疑问。“(b)中的安排更常见为……”。使用上拉电阻而不是下拉电阻不是“问题”吗?确实,上拉将一直消耗电流,直到按下按钮为止,并且我们可以假设大多数情况下没有按下按钮,因此这意味着电路在不活动时会消耗电流。
ssougnez

@ssougnez:与其将问题作为评论发布,不如将问题作为新的顶级问题发布,通常最好-或者已经在electronics.stackexchange.com/questions/113009/…electronics.stackexchange.com/上回答了问题/ 254037 /…
davidcary

@ssougnez无论哪个电阻都会汲取输入拉电流。无论输入多大,闭合开关时都会吸收电流。这取决于输入电路的外观。
David Schwartz

@ssougnez:某些原因是出于历史原因。例如,TTL芯片上的输入悬空为高时不消耗电流。拉低会产生一些电流。这意味着在需要时将其拉低更为省电。现代设计使用基于FET的输入,当高或低时,它们具有相同的输入阻抗,因此不会有任何区别。与切换到正电源相比,切换到地面通常更容易,更确定-特别是在涉及混合电压电源轨的情况下。
晶体管

4

好吧,这是一个非门,所以我想我们应该想象一个I / O引脚连接在没有串联电阻的情况下无法正确显示LED的情况。当您将输入接地时,输出应转到Vcc(也可以称为Vdd,这是另一回事)。

在逻辑门上不显示电源引脚是很正常的。这只是为了减少原理图中的混乱。请注意,逻辑门上的接地电源引脚也未显示。

当您在同一块板上混有逻辑电压(例如1.8V,3.3V和5V)时,这会让人感到困惑(隐藏引脚),因此我通常不会自己这样做,但是在太平日里确实节省了一些混乱当所有电压都从5V运行时。

原理图

模拟该电路 –使用CircuitLab创建的原理图


是否有可能要求向我展示该电路的完整示例呢?我希望能够在没有上拉电阻的情况下正确可视化电路,以便也能看到全局图像。谢谢
ssougnez

参见编辑。简化了逆变器的内部结构(通常使用更多的晶体管进行缓冲,至少需要一些保护二极管)。当不按下开关时,输入将浮动,但是当按下开关时,输出肯定为高(M1接通而M2断开)。
Spehro Pefhany

示意图中右侧的I / O端口是否会通过LED拉至某个已知电压,而不是实际上处于浮动状态?我认为本文提到“ I / O引脚”时,是指“非”门的输入。在图1之后的文本中,它只是将Vcc与接地GND混淆了。在图2之后,它们又是正确的方法。
ilkkachu

不,LED不会影响电压,足以令人担心(它仍然是逻辑1或逻辑0)。如我最初所说,我认为它不是指非门输入。它不是微控制器,它只是输入而不是I / O引脚,但是对于初学者来说,实际上页面并不十分清楚。
Spehro Pefhany

谢谢,由于您的回答和所有其他回答,现在变得更加清楚。我投票赞成您的;-)
ssougnez

2

上拉或下拉电阻器用于固定逻辑电平(GND为0或VCC为1)。电阻具有比按钮更高的阻抗。当您按下按钮时,电平可以改变(如果有线正确)。

图中代表MCU的“非门”是非常基本的,作者省略了VCC电源。当然,在图2和3中,Vcc存在且连接良好。

您选择的感觉是为了解释“主动高位”逻辑。与图1相对应的是

使用上拉电阻,I / O引脚通常会显示逻辑高电平,按下按钮时会看到低电平


1

由于CMOS上的浮动输入可能泄漏到错误的输入电平,因此容易产生杂散噪声,因此uC输入端口中的隐藏输入上拉电阻R会接地,或者外部偏置R会连接到一个电源轨Vdd或Vss并切换至相反的轨道。

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.