Начало
Вопросы и ответы
Железо
    Серии EEC-IV
    Коды ошибок
    Список параметров
Софт
    Подключение
    Профили данных
    Протокол обмена
Заказать адаптер

Новости проекта

30/09/2013 — организовываем промышленное производство адаптеров, принимаются только предзаказы.

24/05/2012 — AlphaReader 0.95 с определением некоторых данных по подключаемому EEC-IV.

9/05/2012 — Прошивка 1.24.

24/04/2012 — AlphaReader 0.93 промежуточный. И следом 0.94 с исправлениями надписей.

...

Ссылки

Обсуждение на Эскорт-клубе
Обсуждение на Мондео-клубе
Частичное описание протокола DCL

Диагностическая программа AlphaReader

Обновление прошивки модуля 1.24

Вопросы и ответы по проекту диагностики EEC-IV

Как реализован диагностический интерфейс в EEC-IV?

До появления стандарта OBD-II каждый автопроизводитель изобретал свои методы для диагностики. Фордовские инженеры решили использовать стандарт RS-485. Это весьма удобный и помехозащищённый двухпроводной интерфейс, позволяющий подключать несколько устройств одновременно. Видимо, фордовцы планировали повесить на эту диагностику в будущем другие модули автомобиля (в протоколе DCL зарезервированы такие возможности), однако пришёл OBD-II, затем CAN и про это забыли… Впрочем, ладно. У RS-485, применённом для диагностики фордом, мне видятся всего два недостатка — уровни напряжений +5В (хотя от подачи +12В интерфейс защищён) и, в своём роде, уникальность, приведшая к тому, что производителям популярных бортовых компьютеров оказалось лень внедрять входы RS-485, притом что большинство остальных автомобилей диагностируются по K-линии (+12В).

По-видимому, у большинства версий EEC-IV выпуска после 1992 года диагностический интерфейс выведен на ножки 18 и 19 разъёма, а дальше у автомобилей выпуска до 95 года два провода с этих ножек выведены в виде болтающегося двухконтактного разъёма под капот, а начиная с 95 года на 16-контактный разъём стандарта OBD-II на выводы 3 и 11, которые в большинстве источников описаны как «OEM», т.е. "отданные на откуп производителям".

Напряжение, замеренное между линиями диагностического интерфейса, должно быть от 4.5 до 5.1 Вольт. Если измерить напряжение между каждой из линий и землей, то выйдет примерно 0.8 Вольт и 5.2 Вольт. Замыкание линий между собой и на землю, как и переполюсовка при подключении диагностики или линий питания напряжением до +12 вольт обойдутся без последствий.

Какие у протокола DCL возможности и что на их основе можно сделать?

Во время работы двигателя управляющий контроллер EEC-IV постоянно анализирует сигналы с датчиков и, при возникновении нештатной с его точки зрения комбинации сигналов, фиксирует соответствующий код ошибки в памяти (Continuous Fault Codes). При этом код остаётся в памяти даже после исправления нештаной комбинации (жаль не поддеживается стандартная для OBD-II возможность Freeze frame). DCL позволяет в режиме диагностики считать эти коды, а затем стереть их.

Помимо самодиагностики в процессе работы, есть возможность инициировать в EEC-IV режим принудительной более тщательной самодиагностики. Таких режимов два:

После завершения теста контроллер выдаёт результат в виде кодов ошибок (или код 111 — если всё ОК).

Вышеупомянутые возможности, кстати говоря, были доступны и без протокола DCL, в старых версиях EEC-IV в виде так называемых "быстрых" и "медленных" кодов. Однако следующая функция доступна только по DCL и открывает намного более широкие возможности диагностики — это функция чтения всех параметров двигателя в реальном времени и позволяет она сделать многое:

Также DCL позволяет считывать содержимое всей памяти контроллера (оперативной RAM и постоянной ROM). В оперативной памяти хранятся все текущие параметры работы двигателя и, зная их адреса, можно абсолютно точно контролировать все аспекты его работы. А считав постоянную память, можно внести изменения в таблицы работы двигателя и "зашить" обновлённый образ ROM в чип или в эмулятор чипа на разъёме J3 (впрочем, это уже совсем другой проект).

Что представляет собой диагностический адаптер?

По каким-то неизвестным причинам (хотя скорее всего из-за недостатка ресурсов чипа) протокол DCL сделан синхронным. Это означает, что передача и приём данных при общении с контроллером строго синхронизированы по времени. Настолько строго, что времени реакции компьютера (особенно под управлением Windows) и последовательного порта сильно недостаточно для реализации диагностики. Поэтому в рамках проекта был разработан специальный диагностический адаптер на микроконтроллере, который берет на себя всё общение с EEC-IV, а для компьютера предоставляет простой асинхронный протокол.

В основе адаптера — самый маленький и недорогой микроконтроллер архитектуры AVR с двумя USART — ATMega324P производства ATMEL. Бонусом — этот чип в automotive-исполнении (это значит тотальный контроль производства, расширенный температурный диапазон и пониженное энергопотребление). Для соединения с диагностическим интерфейсом контроллера EEC-IV (физический уровень протокола DCL — RS-485) применяется чип MAX485 (или аналог). Для соединения с компьютером (через COM-порт, он же RS-232) используется чип MAX232. Если надо подцепиться через USB, подойдёт практически любой преобразователь USB-COM (например).

А диагностический софт какой подойдёт?

Из сторонних — никакой. Для адаптера написана специальная диагностическая программа для Windows (в Linux будет работать в среде Wine, есть также версия для КПК).