Кейс · Контроллер Stm / заказчик кастомных решений для Toyota
Прошивка CAN-модуля для кастомной коробки Toyota
Разработка и переписывание прошивки STM32 для CAN-модуля: шесть входов — шесть команд по шине, поддержка новых автомобилей Toyota

Кейс
О проекте
О проекте
Клиент обратился с готовым устройством — CAN-модулем для кастомной коробки (адаптер/интерфейс под автомобили Toyota). С расширением парка поддерживаемых автомобилей потребовалось обновить логику устройства. Исходный код был утерян, поэтому мы с нуля восстановили и переписали прошивку под актуальные требования.
Задачи
- Восстановить логику работы устройства без исходников (реверс по ТЗ и поведению)
- Реализовать отправку шести разных команд по CAN при задействовании шести цифровых входов
- Добавить седьмую команду при одновременном нажатии нескольких входов или отсутствии сигнала
- Обеспечить обработку входов по прерываниям с периодом 100 мс
- Сохранить совместимость с существующим железом и разводкой (PA11/PA12 — CAN, PA13/PA14 — прошивка по SWD)
Техническая платформа
- Микроконтроллер: STM32F042F6P6
- Тактирование: внешний кварц 8 МГц
- CAN: 500 кбит/с, приём (PA11) и передача (PA12)
- Входы: PA0, PA1, PA2, PA3, PA4, PA5 — по высокому уровню с прерыванием
- Прошивка: через SWD (PA13, PA14), автономная работа без ПК
Реализованная логика
Каждому входу соответствует своя CAN-команда (ID 0x3F7, DLC 4, уникальный байт данных). При отсутствии активных сигналов или при нескольких активных входах отправляется отдельная команда — устройство ведёт себя предсказуемо в любом сочетании нажатий.
Интеграция с экосистемой заказчика
В рамках проекта учитывалась связка с TunerStudio и INI-файлами для калибровки и отладки (Torneo/электроника автомобиля). Параметры и адреса согласовывались с конфигурацией на стороне заказчика, что позволило быстро проверять работу на стенде и в автомобиле.
Результаты
- Прошивка полностью переписана под актуальное ТЗ, исходники переданы заказчику
- Корректная работа с тактированием и CAN на 500 кбит/с
- Надёжная обработка входов по прерываниям с интервалом 100 мс
- Учтены особенности железа (в т.ч. вывод PB8 на GND по мануалу для стабильного запуска)
- Устройство готово к работе с новыми автомобилями Toyota в составе кастомной коробки
Технологии
ASTAR IT
Есть похожая задача?
Расскажите о процессе, который нужно запустить, объединить или автоматизировать.