Обзор ELM327 адаптеров
   ELM327 представляет собой один из простейших адаптеров с микроконтроллером на борту. Микроконтроллер позволяет работать с протоколами, с которыми невозможно работать "напрямую через преобразователи уровня" с COM-портом. Это протоколы J1850 (контакты 2 и 10 на раземе стандарта J1962) и протоколы на основе CAN-шины (контакты 6 и 14 на раземе стандарта J1962). Также осталась возможность через микроконтроллер работать по протоколам из стандарта OBD-II с K(7) и L(15) линиями. Однако, как показала практика, во-первых скорость работы по этим линиям меньше, чем скорость работы по этим линиям через K-Line адаптер; и во-вторых - поддерживаются только протоколы стандарта OBD-II (ISO-9141 и ISO-14230). Поэтому протоколы производителя (например MUT или KW1281) остаются в стороне. Таким образом, работа с адаптером по KL-линиям не рекомендуется.
   Микроконтроллером ELM327 является PIC18F2480 фирмы Microchip с заводской прошивкой от фирмы "ELM Electronics". Последняя оффициальная версия прошивки - v2.0. Кроме фирменных микросхем, на рынке также распространены микросхемы с прошивкой от китайских производителей. Их последняя прошивка - v1.5a (аналог оффициальной v1.4b). Много возникает вопросов по поводу того, что можно ли брать адаптер с китайской прошивкой. Отвечу - адаптеры работают одинаково - один другого не лучше и не хуже. Брать, конечно, лучше адаптер с последними версиями.
   Обмен данными компьютера с микроконтроллером осуществляется все через тот же COM-порт. В документации на ELM327 хорошо расписаны все команды, которые поддерживает адаптер. Документацию на все оффициальные версии elm327 можно скачать по ссылкам З1, З2, З3. Скорость связи адаптера с компьютером по-умолчанию 38400 бит/сек. Не путать эту скорость со скоростью работы электронного блока автомобиля с адаптером! При работе по CAN-протоколу с его стандартной скоростью 500кбит/сек скорости связи адаптера с компьютером 38400бит/сек оказывается недостаточной и при приеме длинных CAN-последовательностей буфер адаптера просто переполняется, в результате чего данные перестают приниматься полностью. Поэтому при работе с CAN-портоколом рекомендуется скорость адаптер-компьютер перепрошить на максимально-возможную для ELM327 - 500 кбит/сек. Однако не все программы могут поддерживать такую скорость. Для справки - мои программы ее поддерживают. Перепрошивается скорость командами из списка команд ELM327, то есть каких-то дополнительных устройств для этого не требуется.
   Почему, несмотря на то, что адаптер ELM327 широко распространен, серьезные диагностические программы в основном с ним не работают, а разработчики диагностического ПО стараются обойти его стороной? И это даже не только из-за привязки "своего" адаптера к диагностическому ПО, что усложняет взлом ПО. А причины следующие:
1. Команды ELM327 построены по типу модемных AT-команд. Притом в списке полно совершенно бесполезных команд, например настройка скорости работы адаптер-компьютер и т.д. Но в тоже время необходимые команды, такие как возможность смены величины Fast-импульса у протокола ISO-14230 (исправлено в v2.0) и вообще возможность Fast-инициализации у протокола ISO-9141 - отсутствуют. Из-за этого некоторые блоки ECU просто не выйдут на связь с данным адаптером. Также при создании программ, работа с AT-командами несколько тяжелее, чем, например, при обмене с адаптером VAG K+CAN Commander 1.4.
2. Отсутствует возможность работы по KL-линиям с протоколами, отличными от ISO-9141 и ISO-14230.
3. При работе по протоколам ISO-9141/ISO-14230 итоговая скорость вывода параметров меньше, чем с K-Line адаптером. Пункт спорный, возможно нужна тонкая настройка.
4. При работе по протоколам ISO-9141/ISO-14230 ограничен размер данных пакета передачи всего 8-ю байтами, что делает невозможным динамическую группировку функций, обеспечивающую наивысшую скорость обмена.
5. В адаптере попытались реализовать протокол ISO-15765, при котором возможна передача информации более 8-ми байт. Что странно прием сделали, передачу - нет. Какой смысл тогда в этом? Непонятно. В итоге гораздо проще и прием и передачу по протоколу ISO-15765 реализовать уже в диагностической программе.
   На сегодняшнем рынке уже не встретишь адаптеров ELM327 с выходом COM. Как правило, все адаптеры имеют USB-выход для связи с компьютером. Таким образом, в ELM327 кроме микроконтроллера присутствует еще и микросхема-преобразователь USB-COM. Все производители ELM327 обычно применяют в качестве этого преобразователя микросхему FT232 фирмы "FTDI". Однако в некоторых ELM327 попадаются и преобразователи PL2303. Подробнее о драйверах к адаптеру ЗДЕСЬ
   Кроме адаптеров ELM327 с USB-выходом, на рынке также присутствуют адаптеры ELM-327 - Bluetooth. В данном случае, вместо микросхемы USB-COM применяется микросхема Bluetooth-COM. Для связи с таким адаптером на компьютере необходимо присутствие поддержки работы с Bluetooth-устройствами. В ноутбуках часто такой модуль Bluetooth идет встроенным. Можно также приобрести отдельный модуль USB-Bluetooth. Драйвера на такой модуль, как правило устанавливать не обязательно. Даже Windows XP, как правило, поддерживает модули Bluetooth по-умолчанию. При сопряжении адаптера с компьютером по Bluetooth, адаптер потребует пароль. Пароль должен идти в комплекте с адаптером. Если его нет, то можно попробовать распространенные пароли - "1234" и "6789". Обращаю внимание, что работа по радиосвязи может быть неустойчивой! Особенно это касается мест с расположенными рядом передающими устройствами. В результате неустойчивой связи программы могут "глючить".
   Приобрести адаптеры ELM327 как USB так и Bluetooth можно все на том же EBAY. Их стоимость примерно одинакова и не более 500руб. Для тех, у кого туго с английским, можно купить набор MP9213 (ELM327 USB) российской фирмы "Мастеркит", однако уже по цене 3000руб.


   ДЕЛАЕМ ИЗ АДАПТЕРА ELM327 - АДАПТЕР K+CAN COMMANDER 1.4

   Если у вас без дела валяется ELM327 USB, есть необходимость диагностировать автомобили Toyota или Nissan по CAN-линиям и у вас, или ваших знакомых есть навыки работы с паяльником, то в адаптер ELM327 можно прошить модифицированную прошивку адаптера K+CAN Commander 1.4. После этого, модифицированный таким образом адаптер станет работать с программами этого сайта (а также с программами VAG K+CAN Commander) по CAN линиям. Обращаю внимание, что работа по KL-линиям при этом утрачивается, а также после перепрошивки вернуть обратно прошивку ELM327 невозможно.
   Для данного дела понадобится: стационарный компьютер с железным COM-портом; сам адаптер ELM327 USB; два резистора на 4,7кОм; резистор 10кОм; Кварц HC-49/U 10MHz; разъем DB9F (мама) для подключения к COM-порту; некоторое количество провода.
   1. Отрезаем дорожку на задней стророне платы (см. рис). Впоследствии ее восстанавливать не нужно. Убеждаемся в отсутствии контакта между выв. 1 МК PIC и выв. 2 FTDI


   2. Удаляем стабилизатор V3.
   3. Проводом делаем перемычку для подачи +5В на МК от USB.
   4. Меняем родной кварц 4MHz на кварц 10MHz.
   5. Временно убираем два резистора (см. рис.).
   6. Собираем схему, согласно рисунка.
   7. Для прошивки используется ТОЛЬКО СТАЦИОНАРНЫЙ КОМПЬЮТЕР со ВСТРОЕННЫМ COM-портом на материнской плате!
   8. Используем программу WinPic800 (во вложении).
   9. После установки программы выбираем серию PIC 18F и тип МК - PIC18F2480.
   10. Далее, в установках программы выбираем Настройки->Адаптер. Тип адаптера - JDM Programmer, а также устанавливаем номер ком-порта, к которому подключен наш шнурок для прошивки и сохраняем настройки.
   11. Загружаем в программу файл прошивки pic18f2480.hex (во вложении).
   12. Подключаем USB-шнур адаптера в компьютер, затем подключаем собранный шнурок для программирования в ком-порт на материнской плате.
   13. В программе выбираем Device->Определить тип Device. В открывшемся окне программа должна найти МК PIC18F2480. ТОЛЬКО ПОСЛЕ ЭТОГО МОЖНО ПРИСТУПАТЬ К СЛЕДУЮЩЕМУ ПУНКТУ – ПРОШИВКА.
   14. Выбираем Device->Программировать все. Ожидаем завершения действия.
   15. Выбираем Device->Проверить все. Ожидаем завершения действия.
   16. Отключаем собранный шнурок для программирования от ком-порта а затем и USB-шнур адаптера.
   17. Возвращаем на свои места убранные резисторы.
   18. Проверяем адаптер с помощью программы "K+CAN Adapter TEST".
   Ссылки: (Ссылка1, Ссылка2, Ссылка3).