Tengo una línea CAT 5 con 12 dispositivos DMX, cada uno con 4 canales.
También tengo una línea CAT 5 con 8 microcontroladores (por ejemplo, Arduinos). Estos controladores necesitan devolver datos y requieren detección de errores.
Ambas cadenas tienen el mismo diseño 8P8C. Me gustaría encadenar las dos líneas con las siguientes reglas de comunicación:
1) 250,000 baudios (para DMX512), 8N2
2) El maestro envía marcos DMX512 como mínimo una vez por segundo con el byte de inicio estándar (nulo)
3) Cuando hay tiempo suficiente para completar una comunicación, el maestro envía un paquete codificado con SLIP con la verificación de integridad CRC-CCITT. El paquete incluye una dirección que le dice a uno de los controladores que responda con un paquete codificado con SLIP con verificación de integridad CRC-CCITT. La comunicación está prefijada por un byte FIN para asegurar la interpretación como un nuevo paquete.
Tengo entendido que dado que todos los paquetes SLIP comenzarían con 0xC0
, los dispositivos DMX los ignorarán. Los dispositivos DMX solo aceptarían datos con el conjuro mágico DMX (break, mab, 0x00
, ...).
De manera similar, los microcontroladores descartarían todos los mensajes DMX porque no comenzarían emitiendo 0xC0
, y si se encuentra un 0xC0
en el mensaje, el paquete que sigue fallará en la correspondiente verificación de integridad.
¿Cuáles son las advertencias de este enfoque? ¿Entiendo mal cómo DMX manejará los mensajes de SLIP? ¿Tendría más sentido que los microcontroladores implementen RDM?
En caso de que no esté claro, controlo todos los aspectos del maestro y de los microcontroladores, pero los dispositivos DMX están disponibles en el mercado.