¿Es seguro conectar dos pines MCU directamente entre sí?

Estoy trabajando en un proyecto MSP430 que requiere que enrute la salida de un periférico a la entrada de otro periférico. Por lo tanto, tengo dos pines MCU conectados directamente entre sí. Esto me parece sospechoso ya que existe la posibilidad de que un error de programación provoque que ambas sean salidas (posiblemente en conflicto). Además, está el tema de los estados de inicio y programación.

En el peor de los casos, si un pin está manejando HI, el otro está manejando LO, los pines GPIO generalmente tienen mucha más capacidad de sumidero que capacidad de fuente... por lo que será algo así como tomar una salida HI y acortarla a casi terrestre. Que es malo... pero que tan malo es? ¿Es probable que cause daños a la MCU?

A menudo veo ejemplos en la web de personas que usan Arduinos para encender un LED entre dos pines sin resistencia, y no he oído ninguna historia de alguien que haya frito algo más que el LED. Claramente, no querría hacer esto en un producto, pero ¿los fabricantes generalmente intentan proteger la MCU de la sobrecarga de los pines GPIO de todos modos?

Pensándolo en retrospectiva, colocar una resistencia limitadora de corriente entre los dos pines habría evitado cualquier preocupación, pero incluso un cambio de hardware menor es algo muy difícil de hacer en este momento.

Para futuras referencias y el beneficio de la posteridad, ¿alguien tiene alguna otra idea sobre la forma adecuada de minimizar los riesgos de conectar dos pines MCU juntos y, en general, minimizar los riesgos que surgen de la posibilidad de sobrecargar un pin GPIO?

Yo también uso controladores msp430 si usa ambos pines como salida, existe la posibilidad de un cortocircuito. Pero si configura un pin como salida y otro como entrada, no creará problemas. Pero de todos modos, ¿cuál es el periférico que desea conectar?
Estoy conectando una salida de temporizador a la entrada de un temporizador diferente. La pregunta es completamente sobre la posibilidad de acortar. No estoy pensando en usarlos como salidas, pero siempre existe la posibilidad de que ambos (al menos momentáneamente) sean salidas accidentalmente, debido a factores fuera de mi control.

Respuestas (2)

No es un problema, pero si le preocupa que haya un conflicto de salidas, conéctelas con una resistencia de 1k ohm. Esto limitará la corriente en consecuencia.

Sin embargo, si la entrada necesita flancos realmente rápidos, entonces, cuando esté seguro de que está funcionando, puentee los 1k ohmios con un cortocircuito o tal vez con 100 ohmios.

La ventaja adicional de tener la resistencia es que si tiene el diseño comprometido con la PCB, le brinda una opción fácil de volver a cablear.

Es el mismo problema con las entradas no utilizadas: conéctelas a tierra o Vcc y corre el riesgo de consumir una gran cantidad de corriente del dispositivo sin una forma fácil de averiguar qué está sucediendo: átelas a través de 1k si no se usa o tal vez 10k.

La limitación de sobrecarga se realiza en algunos chips, pero solo en virtud de que los transistores no pueden suministrar "amperios" de forma inherente, pero esto puede funcionar en su contra porque si tiene varios pines o/p en cortocircuito a tierra (o entre sí) y cada uno está limitando con gracia, aún puede exceder la clasificación máxima de corriente en los pines de alimentación del dispositivo.

Para la serie MSP430 2, la página 21 de este documento dice: -

ingrese la descripción de la imagen aquí

Esto me dice que si las corrientes de salida combinadas de varios pines alcanzan un cierto límite, las capacidades de salida de cualquier otro pin (incluso aquellos que pueden estar ligeramente cargados) pueden verse afectadas en la misma cantidad o posiblemente peor.

Miré electronics.stackexchange.com/questions/50539/… y los otros en ese grupo de al menos tres duplicados. Haces un muy buen comentario sobre la sobrecarga del pin de la fuente de alimentación: creo que ese es probablemente el mayor peligro de conectar pines no utilizados a GND/PSU. Entonces ... el transistor en el pin GPIO probablemente no conducirá lo suficiente como para dañarse (a menos que esté en cortocircuito a algo fuera del rango de la PSU).
¿Por qué las entradas no utilizadas (consideradas High-Z) conducirían a un gran consumo de corriente?
@passerby Si los conecta a un riel de PSU como les gusta hacer a algunas personas y accidentalmente se convierten en salidas. Vea las preguntas en la cadena a la que me vinculé, discusión bastante interesante.
@passerby, el OP estaba sugiriendo esto "la posibilidad de que un error de programación cause que ambas sean salidas (posiblemente conflictivas)" y asumo que esto se aplica a errores de programación en pines no utilizados.
Es solo que la línea tal como está hace que parezca que las entradas no utilizadas conectadas a un riel sin ningún tipo de error de programación causan un gran consumo.
@Passerby, supongo, si se programa por error como una salida (y está conectado a un riel de alimentación, tiene un 50% de posibilidades de tomar +/- 40mA

El mayor problema es, como ha mencionado, los errores de programación. Existe la posibilidad de problemas, por lo que debe codificar con cuidado. Aparte de eso, siempre que los pines no sean salidas con diferentes niveles, está bien.

El uso de dos pines para controlar una sola fuente no es poco común (combinando la salida de corriente).

Usar dos pines para conducir un LED (o dos) tampoco es raro. Si bien no se recomienda usar una resistencia, puede salirse con la suya. Si su voltaje de salida es relativamente cercano al voltaje directo del LED, entonces el consumo de corriente puede no ser un problema. Y ahí está la caída de voltaje del pin. A medida que aumenta la fuente de corriente, el voltaje en ese pin disminuye (Vcc a Vcc - 0.3 a -1, etc.). A medida que aumenta la corriente hundida, aumenta el voltaje (de Gnd a Gnd + 0.3v a + 1v, etc.). Es un poco una bendición que se corrige a sí misma, pero no se debe confiar en ella.

Y como ya ha dicho, se podría usar una resistencia limitadora de corriente simple.