Найти тему
e_Lectra

Эмулятор блоков управления ДВС и АКПП.

Одно дело написать код и собрать плату для CAN адаптера и совсем другое его протестировать.
Первые адаптеры на двигатели VQ35 тестировались сразу на Газелях и как показала практика это оказалось неудобно, потому что если что-то вдруг не работало, то приходилось бегать туда-сюда между машиной и компьютером перезаливать исправленный код. И вот чтобы так больше не бегать и придумали эмулятор блоков эбу и акпп, который мы между собой называем EFI (как блок EFI у Тойоты). К тому же в планах было сделать адаптер для щитка приборов Теаны J32 и все это тоже нужно было как-то проверять на работоспособность.

Оба эмулятора и проводка
Оба эмулятора и проводка

У эмулятора было три главных функций:
1) прием пакетов от адаптера.
2) отправка по CAN шине изменяющихся параметров тахометра, спидометра, заднего хода (мы называем это режимами и их всего пять) и пакета с корректировками данных.
3) отображение параметров, ошибок по CAN шине и режимов.

Первая версия платы сделана методом ЛУТа, собрана на ATmega88p. Плата получилась максимально простая и свои функции выполняла несмотря на то, что выглядит страшненько.

Первая версия эмулятора. Страааашный…🙈
Первая версия эмулятора. Страааашный…🙈

Плата готова и следующим шагом была сборка простенькой проводки с фишками на адаптер, щиток Бизнеса (на тот момент был только он) и CAN Hacker.
Программа тоже получилась немудренной. Хотя некоторые моменты вызывали вопросы. Например, отображение ошибок по CAN шине. Нужно было сперва найти какие ошибки в адаптере появляются чаще других, а же потом добавлять их обработку в эмулятор.
Постепенно в режимы добавлялись всевозможные параметры. Изначально отправлялись данные по спидометру, тахометру, температуре и напряжению. Позже были добавлены PRND и педали акселератора.
Со временем имеющихся функций стало мало, а добавить новые для тестирования адаптеров с двумя CAN шинами не получалось из-за ограниченных возможностей платы и контроллера. Поэтому и разработали новую версию эмулятора, который уже работает и с щитком Бизнеса и Некста. Вторую версию сделали под ATmega64 и заказали в Китае.

И вот какие новые функция появились:
1) отправка в аналоге температуры, аварийного давления масла, уровня топлива.
2) отправка данных по CAN шине для работы с двигателями Тойоты, Хонды, ЗМЗ. Для Некста в дополнение отправлялся мгновенный расход и напряжение.
3) индикация входных сигналов спидометра, тахометра и температуры, но позже убрали т.к. не использовали эту функцию.
4) возможность тестировать адаптер спидометра и тахометра для Бизнеса.

Вторая версия эмулятора
Вторая версия эмулятора
Щитки NEXT и Бизнес. Бизнес стал похож на чудовище Франкенштейна.
Щитки NEXT и Бизнес. Бизнес стал похож на чудовище Франкенштейна.

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

Как результат теперь полная проверка от запайки до кода и настройка CAN адаптера во всех возможных конфигурациях занимает не больше десяти минут. А если какая-то функция в адаптере не работает и эмулятор этого не отображает, то на помощь уже приходят CAN Hacker и осциллограф.

Здесь можно посмотреть как работает первый эмулятор.