Перейти к содержанию

Что означают сообщения ELM327 NO DATA и UNABLE TO CONNECT?

Обновлено Редакция GAW

ELM327 — микросхема-переводчик между последовательным портом и шиной машины. Когда что-то идёт не так, она отвечает короткими сообщениями, и их смысл описан в разделе «Error Messages and Alerts» её даташита. Разъём и назначение контактов — на странице «Распиновка OBD-II».

Сообщения и что проверить

СообщениеЧто значит по даташитуЧто проверить
UNABLE TO CONNECTперебраны все протоколы, совместимого нетзажигание, контакты в разъёме, протокол машины
NO DATAза время ожидания ответа нетподдерживает ли машина этот параметр, фильтр CAN
CAN ERRORошибка инициализации, передачи или приёма CANпротокол и скорость, проводка CAN
BUS ERROR, BUS BUSYнедопустимый сигнал или постоянная активность на шинепроводка, напряжения на линиях
BUFFER FULLпереполнен буфер 512 байтскорость порта выше, заголовки выключить
STOPPEDоперацию прервал новый символдожидаться приглашения «>»
ERR94фатальная ошибка CAN, микросхема сброшенасерьёзная ошибка проводки CAN

Наибольшее время ожидания ответа задаёт команда AT ST с шестнадцатеричным аргументом, шаг — 4 мс. По умолчанию это 32, то есть 0x32 = 50 шагов (наш пересчёт):

t=50⋅4 мс=200 мсt = 50 \cdot 4\ \text{мс} = 200\ \text{мс}

Это совпадает с «примерно 200 мс» в даташите. По умолчанию включён адаптивный подбор (AT1): адаптер сам укорачивает ожидание по фактическому времени ответов машины, а AT ST задаёт лишь верхний предел. Для CAN с режимом CTM5 шаг — 20 мс.

Протокол машины

По американским правилам (40 CFR § 86.1806-05) с 2008 модельного года лёгкие машины используют только CAN по ISO 15765-4; более старые — ISO 9141-2, ISO 14230-4 или SAE J1850. Если машина старая и использует протокол, который адаптер не поддерживает, получится UNABLE TO CONNECT при исправной проводке. Не оставляйте адаптер в разъёме надолго: почему он разряжает аккумулятор, разобрано в ответе «Разрядит ли адаптер в разъёме OBD-II аккумулятор».

Похожие вопросы

Что значит SEARCHING… перед ответом?

Адаптер в автоматическом режиме ищет протокол машины, перебирая их по очереди. Если поиск заканчивается UNABLE TO CONNECT, ни один протокол не ответил; если ответ появился, протокол найден и запоминается до сброса.

Почему адаптер отвечает OK на команды AT, но машина не видна?

Команды AT обрабатывает сама микросхема ELM327, без машины. Ответ OK говорит лишь о связи телефона или компьютера с адаптером; связь с машиной проверяет запрос OBD, например 01 00.

Можно ли увеличить время ожидания ответа?

Да, командой AT ST hh: время — шестнадцатеричное число hh, умноженное на 4 мс. Elm Electronics советует обычно оставлять значение по умолчанию и полагаться на адаптивный подбор, а увеличивать — только если уверены, что блок отвечает медленно.

Источники

  1. Elm Electronics. ELM327 OBD to RS232 Interpreter (ELM327DSJ) — с. 87–89, Error Messages and Alerts: UNABLE TO CONNECT — перебраны все протоколы, совместимый не найден, возможно, не включено зажигание; NO DATA — за время AT ST ответа нет: параметр не поддерживается, блок занят или ответ отсеян фильтром CAN; CAN ERROR — сбой инициализации, передачи или приёма, неверный протокол или скорость, ошибка проводки; BUS ERROR, BUS BUSY — чаще всего проводка; BUFFER FULL — буфер 512 байт переполнен; STOPPED — команда прервана новым символом; ERR94 — фатальная ошибка CAN; описание AT0–AT2: по умолчанию включён адаптивный подбор AT1, значение AT ST служит верхним пределом; описание AT ST: шаг 4 мс (20 мс для CAN с CTM5), значение по умолчанию 32 — около 200 мс; список протоколов 1–C
  2. U.S. GPO. 40 CFR § 86.1806-05 On-board diagnostics (ред. 2012) — (h): разъём по SAE J1962; протоколы ISO 9141-2, ISO 14230-4 и SAE J1850; с 2008 модельного года для машин до 8500 фунтов — только ISO 15765-4 (CAN)

Нашли ошибку?