Ethernet to DMX512 / используется W5500 и FreeRTOS

Позвольте мне рассказать вам, как эффективно реализовать подключение Ethernet к DMX512 с помощью W5500 и FreeRTOS.

Оригинал статьи на английском языке - Ethernet to DMX512 : 3 Steps - Instructables

Шаг 1: Вещи, которые нужно подготовить.

image image

  1. Любая плата, содержащая MCU и W5500.

Моя специальная плата, которую я подготовил, имеет STM32f103VC (cortex m3) и Wiznet W5500 TCP/IP IC.

Если хотите, напишите мне по электронной почте. Я вышлю вам все (схема колодок, файл с изображением и файл gerber) Мой адрес электронной почты: bangbh@gmail.com

  1. IDE.
    Все должно соответствовать вашей платформе (board). Я использовал CoIDE.

  2. Исходный код
    EthernetDMX512-master.zip (6.5 МБ)
    GitHub - bangbh81/EthernetDMX512: EthernetDMX512 using freeRTOS

Шаг 2: Скомпилируйте и загрузите во Flash.

image
image
image

1. Возможно, мой исходный код не совместим с вашей платформой (board). Таким образом, вы должны изменить исходный код. Мой исходный код только для справки.

Исходный код имеет 3 задачи. Задача DMX512, задача TCP и задача времени (задача времени не имеет смысла).

  1. Скомпилируйте и скачайте.

Шаг 3: Тест


image
image

  1. На самом деле протокол DMX512 составляет всего 250 кбит/с, 2 стоповых бита в одностороннем режиме. И аппаратный интерфейс RS-485. Поэтому вы должны проверить форму сигнала на выводе uart tx.

  2. Невозможно проверить полную форму волны dmx512, потому что пакет dmx512 составляет 513 байт. Просто проверьте только начало пакета.

  3. Протокол Ethernet очень прост. Задача TCP запускается как сервер TCP, а данные TCP составляют всего 5 байт.

STX(1) - Адрес DMX512(2) - Данные DMX512(1) - ETX(1)

EX) Адрес: 5, данные: 0xff => 0x02|0x00|0x05|0xff|0x03

Вы можете протестировать его любым TCP-инструментом, таким как Hercules.

  1. Если вы хотите идеально реализовать dmx512, добавьте в схему микросхему передатчика RS485.