Subaru И Arduino: Протокол Ssm1. Рукопожатие



Исходные данные

Недавно ко мне попала плата под названием Carduino Nano v7. И как-то вдруг так совпало, что примерно в то же время я с удивлением обнаружил на приборной панели своей машины горящую лампочку Check Engine. «Это неспроста», — подумал я и углубился в поиски.

Оказалось, что ошибки можно прочитать без дополнительных устройств — самодиагностика в Форестерах очень проста и доступна каждому.

При чем тогда Ардуино? И это несмотря на то, что прямым следствием поиска диагностической информации стало открытие существования такой забавной вещи, как Subaru Выберите Монитор версия 1, протокол которой (забавно) поддерживали старые автомобили Subaru, еще до того, как у них появилась K-line. Мой Форестер относится именно к таким автомобилям.

Вот и у меня возникла озорная идея — реализовать на Ардуино какой-нибудь бортовой компьютер.

Я видел подобные проекты, посвященные К-линейке, но с SSM1 - всего пара видео на Ютубе, никакой конкретики.

Поэтому вам придется все делать самостоятельно.



Краткое описание протокола SSM1

Скорость передачи данных 1953 бод (1953-8 ? 1).

Блок управления получает команду на чтение данных и начинает отвечать данными с запрошенного адреса, пока не получит команду на остановку.

Чтобы записать данные по адресу, вы должны сначала прочитать данные по тому же адресу.

Чтобы запросить идентификатор BU, необходимо сначала считать данные с любого адреса.



Команды



Subaru и Arduino: протокол SSM1. Рукопожатие

В ответ на команды чтения и записи данных приходит следующий пакет данных:

Subaru и Arduino: протокол SSM1. Рукопожатие



И снова Форестер

Несмотря на то, что у моей машины есть разъем OBD2, у нее полное отсутствие контакта «К-line».



Subaru и Arduino: протокол SSM1. Рукопожатие

  • Контакт 4 — заземление тела
  • Контакт 5 — заземление сигнала
  • Контакт 6 — CAN-High line, J-2284
  • Контакт 7 — Диагностика K-line (ISO 9141-2 и ISO/DIS 14230-4)
  • Контакт 9 — Тактовый сигнал SSM
  • Контакт 11 — Тактовый сигнал SSM
  • Контакт 12 — SSM to ECM — линия данных от дилерского диагностического прибора ССМ вЭБУ
  • Контакт 13 — ECM to SSM — линия передачи данных от блока управления к дилерскому диагностическому устройству ССМ
  • Контакт 14 — Линия CAN-Low, J-2284
  • Контакт 15 — Диагностика L-линии (ISO 9141-2 и ISO/DIS 14230-4)
  • Контакт 16 — питание +12 от аккумулятора
Разъём на моей машине имеет 4 контакта — 4,5,12,13 и 16.

Раз, два, три, четыре, пять – начинаем составлять пары.

Донором разъема OBD2 стал адаптер ELM327, купленный у братьев-китайцев, но абсолютно бесполезный для моего Форестера.

Вскрытие показало, что почти все ножки, кроме необходимых, были припаяны для использования в самом ЭЛМ.

Чтобы не спалить порты на Ардуино, ножки данных (12 и 13) будем подключать через резисторы — я использовал резисторы на 240 Ом.

Соединим с землей обе ноги (4 и 5).

Сейчас мы будем питать Arduino от прикуривателя через USB-адаптер.

Итак, используем 3 провода:

Subaru и Arduino: протокол SSM1. Рукопожатие

Теоретически на этом можно было бы остановиться и добавить вот такой скетч в Arduino.

   

void setup()

Теги: #Subaru #Forester #arduino #ssm1 #Разработка для Arduino
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.