Эмуляторы датчиков для VAG-группы оказались вообще универсальными. Главная сложность с эмуляторами - правильно представлять САМО физическое поведение эмулируемой системы, и затем его имитировать. Для примера - имитируем ДМРВ (ФОРД). Для этого:
1. Необходимо посылать в шину 2 сообщения со своими идентификаторами. Одно шлется только в ответ на соответствующий запрос ЭБУ (когда он придет), второе - периодически один раз в 32 мс.
2. Данные условно можно разделить так: служебные данные и непосредственно измеряемые данные. ЭБУ с некоторой периодичностью отправляет сообщение - запрос, в котором содержится, в частности, информация о режиме работы датчика ДМРВ (оказывается, у ФОРД их несколько и по команде от ЭБУ ДМРВ должен в них как бы "переключаться", а вот, отчего режимы зависят - до конца не ясно, - нужно углубленно изучить трейсы с реальной машины при реальной езде). Ну, и собственно, данные о расходе (это в периодическом сообщении от ДМРВ), в формате 4 байта (двойной точности) - в м.куб/сек.
Некоторые байты чисто булевы - ("есть связь - нет связи", результаты самодиагностики датчика "исправен-неисправен" и т.д.), некоторые (их 2 - по одному для каждого 8-мибайтного сообщения) - всегда имеют значение 0 - по-видимому, зарезервированы, а сейчас не используются.. и т.д.
Основная сложность в эмуляции - понять как переключаются режимы и от чего это зависит...
То есть в общем эмулятор готов, однако, к нему нужна программная надстройка имитирующая его поведение. В настоящий момент, при совместной работе готовых эмуляторов датчиков скорости, ХХ, газа, ДМРВ, машина "глохнет" через 20-25 сек работы, при этом диагностика передает, что причина - ДМРВ (неверный режим)..
Как-то так.
Остальные байты в этих двух
|