Sistema de notificación de múltiples terminales para realizar llamadas entre habitaciones

TL, DR: ¿Cómo implementar un sistema de notificación con múltiples dispositivos terminales, que permita realizar llamadas desde cualquier terminal a cualquier otro terminal? Las principales limitaciones son no usar chips/MCU programables (solo lógica dura especializada y de uso general), usar comunicación por cable en lugar de inalámbrica, no tener un cable separado entre cada dos terminales, tener una sola fuente de alimentación en lugar de baterías en todas partes. No es necesario transmitir voz o texto, solo notificaciones dirigidas al estilo "timbre entre dos habitaciones". El receptor debe saber quién envió la notificación.

Esta es mi primera pregunta sobre Ingeniería Eléctrica SE. Soy aficionado a la electrónica. Me considero principiante.

Me gustaría implementar en mi hogar una especie de sistema de notificación para hacer llamadas entre habitaciones, ya sea diseñándolo yo mismo o encontrando un diseño existente. La idea básica es que habrá varios dispositivos terminales (a continuación llamados "terminales") A, B, C, D, ... en diferentes lugares. Cada terminal tendrá un botón separado para cada otro terminal (por ejemplo, el terminal A tendrá los botones "B", "C", "D", etc.), un LED separado para cada otro terminal (por lo tanto, el terminal A tendrá los LED "B"). ”, “C”, “D”, etc.) y un timbre (como el timbre eléctrico habitual). Los botones se utilizarán para realizar llamadas y los LED indicarán quién llama.

Cómo debería funcionar

Supongamos que a Alice (que actualmente se encuentra cerca de la terminal A) le gustaría llamar a Bob (que actualmente se encuentra cerca de la terminal B). Luego, Alice presiona el botón "B" en el dispositivo terminal A. Como resultado, el LED marcado con "A" se enciende en el terminal B y suena el timbre en el terminal B. Las terminales C, D, etc. permanecen en silencio. Bob escucha el timbre y ve el LED y va a la terminal A para ver/preguntar qué pasó.

Elaboración adicional

Habrá como máximo 16 terminales y como mínimo 5 terminales.

En lugar de varios LED, puede haber una o dos pantallas de siete segmentos en cada terminal para mostrar la identificación de la persona que llama.

Opcionalmente, también habrá un botón "llamar a todos los demás terminales a la vez", por ejemplo, para llamar a B, C, D, etc. desde A simultáneamente. Esto (así como otras características opcionales) dependerá en gran medida de si simplifica o complica las cosas.

alambres

Todos los terminales se alimentarán de una sola fuente de alimentación (en lugar de tener baterías en cada terminal), por lo que al menos dos cables pasarán por todos los terminales (Vcc y GND). Según los esquemas, es posible que se necesite un tercer cable de alimentación. Además, se prefiere la comunicación por cable de baja frecuencia a la comunicación inalámbrica de alta frecuencia por varias razones, incluida la falta de experiencia con las frecuencias de radio. Deben ser aceptables hasta 8 cables adicionales para comunicación (es decir, sin contar los cables de alimentación), con todos los cables juntándose en un solo punto (la ubicación de la fuente de alimentación). Alternativamente, podría haber un dispositivo de mediación adicional que esté conectado a cada terminal.

Llamadas simultáneas

Puede haber problemas si se realizan dos llamadas simultáneamente desde diferentes terminales. Esto se puede mitigar bloqueando los terminales B, C, D una vez que se activa el terminal A y desbloqueándolos una vez que se desactiva A. De todos modos, este problema se puede ignorar por completo, suponiendo que cualquier combinación de llamadas simultáneas no destruya el circuito.

Diseño

Tengo una idea (todavía aproximada, sin esquema todavía) de cómo lograr el proyecto anterior con lógica dura de propósito general (puertas, contadores, codificadores, decodificadores). Cada terminal puede enviar dos ráfagas de impulsos, una ráfaga de codificación de llamador, otra ráfaga de codificación de receptor. Uno o dos cables de comunicación pueden ser suficientes. Esto parece ser no trivial pero viable. Tal vez tendré que encontrar a alguien que revise mis esquemas antes de intentar implementarlo.

Sin embargo, tengo la fuerte sensación de que este o un problema similar ya está resuelto e implementado en algunos circuitos integrados especializados o módulos electrónicos que se pueden enchufar con adiciones mínimas o moderadas. Sin embargo, no estoy seguro de cómo buscar una solución de este tipo, así como si el costo será viable para mí. Mis intentos de "timbre multidireccional", "sistema de notificación del hogar" y varias otras consultas no proporcionaron nada relevante.

Tal vez los controles remotos podrían reutilizarse en terminales (parte que llama), con diferentes comandos para diferentes receptores y diferentes protocolos para diferentes personas que llaman, pero entonces cada receptor debe poder entender a todas las personas que llaman (¿múltiples módulos de recepción en cada terminal?), o hay debe haber al menos 20 comandos diferentes compatibles con el control remoto (para cubrir 5 terminales) a 240 comandos diferentes compatibles (para cubrir 16 terminales). Sin embargo, no investigué de cerca la idea con los controles remotos.

Preguntas)

¿Puede señalar una solución existente con múltiples dispositivos terminales "pares" que está destinada principalmente a realizar notificaciones simples que no sean de voz? ¿O alguna idea de cómo podría implementarse esto? ¿O a lugares existentes en la web donde se discute lo mismo con un nombre diferente o en un entorno diferente? ¿Existen soluciones existentes para otros problemas (como los controles remotos) que podrían adaptarse para este propósito?

Tenga en cuenta que no aceptaré respuestas que sugieran chips/microcontroladores/cualquier cosa programable que deba programarse, incluso si esto realmente simplificará el resto del circuito. (¡No digo que tales respuestas sean totalmente inútiles, ya que otras personas con diferentes habilidades pueden tener el mismo problema! Además, algunos puentes o microinterruptores dentro de cada dispositivo terminal para asignar ID únicos a las terminales son aceptables, aunque esto puede considerarse 'programación'.)

Si nada más, intentaré usar puertas y contadores. Incluso si todo el asunto resulta inviable para mí en este punto, estaré encantado de saber cuáles son las posibilidades existentes.

¡Cualquier entrada es bienvenida!

Esto es difícil de leer.
@MarkoBuršič: ¿Por qué? ¿Demasiado largo, mal formato, mal lenguaje, terminología incorrecta? El inglés no es mi lengua materna.
Demasiado largo. Realmente no nos importan sus antecedentes, proyectos anteriores y cómo se construyeron. Ni su investigación de mercado. Indique el resumen de su pregunta preferiblemente al principio y luego amplíe si es realmente necesario. Y asegúrese de que la pregunta se pueda responder sin escribir más de media página de texto. Y no estamos recomendando productos.
Solo intento acortar el texto. Mi "investigación de mercado" fue en realidad preguntarle a mi familia qué pensaban al respecto. Eliminado de todos modos.

Respuestas (1)

Interesante. Por supuesto, cualquier persona en su sano juicio usaría un microcontrolador para esto, como Arduino . Pero si realmente desea una solución de "lógica dura", le propondría basarla en un chip UART independiente, suponiendo que todavía estén disponibles. Aquí hay un diagrama de bloques funcional que explica el concepto.

esquemático

simular este circuito : esquema creado con CircuitLab

U12 es un interruptor DIP que se utiliza para identificar el terminal en particular (ID de fuente).

U2 es un chip de "codificador de teclado", que emite el número de clave (ID de destino) junto con una luz estroboscópica "válida" que indica que se presionó una tecla. Nunca especificó cuánto tiempo desea que persista la pantalla, por lo que asumo que es solo mientras se presiona la tecla. Por lo tanto, cada pulsación de tecla envía dos mensajes, uno al presionar la tecla y otro al presionar la tecla. El mensaje de apertura de llave envía la propia identificación de la terminal como la identificación de destino, que los receptores interpretarán como "apagar la pantalla".

U3 es un multiplexor que selecciona la salida del teclado para tecla abajo y la propia ID del terminal para tecla arriba, y U4 convierte los bordes de la señal "válida" en luces estroboscópicas para el transmisor UART.

El transmisor UART serializa los dos códigos de 4 bits como un byte de 8 bits, que luego salen de los receptores de todos los terminales. Si la ID de destino coincide con la ID propia de la terminal (determinada por U7), la pantalla se habilita y muestra la ID de origen del mensaje. Si el ID de destino coincide con el ID de origen en el mensaje (determinado por U11), entonces la pantalla se apaga. El flip-flop U10 recuerda el estado de la pantalla y U8 funciona como decodificador para la pantalla (U9), que puede ser LED individuales o pantallas de 7 segmentos.

La casilla marcada como "Bus o Hub" representa las conexiones entre todos los terminales. Podría usar RS-232 como interfaz de señalización, en cuyo caso, necesitaría un concentrador que combine todas las señales del transmisor y las reenvíe a todos los receptores. O podría usar RS-485 como interfaz de señalización, lo que le permitiría simplemente conectar todos los terminales junto con la distribución de energía.

Agregar la función "llamar a todos" se agregaría más fácilmente dedicando uno de los ID de destino (por ejemplo, 0xF) a esta función. Solo podría tener 15 terminales, pero solo requeriría un poco de lógica adicional en el receptor para verificar si esta ID específica ingresa para habilitar la pantalla.

Cada una de las cajas que se muestran en este diagrama está disponible como un solo chip (SSI/MSI TTL más el UART).

Necesitará tiempo para digerir su respuesta. Parece que no es difícil modificar la lógica para que la visualización persista durante varios segundos, y luego está bien de cualquier manera. Gracias por escribir.
Veo como hacer esquemas de todo a la izquierda de la UART (U5 y U6) pero tengo problemas con el resto. Según tengo entendido, U5 tiene 8 pines de datos, 1 pin estroboscópico, pines que van al bus y quizás pines para establecer parámetros; U6 tiene pin(es) del bus, 8 pines de datos y pines para establecer parámetros. Encontré la hoja de datos HD-6402 que solo muestra la interfaz con RS-232 (se necesita un concentrador) y parece no estar disponible en las tiendas locales (así como en otros UART independientes). Tampoco encontré ningún ejemplo de esquemas de la vida real con UART independientes. Tal vez deseche el UART y use más cables para transmitir en paralelo...
Eso requeriría muchos cables: 9 para transmitir y 9 para recibir (8 datos + luz estroboscópica). Podría ser posible reemplazar el UART con algunos registros de desplazamiento simples si se distribuye un reloj común a todos los terminales. Lo pensaré un poco.
Gracias; Estoy interesado en el posible reemplazo de UART y esperaré posibles actualizaciones. Si no me falta nada, la llamada y la recepción se pueden realizar a través de los mismos 9 cables. Al llamar, se envían dos ID de 4 bits y una señal "válida". En el extremo receptor, la señal "válida" se aplica AND con la salida de U7 para habilitar la pantalla y la campana. Dos llamadas simultáneas (aunque es poco probable) harán una llamada incorrecta. Además, es posible usar solo 8 cables, ya que se garantiza que al menos uno de los 8 cables sea de alto nivel durante la llamada (a menos que la persona que llama = receptor = 0), lo que puede interpretarse como una señal "válida".