¿Qué sucede cuando se conectan dos circuitos digitales y uno recibe alimentación pero el otro no?

Supongamos la siguiente configuración genérica en la que dos circuitos digitales están interconectados pero tienen fuentes de alimentación independientes (por ejemplo, dos microcontroladores redundantes).

esquemático

simular este circuito : esquema creado con CircuitLab

Ahora, ¿qué sucede si V1 está ENCENDIDO pero V2 está APAGADO (o viceversa)? Generalmente me protejo contra este escenario insertando resistencias en las líneas de modo que la corriente de cortocircuito esté por debajo de la corriente de disipación máxima de los pines.

  1. ¿Es eso necesario (¿quizás algo para buscar en las hojas de datos?)? ¿Qué pasaría con el nivel del transistor si no se incluyera protección? En general, se utilizan MOSFET en modo de mejora, lo que significa que todos los interruptores están APAGADOS (abiertos) cuando no hay voltaje presente, por lo tanto, no entiendo por qué podría haber un problema.
  2. ¿Hay otros medios de protección? Esas resistencias me impiden ejecutar líneas de comunicación a alta frecuencia debido a la constante de tiempo con la capacitancia de entrada.

Esta debe ser una pregunta que ya se ha abordado, pero parece que no puedo encontrar ninguna en SE.

Tenga en cuenta que esta pregunta solo trata sobre la protección contra eventos poco probables o breves: ambos suministros estarán ENCENDIDOS para el funcionamiento nominal.

Depende completamente de cómo se construyan los circuitos. Entre la nada y escapar del humo mágico, todo es posible.
¿Podría ampliar sobre de qué depende el resultado, si es posible dar ejemplos? ¿Algo que buscar en la hoja de datos para determinar si es seguro aparearse tal cual?
¿Qué tan alta es la alta frecuencia?
Esto puede suceder.
La alta frecuencia es de hasta ~100 MHz, comunicaciones digitales estándar.

Respuestas (5)

Lo que está buscando en la hoja de datos es el esquema (o diagrama) de la estructura del pin.

Puede verse algo como esto:Estructura de pasador STM32F401

Lo que ve aquí en particular son los diodos de protección que sujetan los voltajes de entrada a la región permitida. A menudo se da como Vdd+0,3 V y Vss-0,3 V o algo así.

Los 0,3 V es la caída de tensión de los diodos de protección. Si tiene un voltaje superior a Vdd+0,3 V, el diodo de protección comenzará a conducir y suministrar corriente al resto del circuito.

Por supuesto, no se supone que su circuito y el controlador funcionen de esa manera. Por ejemplo, podría estar polarizando inversamente su regulador de voltaje en el otro lado, si la falla de energía es causada por la ruptura de la entrada del regulador de voltaje (los detalles dependen de la forma en que esté diseñado su circuito de energía). Esto puede dañar su regulador de voltaje.

Dependiendo del consumo de corriente del otro circuito, el voltaje real puede ser un poco más bajo, por lo que los componentes no funcionarán como se esperaba. Por ejemplo, al conducir 20 mA, el voltaje de la salida se reduce en 1,3 V:

Niveles de tensión de los pines en función de la corriente

Entonces, al ejecutar desde 3.3 V, obtendría 2.0 V en la salida y solo 1.7 V como el nuevo VDD en el otro lado. Lo que podría causar todo tipo de problemas (algunos chips ya funcionan, otros no).

No estoy seguro del lado de la protección de las cosas, pero tal vez un supervisor de energía que restablezca la MCU hasta que ambos voltajes estén bien podría funcionar, ya que entonces puede estar seguro de que ambos están alimentados correctamente.

Si necesita tener uno funcionando todo el tiempo, puede usar un supervisor en cada lado para el otro lado y apagar todas las líneas entre ellos si el estado no es correcto, pero como la reacción no será instantánea (software involucrado) podría ser demasiado lento.

Muy buena respuesta, gracias por el paso a paso. ¿El único problema es encender el circuito de APAGADO desde las líneas de señal del circuito de ENCENDIDO, o hay otros que desconozco?
Por cierto, es posible que desee reformular eso: "[...] ya que ahora podría estar polarizando inversamente su regulador de voltaje en el otro lado [...]"
@MisterMystère No estoy al tanto de otros problemas en este momento. ¿De qué manera debería reformularlo, para mí es claro, así que no sé qué es engañoso o no comprensible al respecto?
No entiendo, o es "como podrías saber" y lo que queda es una oración completa, o es "como podrías ahora" y ni lo que está antes ni lo que está después parece ser una oración completa tampoco. ¿Quizás faltan palabras? ¿O me estoy perdiendo algo?
@MisterMystère Ya veo, bueno, el inglés no es mi idioma nativo, por lo que es muy posible que cree oraciones sin sentido. He intentado reformular el párrafo en cuestión. ¿Puedes comprobarlo?
Sí, gracias. Lo entiendo completamente, el inglés tampoco es mi lengua materna.

Si su lógica es compatible con la función Ioff implementada por TI y otros, puede apagar un lado de manera segura sin dañar el otro lado, siempre que los voltajes aplicados estén dentro de los límites especificados.

De ese hilo:

La función Ioff es para aislar el dispositivo cuando Vcc = 0. 10 mA es la cantidad máxima de corriente que el dispositivo ingresará/emitirá mientras Vcc sea 0V. (Esto se refiere al dispositivo específico que se cuestiona).

La definición oficial:

Ioff: la corriente de fuga máxima en un terminal de entrada o salida del dispositivo, con el voltaje especificado aplicado al terminal y VCC = 0 V.

El circuito de protección Ioff garantiza que no se extraiga una corriente excesiva desde o hacia una entrada, salida o E/S combinada que esté polarizada a un voltaje específico mientras el dispositivo está apagado.

Esta es una característica increíblemente útil y trato de asegurarme de usar este tipo de dispositivos en secuenciadores de potencia (en particular), donde el estado de potencia de algunos circuitos puede ser desconocido por un corto período de tiempo.

HTH

Genial, nunca había oído hablar de eso antes. ¿Cuál es el significado de HTH (tampoco lo he escuchado...)?
Espero que ayude :)
Gracias, no conocía ese estándar. Ahora eso es algo que puedo buscar en la hoja de datos.

Esto puede conducir a cosas como alimentar dispositivos a través de pines de E/S, lo que generalmente es una mala idea. Una forma común y fácil de solucionarlo es usar un optoaislador, de modo que sea imposible que la corriente fluya por el espacio óptico. Esto también proporciona traducción de nivel y cantidades significativas de aislamiento de altos voltajes, etc.

Pero podría no ser adecuado para las velocidades de transferencia necesarias o utilizable debido a restricciones de energía o limitaciones de vida útil del diodo. Una alternativa notable sería un I-Coupler: no lo he mencionado hasta ahora porque estaba esperando una respuesta sobre qué tan alta es la frecuencia de la señal.
Está etiquetado como microcontrolador, por lo que probablemente sea de baja velocidad (<250 MHz) para que el optoaislamiento sea trivial.
@MoJo parece que estoy trabajando en la parte equivocada del negocio de la electrónica, ¿puede señalarme una parte de optoaislamiento con más de 50 MHz de ancho de banda? No es que lo necesite ahora, pero parece que las fuentes que suelo consultar no tienen ninguna de esas.

Use un diodo en serie de cada fuente de alimentación a cada Vdd y aumente el voltaje de suministro para compensar. Esto permitirá que los diodos de protección de entrada alimenten el circuito, sin ser cargados por la fuente de alimentación 'apagada'.

esquemático

simular este circuito : esquema creado con CircuitLab

Esto no necesariamente permitirá que el circuito alimentado por entrada funcione correctamente. Su tensión de alimentación será menor, debido a la caída del diodo de protección y cualquier caída de salida en la línea de datos. Si todas las líneas del circuito alimentado están bajas, entonces no habrá energía en absoluto. Sin embargo, la corriente entregada por la línea de datos se limitará a la requerida para ejecutar la lógica sin alimentación, en lugar de todo lo demás conectado también a la fuente de alimentación.

Gracias. ¿Podría ilustrar con un esquema?
@MisterMystère Lo hice, no porque lo necesitara, sino porque nunca antes había jugado con el editor de circuitos.
OK, eso es lo que pensé que se trataba. Entonces, el circuito de APAGADO será alimentado por las líneas de señal (bueno, si al menos una de ellas es alta), pero esto evitará que otros circuitos también consuman más corriente. No es una solución ideal ya que las líneas de señal siguen proporcionando energía, pero es una solución que podría funcionar en algunos casos. Gracias.

Muchas cosas malas pueden suceder con la situación que muestra, muchas de las cuales han sido sugeridas por otros anteriormente, pero el daño depende en última instancia del tipo de circuito que tenga para CircuitB.

Lo más importante a evitar son:

  • Hacer que el Circuito B extraiga mucha corriente de los pines del Circuito A, como señaló.
  • Alimentación accidental del circuito B a través de las salidas del circuito A.

Hay un par de soluciones para abordar estos problemas, y dependen completamente de una serie de compensaciones de ingeniería, como todo lo relacionado con la ingeniería.

  • Aislamiento : Usar aislamiento para separar ambos circuitos le dará mejores resultados, pero tiende a ser costoso. Aislar GND le dará, con mucho, los mejores resultados, pero no es necesario.
  • Circuito integrado especial : Utilice circuitos integrados diseñados específicamente para esto. Por ejemplo, el TXB0108 o el SN74AVC4T245 cuentan con la funcionalidad Ioff mencionada por Peter Smith.
  • Buffer Hack : coloque un búfer (74HC244, o algo similar) del circuito A al circuito B, y haga que el pin de habilitación de salida (OE) se active desde el circuito B. Si OE está activo bajo (como lo están la mayoría de los búferes), es posible que necesite que el pin se levante con el suministro del Circuito A y que el Circuito B lo baje a GND. También puede agregar menús desplegables débiles en la salida del búfer para evitar que sus líneas de datos floten. Tendría que duplicar este circuito en la dirección inversa, puede ir desde CircuitB->CircuitA.

Si el Circuito A puede controlar el estado de alimentación del Circuito B, puede hacer trampa y usar un interruptor de carga para vincular VDD2 (del Circuito B) a GND, y luego asegurarse de que los pines de salida del Circuito A estén conectados a GND o triestablecidos con pull- caídas en los pines antes de apagar el circuito B. Pero no creo que esta sea tu situación.

Gracias, ese es un buen resumen y agrega información a las otras respuestas. Todavía no sé cuál aceptar...
Acepte la que crea que responde mejor a su pregunta. A veces encuentro que toma un par de días/semanas antes de que realmente pueda entender todas las respuestas y hacer esa llamada. Necesita hundirse en algunos.