Посторонним В.Следопыт |
Вопросы и ответы по проекту диагностики 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 режим принудительной более тщательной самодиагностики. Таких режимов два:
Вышеупомянутые возможности, кстати говоря, были доступны и без протокола DCL, в старых версиях EEC-IV в виде так называемых "быстрых" и "медленных" кодов. Однако следующая функция доступна только по DCL и открывает намного более широкие возможности диагностики — это функция чтения всех параметров двигателя в реальном времени и позволяет она сделать многое:
Что представляет собой диагностический адаптер?По каким-то неизвестным причинам (хотя скорее всего из-за недостатка ресурсов чипа) протокол 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, есть также версия для КПК). |