将两个 MCU 引脚直接相互连接是否安全?

电器工程 微控制器 msp430 GPIO
2022-01-07 08:39:12

我正在开发一个 MSP430 项目,该项目需要我将一个外设的输出路由到另一个外设的输入。因此,我有两个直接相互连接的 MCU 引脚。这对我来说看起来很可疑,因为编程错误可能导致两者都是(可能是冲突的)输出。此外,还有启动和编程状态的问题。

在最坏的情况下,如果一个引脚驱动 HI,另一个驱动 LO,GPIO 引脚通常具有比源能力更多的接收能力......所以它有点像拿一个 HI 输出并将其短路到接近 -地面。哪个不好......但它有多糟糕?会不会对MCU造成损坏?

我经常在网上看到人们使用 Arduinos 在没有电阻的情况下在两个引脚之间点亮 LED 的示例,而且我还没有听说过任何人除了 LED 以外的任何东西都煎炸的故事。显然您不想在产品中这样做,但制造商通常会尝试保护 MCU 免受 GPIO 引脚过载的影响吗?

回想起来,在两个引脚之间放置一个限流电阻可以避免任何后顾之忧,但在这一点上,即使是很小的硬件更改也是一件非常困难的事情。

为了将来的参考和后代的利益,是否有人对最小化将两个 MCU 引脚连接在一起的风险的正确方法有任何其他想法,更一般地说,最小化来自 GPIO 引脚过载可能性的风险?

2个回答

这不是问题,但如果您担心输出可能存在冲突,请使用 1k 欧姆电阻器将它们连接起来。这将相应地限制电流。

但是,如果输入需要非常快的边沿,那么当您确定它正在工作时,可以用短路或 100 欧姆桥接 1k 欧姆。

拥有电阻器的额外好处是,如果您将设计提交给 PCB,那么它为您提供了一个简单的重新布线选项。

未使用的输入也存在同样的问题 - 将它们连接到地或 Vcc 并且您冒着从设备汲取大量电流的风险,而没有任何简单的方法来解决正在发生的事情 - 如果未使用或可能是 10k,则通过 1k 连接。

在某些芯片上进行了过载限制,但仅凭借晶体管本身不能提供“安培”,但这可能对您不利,因为如果您有几个 o/p 引脚短路到地(或彼此)并且每个引脚都在优雅地限制,您可能仍会超过设备电源引脚的最大额定电流。

对于 MSP430 系列 2,文档的第 21 页说:-

在此处输入图像描述

这告诉我,如果几个引脚的组合输出电流达到某个限制,那么任何其他引脚(甚至可能是轻负载的引脚)的输出能力可能会受到相同程度的损害,甚至可能更糟。

正如您所提到的,最大的问题是编程错误。有可能出现问题,因此您必须仔细编码。除此之外,只要引脚不是两个不同电平的输出,就可以了。

使用两个引脚驱动单个源并不少见(结合电流输出)。

使用两个引脚来驱动一个(或两个)LED 也并不少见。虽然不建议使用电阻器,但您可以摆脱它。如果您的输出电压相对接近 LED 正向电压,则电流消耗可能不是问题。并且有引脚电压下降。随着电流源的增加,该引脚上的电压会降低(Vcc 到 Vcc - 0.3 到 -1 等)。随着电流吸收的增加,电压增加(从 Gnd 到 Gnd + 0.3v 到 + 1v 等)。这是一个自我纠正的祝福,但不应该依赖。

正如您已经说过的,可以使用一个简单的限流电阻。