CAN-шина — цифровая шина автомобилей¶
CAN-шина (Controller Area Network, CAN) — последовательная цифровая шина реального времени, предназначенная для обмена данными между электронными блоками управления (ЭБУ) в транспортных средствах и промышленном оборудовании. Разработана немецкой компанией Robert Bosch GmbH в середине 1980-х годов и в настоящее время является де-факто стандартом автомобильной связи, применяемым практически всеми автопроизводителями мира.
¶Принцип работы
CAN-шина представляет собой две медные жилы (CAN High и CAN Low), по которым передаются дифференциальные сигналы. Все подключённые к шине устройства (узлы) соединены параллельно и имеют равные права доступа — сеть является мульти-master, то есть любой узел может начать передачу, когда шина свободна. Каждое сообщение (кадр) содержит идентификатор (ID), определяющий приоритет кадра, а не адрес получателя: все узлы постоянно прослушивают шину и принимают те кадры, которые им нужны по содержанию.
Для разрешения конфликтов при одновременной попытке передачи используется механизм нервно-опосредованного доступа (CSMA/CA): если два узла начали передачу одновременно, побеждает кадр с наименьшим значением ID. Такое разрешение коллизий не требует центрального координатора и обеспечивает детерминированное время доступа.
¶Классификация по скорости
| Класс | Скорость | Типичное применение |
|---|---|---|
| CAN 2.0A (классический) | до 1 Мбит/с | Двигатель, трансмиссия, тормозная система |
| CAN 2.0B (расширенный) | до 1 Мбит/с | Комфорт, кузовная электроника |
| CAN FD (Flexible Data-rate) | до 5 Мбит/с (данные) | Современные ЭБУ, диагностика |
| CAN XL | до 10 Мбит/с | Перспективные архитектуры E/E |
Классический CAN поддерживает кадры длиной до 8 байт полезной нагрузки. Расширение CAN FD (утверждено в 2012 году) увеличило длину данных до 64 байт и позволило передавать их на более высокой скорости после арбитража.
¶Физический уровень
Для подключения к шине требуется согласующий резистор 120 Ом на каждом конце линии, что предотвращает отражение сигнала. Длина шины зависит от скорости: при 1 Мбит/с — до 40 м, при 100 кбит/с — до 1000 м. Допускается «звёздчатая» топология, но предпочтительна линейная. Для защиты от помаж используются дифференциальные приёмники с высоким порогом подавления общего режима.
¶Протокольный уровень
Стандарт ISO 11898 описывает формат кадра: начало кадра (SOF), поле арбитража с идентификатором, поле контроля, поле данных, контрольная сумма CRC и подтверждение приёма (ACK). Каждая фаза кадра имеет строго заданную структуру, что обеспечивает высокую помехоустойчивость. Механизм контроля ошибок включает подсчёт ошибок каждого узла (TEC/REC), автоматическое повторение передачи при ошибках и отключение «неисправных» узлов (bus-off) для защиты сети.
¶Применение в автомобилях
В современном автомобиле может работать несколько CAN-шин с разной скоростью: силовая (high-speed) — для двигателя, коробки передач, ABS и ESP; кузовная (low-speed) — для приборной панели, дверей, освещения; шина диагностики — для подключения сканера через разъём OBD-II. Разные шины соединяются между собой через шлюзы (gateway), которые фильтруют и пересылают сообщения.
¶Применение вне автомобилей
CAN-шина применяется в железнодорожном транспорте (стандарт TCN), авиации, морских судах, медицинском оборудовании, промышленной автоматизации (стандарт CANopen, DeviceNet), а также в велосипедах и электросамокатах для связи между контроллером мотора, дисплеем и датчиками.
¶Диагностика
Диагностический протокол UDS (ISO 14229) и более ранний KWP2000 работают поверх CAN-шины. Для чтения кодов неисправностей и параметров ЭБУ используются сканеры, подключаемые через OBD-II разъём. Стандарты J1939 (грузовой транспорт) и CANopen (промышленность) определяют профили обмена данными поверх базового протокола CAN.
¶История
Разработка CAN начата в Bosch в 1983 году под руководством Ульриха Варнтцена и Вольфганга Лоцмана. Первые коммерческие контроллеры выпущены в 1987 году. В 1991 году опубликован стандарт CAN 2.0, в 1993 году принят международный стандарт ISO 11898. В 2012 году утверждён протокол CAN FD, а в 2019 году — CAN XL, завершивший линейку скоростных расширений.
¶Источники
- ISO 11898-1:2015 — Road vehicles — Controller area network
- Robert Bosch GmbH. CAN with Flexible Data-Rate. Specification Version 1.0, 2012
- Wolf Lawrenz. Controller Area Network Essentials. CRC Press
- Кузнецов А. А. Протоколы обмена в системах управления автомобилем. М.: Техносфера
