Electronic – use a Max485 chip in front of an ATXMega microcontroller

atxmegadmx512rs485uart

I'm doing a project which involves receiving DMX 512 information on an ATXmegaA3u microcontroller. I've successfully implemented the protocol using the onboard USART of the microcontroller. Basically, 2 frame errors, then 512 valid bytes.

Regarding the hardware side, DMX is a differential signal protocol, so I have a DMX+ and DMX- which is the other signal inverted. I currently use only the DMX+ line of the 3 pin dmx connector and the ground connected directly to my USART pin on my microcontroller. It all works fine.

Regarding the question now: do I have to use a MAX485 type chip in front of my microcontroller? Or is the USART of the microcontroller doing exactly the same thing but onboard? If optionnal, what would the MAX485 chip provide that the microcontroller cannot do?

Best Answer

Wiki says: -

DMX512 employs EIA-485 differential signaling at its physical layer, in conjunction with a variable-size, packet-based communication protocol. It is unidirectional.

So you need to use RS485 interface chips. The fact you have got it working without a 485 interface chip is pure luck but, if you try and transmit any distance without terminators and using a single ended transmission in an electrical noisy environment with inappropriate cable, you'll come unstuck.