Я делаю проект, который включает в себя получение информации DMX 512 на микроконтроллере ATXmegaA3u. Я успешно реализовал протокол, используя встроенный USART микроконтроллера. По сути, 2 ошибки кадра, затем 512 действительных байтов.
Что касается аппаратной стороны, DMX — это протокол дифференциального сигнала, поэтому у меня есть DMX+ и DMX-, которые являются другим инвертированным сигналом. В настоящее время я использую только линию DMX+ 3-контактного разъема DMX и землю, подключенную непосредственно к моему контакту USART на моем микроконтроллере. Все работает нормально.
Что касается вопроса сейчас: должен ли я использовать микросхему типа MAX485 перед моим микроконтроллером? Или USART микроконтроллера делает то же самое, но на борту? Если необязательно, что чип MAX485 может обеспечить, чего не может сделать микроконтроллер?
Вики говорит: -
DMX512 использует дифференциальную сигнализацию EIA-485 на своем физическом уровне в сочетании с пакетным протоколом связи переменного размера. Он однонаправленный.
Поэтому вам нужно использовать микросхемы интерфейса RS485. Тот факт, что он работает без чипа интерфейса 485, является чистой удачей, но если вы попытаетесь передать на любое расстояние без терминаторов и с использованием несимметричной передачи в среде с электрическими шумами и неподходящим кабелем, вы не застрянете.
Евгений Ш.
Рейндериен
кл.
Кевин Изабель