Estoy haciendo un proyecto que consiste en recibir información DMX 512 en un microcontrolador ATXmegaA3u. Implementé con éxito el protocolo utilizando el USART integrado del microcontrolador. Básicamente, 2 errores de cuadro, luego 512 bytes válidos.
Con respecto al lado del hardware, DMX es un protocolo de señal diferencial, por lo que tengo un DMX+ y DMX- que es la otra señal invertida. Actualmente uso solo la línea DMX+ del conector DMX de 3 pines y la tierra conectada directamente a mi pin USART en mi microcontrolador. Todo funciona bien.
Con respecto a la pregunta ahora: ¿tengo que usar un chip tipo MAX485 frente a mi microcontrolador? ¿O el USART del microcontrolador está haciendo exactamente lo mismo pero a bordo? Si es opcional, ¿qué proporcionaría el chip MAX485 que el microcontrolador no pueda hacer?
wiki dice: -
DMX512 emplea señalización diferencial EIA-485 en su capa física, junto con un protocolo de comunicación basado en paquetes de tamaño variable. Es unidireccional.
Por lo tanto, debe usar chips de interfaz RS485. El hecho de que lo tengas funcionando sin un chip de interfaz 485 es pura suerte, pero si intentas transmitir a cualquier distancia sin terminadores y usando una transmisión de un solo extremo en un entorno eléctrico ruidoso con un cable inadecuado, te despegarás.
Eugenio Sh.
Reinderien
CL.
Kevin Isabelle