让MCU输入引脚悬空真的不是一个好主意吗?


28

我听说,当配置为输入(相对于默认输出)时,将引脚悬空在MCU上对引脚不利,并且最终可能导致其过早失效。这是真的?注意,在本例中,由于输入视频信号,该引脚悬空在0.3V至1.3V之间。当以3.3V工作时,有时会落在0.8V-2.0V的无人区域内。


1
您是否检查了数据表和MCU系列文档?他们应该有一些明确的答案,您可以看到内部如何实现这些引脚。
XTL

@XTL,我扫描了它们,但是没有找到任何引用。他们确实说浮动引脚可以进入不确定的状态,但是没有提及它是否会引起问题。
Thomas O

浮动数字输入和定义为模拟的输入之间有区别。听起来像是模拟输入。
马丁

@Martin我无法使该引脚成为模拟输入。我为视频上的每个像素设置了约125ns的时间片(25ns的指令时钟),因此不能再花费一个纳秒的时间。
Thomas O

2
您正在使用哪种MCU将所有引脚默认输出?这听起来像是灾难的秘诀。
康纳·沃尔夫,

Answers:


31

问题:
仅仅因为无法确定引脚的状态,就将引脚配置为输入悬空很危险。就像您提到的那样,由于电路的原因,您的引脚有时处于低电平,有时处于无人区,有时可能变为高电平。

结果:
本质上,浮动输入绝对会导致芯片操作不稳定或不可预测的行为。我注意到,有些芯片只是通过将手靠近电路板而冻结(我没有佩戴ESD腕带),或者有些电路板每次加电时会有不同的启动行为。

原因:
这仅仅是因为如果该引脚上存在外部噪声,则该引脚会振荡,这会耗尽功率,因为​​CMOS逻辑门在切换状态时会消耗功率。

解决方案:
如今,大多数微控制器也具有内部上拉电阻,因此可以防止这种情况发生。另一个选择是将引脚配置为输出,以免影响内部。


3
如果将其用作输入,则肯定会导致输入不稳定,但是它真的会影响芯片的其他部分并引起启动问题吗?
endlith 2010年

3
如果我忽略该引脚,并且不将其用于任何外设,它还会引起问题吗?
Thomas O

@endolith和Thomas-我认为mikeselectricstuff已为您解答了!只需将噪声引入系统的其他部分,就可能引起问题。我知道这是因为有浮动引脚,因为将其配置为输出后,问题就消失了!
IntelliChick 2010年

2
我不了解金属漂浮物如何将噪声引入系统的其他部分。当然,它会吸收噪声,但是如果您不注意输入,那没关系。附近挥手的问题真的与未使用的浮动输入有关吗?
endlith 2010年

TIL浮动引脚并非无害。感谢IntelliChick和@Yann!
尼克·约翰逊,

13

这比仅仅处于未知状态或不必要地切换要差一些。如今的数字电路大多为CMOS类型,其晶体管可在高侧和低侧进行切换。当我们有清晰的1和0时,它们要么截止要么饱和,这是晶体管进入的两个最有效状态。它用于模拟放大器,但效率却不如极限,这意味着浪费更多的功率与晶体管中的热量。在最坏的情况下,高端晶体管和低端晶体管都会泄漏(因为该引脚实际上既不是高电平也不是低电平),然后当它们试图将内部状态都驱动为高电平时,它们会结合在一起以在芯片内产生明显的电流。和低-可能在连锁反应中对下一个门也是如此。即使没有电源,热量也可能成为问题。IntelliChick的解决方案仍然适用。

对于也连接到ADC的引脚,某些微控制器提供禁用数字输入缓冲器的功能,以防止出现此问题和泄漏使信号失真。


输入没有滞后?
endlith 2010年

3
施密特触发器输入可以,但通常不可以。
Yann Vernier 2010年

6

实际上,主要作用是增加功耗。如果某个引脚实际上是悬空的,而不是连接到某个不确定的电压源,则可能会发生振荡,这以及增加的功耗可能会在系统的其他部分引入噪声。任何能够用于ADC或比较器输入的引脚都将具有断开数字输入缓冲器的功能,以避免出现此问题。(在AVR上为DIDR,在PIC上为ADCON1 / ANSEL)


究竟是什么振荡,为什么?
endlith 2010年

@endolith-引脚上的输入缓冲区。考虑一个在输入和输出之间具有电容器的反相缓冲器。
康纳·沃尔夫,

@FakeName:但是逆变器在哪里?输出在哪里反馈到输入?
endlith 2011年

3
基本上,所有 IC IO引脚都通过IC Die上的缓冲器(通常是反相器)。由于缓冲器将具有用于输入和输出的导线,因此在输入和输出之间可以存在电容耦合。因此,如果输入是足够高的阻抗,在逆变器输出的过渡可能导致输入到逆变器的变化,使输出再次改变,等等...
康纳狼

4

通常,将输入引脚悬空是一个坏主意,因为这可能会导致:

a)功能问题-输入状态未知,切换(例如,可能会触发带有未定义ISR的中断,这会导致处理器挂起)

b)功耗增加-输入门极有可能类似于CMOS反相器。采用这种结构,当输入距离任一供电轨足够远时(例如,半电源时),将不断流过大量交叉电流。

c)如果流过交叉电流,则已知为热载流子注入实际上会降低设备寿命的现象。输入门可能设计为仅用于正常开关而不是连续导通,因此设备可能会发生灾难性故障。但是请注意,可能需要在高温下将设备置于这种状态数百小时才能发生。

注意a)和b)是最有可能遇到的实际问题。至于c),发生问题的可能性较小,但为什么要冒险?


3

根据任何EMI,输入将在0和1之间切换。我不确定这是否会导致输入失败,但会导致使用更多功率,因为​​从0到1到0的过渡。

将其设置为输出并完成它。


1
如果将其设置为输出0或1,它将使视频信号接地,并导致视频丢失。
Thomas O 2010年

您可以启用内部上拉并完成内部上拉吗?
endlith 2010年

启用内部上拉应该很好。关键是将其置于已知状态并保留在那里。
罗伯特2010年

2

如果输入悬空,则某些高速CMOS器件可能会被破坏,但人们将看到的最常见问题是电流消耗的增加。在PIC系列单片机上,每个浮动引脚的额外电流约为数百微安。不足以引起设备损坏,但足以严重影响电池寿命,否则会消耗5uA的电流。有些芯片具有禁用数字输入的选项。如果输入被禁用,则可以自由悬空。

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.