Открыть сервисСервис

CAN bus — цифровая шина передачи данных

CAN bus (Controller Area Network, контроллерная сеть) — последовательная цифровая шина передачи данных, разработанная немецкой компанией Robert Bosch GmbH в середине 1980-х годов для связи электронных блоков управления в автомобилях. Технология позволяет множеству устройств обмениваться данными по общей линии без выделенных соединений между каждой парой блоков, что существенно упрощает проводку и повышает надёжность системы. Стандарт ISO 11898 закрепил основные параметры протокола и сделал его отраслевым стандартом автомобильной электроники.

История создания

Разработка CAN началась в Bosch в 1983 году под руководством инженеров Ульриха Варнеке и Вольфганга Лоцмана. Необходимость в новой шине была продиктована ростом числа электронных систем в автомобилях: к началу 1980-х годов электронный блок управления двигателем, система антиблокировки тормозов, бортовой компьютер и другие устройства требовали обмена данными, а прокладка отдельных проводов между каждым блоком приводила к неоправданному усложнению жгутов.

Первые коммерческие применения CAN появились в 1990-х годах: сначала в автомобилях Mercedes-Benz, затем технология получила широкое распространение. В 1991 году был опубликован стандарт CAN 2.0, разделивший форматы сообщений на класс A (стандартный 11-битный идентификатор) и класс B (расширенный 29-битный идентификатор). В 2003 году вышел стандарт CAN 2.0B с окончательной унификацией обоих форматов.

Принцип работы

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

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

Физические характеристики

ПараметрЗначение
Скорость передачидо 1 Мбит/с (классический CAN)
Максимальная длина линиидо 40 м при 1 Мбит/с, до 1000 м при 50 кбит/с
Число подключаемых устройствдо 32 (стандартная схема)
Тип кабелявитая пара с экранированием
Рабочее напряжение5 В (преимущественно)

Структура кадра

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

Применение

Основная область применения CAN — автомобильная электроника. Шина связывает блок управления двигателем, систему ABS, подушки безопасности, блок управления кузовом, приборную панель, климат-контроль и другие системы. В современных автомобилях CAN-шин обычно несколько: силовая (动力train), шина комфорт-систем, диагностическая.

Помимо автомобилей, CAN применяется в железнодорожном транспорте (стандарт TCN), промышленной автоматизации (CANopen, DeviceNet), медицинском оборудовании, судостроении и авиации. В России технология активно используется на предприятиях автопрома, включая заводы «АвтоВАЗ», «КАМАЗ» и «ГАЗ».

Диагностика

CAN стал основой автомобильной диагностики. Стандарт OBD-II и его европейский аналог EOBD предписывают наличие диагностического разъёма с подключением к CAN-шине. Для чтения данных и кодов неиспользуются сканеры и адаптеры, работающие по протоколам ISO 15765 (UDS), KWP2000 и другим.

Развитие технологии

В 2012 году был стандартизован CAN FD (Flexible Data-rate) — расширение, увеличивающее скорость данных до 8 Мбит/с и объём полезной нагрузки до 64 байт. В 2019 году появился CAN XL с поддержкой до 2048 байт данных и скоростью до 10 Мбит/с. Эти версии позволяют технологии оставаться конкурентоспособной на фоне более быстрых шин Ethernet, применяемых в премиальных автомобилях.

Ограничения

К основным ограничениям классического CAN относятся небольшой объём полезной нагрузки (8 байт), относительно невысокая скорость и отсутствие механизма подтверждения доставки на уровне приложения. Для передачи больших объёмов данных (видеопоток, карты навигации) в автомобилях параллельно используются шины MOST, Automotive Ethernet и LVDS.

Источники:

  • ISO 11898-1:2015 — Road vehicles — Controller area network (CAN)
  • Robert Bosch GmbH. CAN with Flexible Data-Rate, Version 1.0, 2012
  • ГОСТ Р 53239-2008. Шина CAN в системах управления транспортными средствами
  • Lawrenz W. CAN Controller Area Network: Grundlagen und Anwendungen. — Hüthig, 1993
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru