Шина CAN: как десятки блоков управления говорят на одном языке

Зачем

Шина CAN (Controller Area Network) — цифровая сеть, которая связывает десятки блоков управления автомобиля вместо километров отдельных проводов.

Предложить правку

Проблема, которую решает CAN: слишком много проводов

В прошлом уроке разобрали, что современный автомобиль содержит несколько десятков электронных блоков управления — двигателем, коробкой передач, ABS, подушками безопасности, климатом, каждой дверью. Если бы каждому блоку требовался отдельный провод к каждому другому блоку, с которым он обменивается данными, проводка автомобиля превратилась бы в непроходимый жгут толщиной с руку, весом в десятки килограммов, с сотнями точек потенциального обрыва.

CAN (Controller Area Network — «сеть контроллерной области») решает эту проблему радикально: вместо отдельных проводов между каждой парой блоков — одна общая пара проводов (шина), к которой параллельно подключены все блоки управления. Любой блок может отправить сообщение в шину, и любой другой блок, которому это сообщение нужно, его получает — примерно как объявление по громкой связи, а не личный звонок каждому.

Иллюстрация готовится
Рис. 1. Точка-точка против шины CAN: одна общая пара проводов вместо отдельного соединения на каждую пару блоков.

Как это физически работает: коротко о главном

Шина CAN — это два провода, условно называемые CAN-H (High) и CAN-L (Low). Информация передаётся не абсолютным уровнем напряжения на одном проводе (как в простой цепи «плюс — минус»), а разностью напряжений между этими двумя проводами — это называется дифференциальный сигнал.

Важно

Дифференциальный сигнал — не техническая прихоть, а прямая защита от помех. Электромагнитные наводки от системы зажигания, генератора, электромоторов действуют на оба провода почти одинаково — и при вычитании (CAN-H минус CAN-L) взаимно гасятся. Приёмник видит чистый сигнал даже в электрически «шумной» среде моторного отсека. Это одна из причин, почему CAN стал стандартом именно для автомобилей, а не более простые схемы передачи данных.

Каждое сообщение в шине CAN снабжено идентификатором приоритета: если два блока пытаются заговорить одновременно, побеждает сообщение с более высоким приоритетом (например, сигнал от подушек безопасности важнее сигнала от климат-контроля), а менее приоритетное автоматически повторяет попытку чуть позже. Так шина остаётся работоспособной даже при интенсивном обмене данными, без централизованного диспетчера.

Зачем это диагносту, а не только инженеру-разработчику

Диагносту не нужно программировать протокол CAN — но нужно понимать три вещи:

  1. Именно через шину CAN сканер получает доступ ко всем блокам управления машины — не физически подключаясь к каждому отдельно, а слушая (и иногда посылая запросы в) общую шину через один разъём. Это прямая основа для стандарта OBD-II, с которым знакомит следующий курс: диагностический разъём — это, по сути, точка доступа именно к этой шине.
  2. Обрыв или короткое замыкание в проводах шины может «уронить» сразу несколько систем одновременно — а не одну, как при отказе локального датчика. Если после ДТП или неаккуратного ремонта разом перестали работать несколько несвязанных на первый взгляд систем (например, климат-контроль и приборная панель), это повод заподозрить именно шину, а не искать совпадение независимых поломок.
  3. Сигнал CAN — это не постоянное напряжение, а быстро переключающиеся цифровые импульсы. Обычным мультиметром его осмысленно не измерить (вольтметр покажет усреднённое, малоинформативное значение) — для реальной диагностики сигнала на линии используется осциллограф, который отдельно разбирает урок про осциллограф в диагностике в следующем курсе.

Разобранный пример

Типичная ситуация на объекте: «ошибка потери связи с блоком»

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

Типичные ошибки

  • Пытаться диагностировать сигнал CAN обычным мультиметром и делать по нему выводы об исправности шины — прибор для этой задачи не подходит, тестировать нужно осциллографом или специализированным адаптером.
  • Не учитывать, что одна физическая неисправность жгута может имитировать сразу несколько «разных» поломок — начинающий диагност начинает менять блоки по одному, вместо того чтобы сначала прозвонить саму шину.
  • Путать CAN с диагностическим протоколом OBD-II — CAN это физическая сеть и способ передачи данных между блоками автомобиля, а OBD-II (в его современной реализации) — это один из стандартов, который использует эту сеть для диагностического доступа. Разницу подробно разбирает следующий курс.

Проверь себя

  1. Почему шина CAN использует разность напряжений между двумя проводами, а не абсолютный уровень напряжения на одном?
  2. Объясни своими словами, почему обрыв в шине CAN может «уронить» сразу несколько разных систем автомобиля одновременно.
  3. Почему обычный мультиметр плохо подходит для диагностики сигнала CAN, и какой прибор используют вместо него?

Предложить правку

Документы и ресурсы

Обязательные

  • Норматив ГОСТ Р ИСО 11898-1-2015 Транспорт дорожный. Местная контроллерная сеть (CAN). Часть 1. Канальный уровень и передача сигналов официальная спецификация протокола CAN — физический и канальный уровень; читать как справочник, не целиком

Рекомендуемые

  • Книга Соснин Д.А., Яковлев В.Ф. «Новейшие автомобильные электронные системы», М.: СОЛОН-Пресс, 2005 архитектура мультиплексных сетей управления в автомобиле, взаимодействие блоков управления
Войдите, чтобы предложить качественный источник

Поддержи проект!

IndustrialProfi пока разрабатывается на энтузиазме силами одного человека. Помоги создать лучшую открытую энциклопедию для востребованных и полезных профессий. Спасибо за участие!