Что означают сообщения 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 шагов (наш пересчёт):
Это совпадает с «примерно 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 советует обычно оставлять значение по умолчанию и полагаться на адаптивный подбор, а увеличивать — только если уверены, что блок отвечает медленно.
Источники
- 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
- 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)
Нашли ошибку?
Смотрите также
- OBD-II (J1962)CAN 6/14, K 7, L 15, J1850 2/10, земли 4/5, батарея 16
- CANCAN_H и CAN_L, терминаторы, кадр, арбитраж, ошибки, тайминг, MCP2515
- Разрядит ли адаптер в разъёме OBD-II аккумулятор?Может: около 30 мА постоянно — 0,7 А·ч в сутки; в режиме AT LP меньше
- CAN-трансиверМикросхема физического уровня между контроллером CAN и шиной