Перейти к содержимому
Черновик: материал сгенерирован и ещё не вычитан.

Подключение прибора к CAN-шине

CAN — двухпроводная дифференциальная шина, по которой блоки управления транспортного средства обмениваются короткими сообщениями. Прибор подключается к ней как слушатель: получает сообщения, разбирает нужные байты и передаёт значения на сервер мониторинга. Эта статья — про физическое подключение; про настройку режимов см. Настройка CAN: режимы и мастер.

Работа с шиной начинается с раздела Сканер CAN в конфигурации прибора: ⚙ Открыть настройки CAN. Пока CAN-порт выключен (Режим — «Отключён»), прибор шину не слушает, сколько бы правильно он ни был к ней подключён.

Минимум, который нужно задать для каждого порта, — Режим и Скорость шины; остальные поля и все режимы разобраны в статье Настройка CAN: режимы и мастер. Дальше по этой статье — как физически добраться до шины и убедиться, что найденные провода действительно CAN.

Две линии — CAN_H (Can-High) и CAN_L (Can-Low) — идут общим стволом, к которому параллельно подключены все блоки. На обоих концах ствола стоят согласующие резисторы 120 Ом.

Топология CAN-шины: блоки управления на общей паре CAN High / CAN Low, терминаторы 120 Ом по краям, диагностический разъём OBD-II

Шина имеет два состояния: доминантное (в шине есть сообщение, логический 0) и рецессивное (шины свободна, логическая 1).

В современном автомобиле обычно несколько независимых контуров CAN:

КонтурТиповая скоростьЧто в нёмКогда активен
Силового агрегата («быстрая»)до 500 кбит/сдвигатель, КПП, ABS, подушки безопасности, ТНВД, электроусилитель руля, электронный замок зажигания, датчик угла поворота рулякак правило, при включённом зажигании
«Комфорт» («медленная»)до 100 кбит/скомбинация приборов, блоки дверей, парктроник, стеклоочистители, контроль давления в шинахможет быть активен и при выключенном зажигании
Информационно-командная («медленная»)до 100 кбит/скомбинация приборов, аудиосистема, информационная и навигационная системыможет быть активен и при выключенном зажигании

На части автомобилей «Комфорт» и информационно-командная шина сведены в одну пару проводов, на части — разведены отдельно.

Данные идут кадрами. Основной тип — Data Frame:

Структура кадра CAN: поле идентификатора, поле управления, до 8 байт данных, 15-битная CRC, слот подтверждения, конец кадра

  • поле арбитража задаёт приоритет сообщения, когда несколько узлов передают одновременно: 11-битный идентификатор (стандарт CAN 2.0A) или 29-битный (CAN 2.0B) плюс бит RTR;
  • поле данных — от 0 до 8 байт;
  • поле CRC — 15-битная контрольная сумма;
  • слот подтверждения (ACK) — каждый корректно принявший кадр контроллер выставляет бит подтверждения; передавший узел слушает этот бит и при его отсутствии повторяет передачу.

Остальные типы кадров — Remote Frame (запрос данных у другого узла без поля данных), Error Frame (явное нарушение формата, заставляет всех перезапросить передачу) и Overload Frame (перегруженный узел просит повторить).

Сам стандарт CAN описывает только доставку кадров и ничего не говорит о том, как трактовать байты данных. Смыслом байты наполняют протоколы верхнего уровня — J1939 (и его подмножество FMS), J1979 (OBD-II), CANopen, NMEA 2000 и десятки других, а также собственные протоколы производителей ТС.

Прибор поддерживает 8 байт данных в кадре — классический CAN 2.0A/2.0B. CAN FD в прошивке 48.28 не работает: даже при инициализации шины из алгоритма EasyLogic длина отправляемого кадра принудительно ограничивается 8 байтами. Не рассчитывайте на CAN FD при проектировании подключения.

Разъём есть на большинстве легковых и части грузовых ТС.

Гнездо OBD-II со стороны автомобиля, 16 контактов в два ряда

Назначение контактов разъёма OBD-II: контакт 6 — CAN High, контакт 14 — CAN Low, контакты 4 и 5 — общий, контакт 16 — питание от аккумулятора

Рабочие контакты: 6 — CAN_H, 14 — CAN_L, 4/5 — общий (масса), 16 — питание от аккумулятора. Контакты, помеченные как «Опция изготовителя», некоторые производители используют для вывода медленных шин («Комфорт» или информационно-командной) — это шанс добраться до них без разборки панели.

Схема подключения: линия CAN_H прибора — на контакт 6, CAN_L — на контакт 14, масса прибора и масса ТС должны быть общими. Питание прибора берётся от бортовой сети.

Встречается вариант, когда диагностический разъём OBD-II подключён не к самой шине, а к одному из узлов — например, к комбинации приборов. Тогда прибор не видит идентификаторов: узел не транслирует чужой трафик. В этом случае попробуйте включить активный режим — параметр Активный режим в настройках CAN или команда ACTIVECAN 1. В активном режиме прибор выставляет бит подтверждения в шине, то есть перестаёт быть только слушателем.

Применяется, если диагностического разъёма нет, линии CAN на него не выведены или это не противоречит условиям гарантийного обслуживания. Требуется разобрать часть приборной панели, найти витую пару CAN (в разных моделях она проложена по-разному) и подключиться к ней.

Линии CAN_H и CAN_L прибора подключаются к соответствующим проводам витой пары через последовательные резисторы 1 кОм; масса прибора и масса ТС — общие, питание прибора берётся от бортовой сети.

Считыватели вида niCAN или CAN crocodile снимают сигнал, не нарушая изоляцию проводов. Это самый безопасный для ТС вариант, но у него есть ограничение: считыватель позволяет только слушать шину. Отправлять запросы в шину (а значит, работать по J1979/OBD-II) через него нельзя.

ПротоколЧто делает приборДопустимые способы подключения
J1939 / FMSтолько слушает, ничего не передаёт в шину и не подтверждает пакеты1, 2, 3
J1979 (OBD-II)работает по схеме «запрос — ответ», то есть передаёт в шину1, 2
Произвольный (протокол производителя ТС)обычно только слушает1, 2, 3

Прежде чем подключать прибор, убедитесь, что найденные контакты — это действительно CAN.

  1. Напряжение. При включённом зажигании измерьте напряжение на контактах относительно минуса источника питания.

    Тип шиныCAN_H, ВCAN_L, ВСопротивление контура, Ом
    Силового агрегата2,5–2,82,1–2,3~60
    «Комфорт»05
    Информационно-командная05
  2. Сопротивление. При выключенной электронике ТС измерьте сопротивление между CAN_L и CAN_H шины силового агрегата. Норма — около 60 Ом (два терминатора по 120 Ом параллельно). Если прибор показывает 120 Ом, законцовочного резистора нет — установите резистор 120 Ом параллельно контактам.

    У шин «Комфорт» и информационно-командной нагрузочные сопротивления подключены не между High и Low, а между каждым проводом отдельно и массой (или проводом +5 В), и при снятии питания отключаются — омметром их измерить нельзя.

  3. Осциллограф. Подключите два щупа к CAN_H и CAN_L (GND осциллографа и GND шины должны быть общими) и проверьте наличие сообщений при включённом зажигании.

    Осциллограмма CAN-шины: противофазные сигналы CAN High и CAN Low

Прибор подключён, но сообщений в мониторе нет — пройдите по списку:

  • убедитесь, что прибор запитан от внешнего источника, а не только от резервного аккумулятора;
  • проверьте скорость шины: неверная скорость — самая частая причина тишины (см. Настройка CAN: режимы и скорость);
  • проверьте точку подключения: диагностический разъём OBD-II не всегда заведён на ствол нужной шины;
  • повторите измерения из раздела выше — напряжение и сопротивление контура покажут, живая ли шина сама по себе.

См. также: Настройка CAN: режимы и мастер · Поиск параметров в CAN-шине · Прибор не подключается