Реинжиниринг · электроника + прошивка

Реинжиниринг электронного DALI-модуля: от чужого устройства без документации до собственной платформы

Исследовали работу закрытого преобразователя DALI/RS-485, восстановили электрическую схему и протокол обмена, перевели устройство с 8-битного контроллера на STM32F103, разработали собственную плату и прошивку — а затем расширили решение с DALI-1 до DALI-2.

ЭлектроникаEmbeddedDALI / RS-485STM32F103DALI-1 → DALI-2

Готовый модуль стал точкой риска для всего продукта

Компания проектирует приборы управления освещением для коммерческих и промышленных применений. В одном из решений использовался готовый модуль-преобразователь между шиной DALI и интерфейсом RS-485 — он связывал светильники и датчики с системой управления верхнего уровня.

Стабильно закупать этот модуль стало сложно, а его дальнейшая доступность оставалась неопределённой. Для компании, которая выпускает собственное оборудование, зависимость от одного закрытого импортного модуля означала риск для всей линейки.

Нестабильная доступность модуля
Закрытая прошивка
Нет исходной схемы и документации
Невозможно модернизировать
Зависимость от одного поставщика
Поддержка только DALI-1

Не скопировать плату, а восстановить и заново спроектировать систему

Исходной схемы, прошивки и описания внутреннего протокола у команды не было. Задачу нельзя было решить заменой пары компонентов — требовалось понять устройство как систему и создать собственную платформу, которую заказчик сможет производить, развивать и встраивать в свои продукты.

исследовать исходный модульвосстановить электрическую схемурасшифровать протокол обменаразработать собственную платузаменить 8-битный контроллервоспроизвести логику DALI/RS-485подготовить корпусное устройствозаложить основу для DALI-2

Собрали стенд и наблюдали устройство с двух сторон

Работа началась не с новой платы, а с исследования исходной системы в реальных условиях. Оригинальный модуль подключили к системе на базе Niagara Framework, собрали DALI-линию с источниками освещения и датчиками, а анализаторы установили одновременно на шину DALI и на интерфейс RS-485.

Через систему верхнего уровня последовательно вызывали команды — включение, выключение, изменение яркости, запросы состояния — и параллельно фиксировали, что модуль принял по RS-485 и какую команду сформировал в DALI. Так же исследовали обратный путь: ответ устройства и его преобразование обратно в RS-485.

Niagara Framework
RS-485-анализатор
Исходный модуль
DALI-анализатор
Светильники и датчики

Восстановили логику закрытого обмена экспериментально

Внутренний формат обмена не был документирован — его восстанавливали серией контролируемых экспериментов. В каждом меняли ровно один параметр — адрес, код команды, значение яркости, тип запроса — и сравнивали записанные пакеты на обеих сторонах.

Сопоставление показало структуру команд, назначение полей, способ адресации, формат ответов и — главное — соответствие между командой RS-485 и командой DALI, которую модуль из неё делал.

RS-485
▮ пакет 1▮ пакет 2▮ пакет 3▮ пакет 4
DALI
▮ пакет 1▮ пакет 2▮ пакет 3▮ пакет 4

Схема соответствия пакетов (обезличенная): каждому пакету RS-485 сопоставлена команда DALI. Реальные значения протокола не публикуются.

Разобрали устройство и восстановили его электрическую архитектуру

Параллельно исходный модуль разобрали. По элементной базе и трассировке платы восстановили принципиальную электрическую схему: цепи питания, физический интерфейс DALI, интерфейс RS-485, подключение микроконтроллера, защитные и сервисные узлы.

Это позволило понять не только программное поведение модуля, но и физический принцип его работы — и увидеть, какие решения исходной схемы можно использовать, а какие ограничены устаревшим 8-битным контроллером.

PowerDALIRS-485MCUЗащита

Перешли с 8-битного контроллера на STM32F103

Устаревшую архитектуру решили не повторять буквально. Основой нового устройства стал 32-битный STM32F103 — он дал ресурс для собственной реализации протоколов, диагностики, доработок и последующего перехода к DALI-2.

Было
8-битный контроллер
Стало
STM32F103
Было
Закрытая прошивка
Стало
Собственная прошивка
Было
Фиксированная функциональность
Стало
Контролируемая архитектура
Было
Зависимость от готового модуля
Стало
Собственная плата
Было
Только DALI-1
Стало
Возможность развития до DALI-2

Сначала макет, затем собственная плата под новый корпус

На основе восстановленных принципов разработали собственную электронную схему — не копию исходной: отдельные узлы переработали и дополнили с учётом нового микроконтроллера, выбранного корпуса и требований к производству.

Сначала собрали макет и проверили на нём работу интерфейсов и базовую логику прошивки. Затем разработали печатную плату, адаптировали под корпус, изготовили несколько опытных экземпляров и выполнили аппаратную отладку.

  1. 1Исходный модуль
  2. 2Разобранное устройство
  3. 3Восстановленная схема
  4. 4Макет
  5. 5Первая своя плата
  6. 6Плата в корпусе
  7. 7Финальный DALI-2-модуль
3D-модель собственной печатной платы DALI-модуля на STM32F103
Собственная печатная плата: разработана на основе восстановленных принципов, не копия исходной.

С нуля написали встроенное ПО для DALI и RS-485

Прошивка состояла из двух контуров. Один работал с шиной DALI: формирование команд, тайминги, приём и разбор ответов, обработка состояний устройств. Второй — с RS-485: приём команд системы верхнего уровня, разбор пакетов, преобразование в действие DALI и формирование ответа.

Ядро устройства

принять команду по RS-485 → интерпретировать → выполнить действие на DALI → получить результат → преобразовать в ответ RS-485.

RS-485 RX
Parser
Command Logic
DALI TX/RX
Response Logic
RS-485 TX

Схема архитектуры прошивки, а не реконструкция исходного кода: прошивка исходного модуля не анализировалась.

Проверили устройство на реальном оборудовании

Собранные платы испытывали на стенде с источниками освещения, датчиками и системой управления — проверяли всю цепочку передачи команд и получения состояний.

команды управлениярегулирование яркостиадресацияответы устройствсостояния и ошибкиработа RS-485работа DALIнесколько опытных плат

Развили первую версию до поддержки DALI-2

Первая версия воспроизводила функции исходного DALI-1-модуля. Затем заказчику потребовался DALI-2 — прошивку расширили, дополнили реализацию протокола, адаптировали обмен по RS-485.

DALI-1
обновление прошивки
DALI-2

Здесь и проявилось раннее архитектурное решение: запас STM32F103 позволил развить устройство программно, без разработки новой платы с нуля. Если бы 8-битный контроллер просто скопировали, модернизация была бы существенно сложнее. Поддержка DALI-2 реализована в необходимом для проекта объёме.

Из зависимого компонента — в собственную технологическую платформу

собственная электрическая схема
собственная печатная плата
STM32F103
собственная прошивка
DALI и RS-485
DALI-1 и DALI-2
корпусное исполнение
возможность производства в России
возможность модернизации
интеграция с ПО заказчика

Заказчик получил не временную замену недоступного компонента, а собственное устройство, архитектуру которого можно контролировать, производить, изменять и развивать — без привязки к закрытой архитектуре исходного модуля.

Для интеграции устройства с программной платформой заказчика позднее был разработан отдельный Java-модуль — это самостоятельная программная история.

Берёмся за устройство целиком — от платы до протокола

реинжиниринг электроникивосстановление схем по платеанализ закрытых протоколовRS-485 и промышленные шиныDALIразработка на STM32встраиваемое ПОпроектирование печатных платмакетирование и опытная серияаппаратная и программная отладкамодернизация устройствзамена труднодоступных модулейинтеграция электроники с ПО

Есть устройство, которое невозможно купить или развивать?

Изучим существующий образец, восстановим его архитектуру, оценим возможность замены и предложим путь от лабораторного анализа до собственной платы и прошивки.

Для предварительной оценки обычно достаточно фотографий платы, описания функций и интерфейсов и информации о том, что нужно сохранить или изменить.