Control exclusivo sobre actuadores

Me siento un poco estúpido al hacer esta pregunta, pero después de buscar artículos sin éxito y luego comenzar a dibujar mi propia solución con muchos XOR para el siguiente problema, comencé a preguntarme qué tan fundamental era el problema, y ​​que la literatura ya debe tener un solución:

Imagina que tienes dos controladores, uno maestro y otro esclavo. Algún poder externo puede decirle al esclavo que sea el maestro en cualquier momento, por ejemplo, cuando el maestro actual es inalcanzable. Como ambos controladores están conectados a algún actuador, debe haber algún tipo de forma segura de exclusión mutua que evite todos los escenarios de error previsibles. Para acomodar la pérdida de energía o el maestro actual que no revierte su estado de maestro después de que se coronó un nuevo maestro (por ejemplo, si nunca recibió esa información), pensé en dejar que cada controlador produzca señales de salida adicionales, por ejemplo, señalar que el controlador es el maestro, y mezclándolos entre 0 y 1 lógicos (para filtrar algunas constelaciones ilegales, por ejemplo, 1 y 1 que pueden producirse a través de cortocircuitos y similares, o 0 y 0 en caso de pérdida de energía).

¿Hay un nombre para tales mecanismos y hay buenos artículos que describan estos métodos/estrategias de acceso exclusivo?

Véase, por ejemplo, los sistemas informáticos múltiples del transbordador espacial, los sistemas de "quórum", la "alta disponibilidad" en general y "STONITH".
Gracias, estoy realmente interesado en la parte cercana al actuador con una lógica realmente simple que se puede implementar completamente en hardware muy seguro, por ejemplo, solo unos pocos interruptores XOR. Tengo soluciones para las cosas del sistema de nivel superior, solo necesito algún tipo de bloque de construcción de acceso exclusivo basado en hardware simple. Los términos de búsqueda me llevan a los aspectos del sistema de los sistemas a prueba de fallas, pero no a las soluciones de hardware reales.
La expresión STONITH suena genial (en el sentido de divertida), nunca he oído hablar de eso :-)
Para una verdadera redundancia seguramente necesita múltiples actuadores; después de todo, la parte mecánica es la que tiene más probabilidades de fallar. Para seleccionar entre señales de control, ¿quizás un relé en el que cada nodo de control tenga un extremo de la bobina, como un puente H?
Gracias, estoy de acuerdo con la falla de las piezas mecánicas, siempre que se degraden de una manera específica, solo quiero evitar errores imprevistos cuando ambos controles le dan al actuador diferentes comandos.
debe decidir qué acción toma el hardware cuando se realizan dos solicitudes razonables pero contradictorias. ¿Ignora y continúa independientemente o existe un estado seguro predeterminado que el actuador puede adoptar en caso de que se realicen solicitudes contradictorias?
El maestro siempre debe tener el control total, por ejemplo, las señales del sistema esclavo deben descartarse. Solo si el sistema esclavo solicita ser el nuevo maestro y sus otros signos vitales (¿señales adicionales tal vez?) están bien, se debe prohibir que el antiguo maestro controle el actuador.
O tal vez la solicitud de cambio del esclavo no solo se codifica en una línea constante con voltaje, sino que requiere una línea adicional para no llevar voltaje, por ejemplo, para evitar que los cortocircuitos activen falsamente el sistema esclavo.

Respuestas (1)

La exclusión mutua es un término bastante común para este concepto. IBM tiene una patente sobre un concepto más complejo relacionado con el uso de redundancia mutuamente excluyente en un contexto de "votación" plural para la detección de errores. Este concepto también encuentra uso frecuente en el contexto de las normas de seguridad funcional, como IEC 61508 o ISO 26262.

Sin duda, hay formas más elegantes de resolverlo (u optimizarlo), pero esta es una solución bastante sencilla que evita que el maestro y el esclavo tengan control simultáneo.

esquemático

simular este circuito : esquema creado con CircuitLab

Gracias. Como no soy del dominio de la ingeniería eléctrica, todavía tengo algunas preguntas :-) ¿Se supone que la entrada en el puerto de reinicio es cero todo el tiempo (sin voltaje) y algo de bajo voltaje constante si un reinicio debe ¿ocurrir? ¿Quién activa ese puerto de reinicio? ¿Cómo puedo simular esto (CC, barrido de CC, dominio del tiempo)? ¿Qué tipo de simulación se necesita? ¿Tengo que agregar 0 y 1 lógicos antes de los nodos de entrada para obtener una simulación? ¿Pueden las entradas maestra y esclava ser cualquier tipo de señal, por ejemplo, voltaje constante modulado? Muchas gracias.
Algunos microcontroladores empujarán un determinado pin alto o abrirán un drenaje cuando estén operativos, en cuyo caso se puede usar un pull-down o pull-up en el estado no operativo para lograr el nivel opuesto, dando una buena indicación del estado operativo. del micro. Otros micros tienen una salida que indica si el micro está en un estado de reinicio (alimentado). Incluso sin una funcionalidad dedicada, esto podría lograrse con un GPIO que se establece alto o bajo al inicio (para lidiar con una señal de reinicio activo-bajo, simplemente mueva la puerta NOT a la otra puerta AND y cambie el pull-up a pull -abajo).
En esencia, el circuito anterior es un simple multiplexor 2x1, donde la línea "Master reset out" es la entrada de selección. Las señales maestra y esclava pueden ser cualquier cosa que desee, dentro de los límites de las restricciones lógicas digitales que defina para el sistema. En cuanto a la simulación, no soy la persona más calificada aquí para responder a eso, así que me abstendré de enturbiar las aguas con un intento.