Для того, чтобы понять принципы работы CAN-шины мы решили написать/перевести ряд статей, посвященных этой тематике, как обычно, основываясь на материалах зарубежных источников.

Одним из подобных источников, который, как нам показалось, вполне подходящим образом иллюстрирует принципы работы CAN-шины, стал видеоролик-презентация учебного продукта CANBASIC компании Igendi Engineering (http://canbasic.com).

Также можете прочитать вторую нашу переводную статью Введение в CAN.

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

Мы начнем с основ построения сети CAN-шины. На схеме приведен автомобиль с его системой освещения.

Показана обычная проводка, в которой каждая лампа напрямую подключена с каким-либо переключателем или контактом педали тормоза.

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

Этот небольшой пример демонстрирует, что объем электропроводки снижается. Вдобавок ко всему модули управления могут обнаруживать перегоревшие лампы и информировать об этом водителя.

Автомобиль на указанном виде содержит четыре модуля управления и четко отражает построение учебной системы (платы) CANBASIC

В вышеописанном указано четыре узла шины (CAN-узла).

Передний модуль контролирует передние световые приборы.

Узел сигнализации обеспечивает контроль внутренней части автомобиля.

Основной контрольный модуль соединяет все системы транспортного средства для диагностики.

Задний узел контролирует задние световые приборы.

На тренировочной доске CANBASIC вы можете увидеть маршрутизацию (расположение) трех сигналов: «Питание», «CAN-Hi» и «земли», соединяющихся в контрольном модуле.

В большинстве транспортных средств для подключения главного модуля управления к ПК с помощью диагностического программного обеспечения вам нужен OBD-USB конвертер.

Плата CANBASIC уже содержит в себе OBD-USB конвертер и может быть напрямую подключена к ПК.

Питается плата от интерфейса USB, поэтому дополнительные кабели не нужны.

Провода шины используются для передачи множества данных. Как это работает ?

Как работает CAN-шина

Эти данные передаются последовательно. Вот пример.

Человек с лампой, передатчик, хочет отправить какую-то информацию человеку с телескопом, получателю (приемнику). Он хочет передать данные.

Для того, чтобы сделать это они договорились, что получатель смотрит за состоянием лампы каждые 10 секунд.

Это выглядит так:

Спустя 80 секунд:

Теперь 8 бит данных были переданы со скоростью 0,1 бит в секунду (т.е. 1 бит в 10 секунд). Это называется последовательной передачей данных.

Для использования этого подхода в автомобильном приложении интервал времени сокращается с 10 секунд до 0,000006 секунды. Для передачи информации посредством изменения уровня напряжения на шине данных.

Для измерения электрических сигналов шины КАН используется осциллограф. Две измерительных площадки на плате CANBASIC позволяют измерить этот сигнал.

Чтобы показать полное CAN-сообщение разрешение осциллографа уменьшается.

В результате одиночные CAN-биты больше не могут быть распознаны. Для решения этой проблемы CANBASIC-модуль оснащен цифровым запоминающим осциллографом.

Мы вставляем модуль CANBASIC в свободный разъем USB, после чего он будет автоматически обнаружен. Программное обеспечение CANBASIC можно запустить прямо сейчас.

Вы можете видеть вид программного осциллографа с прикрепленными значениями битов. Красным показаны данные, переданные в предыдущем примере.

Чтобы объяснить другие части CAN-сообщения мы раскрашиваем CAN-кадр и прикрепляем на него подписи с описанием.

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

Желтая область определяет количество пользовательских данных. В зеленой зоне может быть установлен уникальный идентификатор.

Синяя область позволяет задать CAN-сообщение для удаленного запроса. Это означает, что будет ожидаться ответ от другого CAN-узла. (Разработчики системы сами рекомендуют не пользоваться удаленными запросами по ряду причин приводящих к глюкам системы, но об этом будет другая статья.)

Многие системы с шиной CAN защищены от помех вторым каналом CAN-LO для передачи данных, который является инвертированным относительно сигнала CAN-HI (т.е. идет тот же сигнал, только с обратным знаком).

Шесть последовательных битов с одинаковым уровнем определяют конец CAN-кадра.

Так совпало, что другие части CAN-кадра могут содержать более пяти последовательных битов с одинаковым уровнем.

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

С помощью полей ввода могут быть заданы все данные КАН-кадра и поэтому каждое КАН-сообщение может быть отправлено.

Вставленные данные немедленно обновляются в CAN-кадре, в данном примере длина данных будет изменена с одного байта на 8 байтов и сдвинута назад на один байт.

Текст описания показывает, что сигнал поворота будет управляться с помощью идентификатора «2С1» и бит данных 0 и 1. Все биты данных сбрасываются на 0.

Идентификатор установлен в значение «»2С1». Для активации сигнала поворотов бит данных должен быть установлен с 0 на 1.

В режиме «в салоне» вы можете управлять всем модулем с помощью простых щелчков мыши. Данные CAN устанавливаются автоматически в соответствии с желаемым действием.

Лампы поворотников могут быть установлены на ближний свет для работы в качестве ДХО. Яркостью будет управлять широтно-импульсная модуляция (ШИМ), в соответствии с возможностями современной диодной техники.

Теперь мы можем активировать фары ближнего света, противотуманные фары, стоп-сигналы и фары дальнего.

С отключением ближнего света противотуманные фары также отключаются. Логика управления световой системой CANBASIC соответствует автомобилям марки Volkswagen. Особенности зажигания и «возвращения домой» также включены.

С сигнальным узлом вы можете считывать сигнал датчика после инициирующего удаленного запроса.

В режиме удаленного запроса второй CAN-кадр будет принят и показан ниже отправленного CAN-кадра.

Байт данных CAN теперь содержит результат измерения датчика. С приближением к датчику пальца вы можете изменить измеренное значение.

Клавиша паузы замораживает текущий CAN-кадр и позволяет провести точный анализ.

Как уже было показано, различные части CAN-кадра могут быть скрыты.

Кроме того поддерживается скрытие каждого бита в КАН-кадре.

Это очень полезно, если вы хотите использовать представление CAN-кадра в ваших собственных документах, например в листе упражнений.

Появление цифровых шин в автомобилях произошло позднее, чем в них начали широко внедряться электронные блоки. В то время цифровой «выход» им был нужен только для «общения» с диагностическим оборудованием – для этого хватало низкоскоростных последовательных интерфейсов наподобие ISO 9141-2 (K-Line). Однако кажущееся усложнение бортовой электроники с переходом на CAN-архитектуру стало ее упрощением.

Действительно, зачем иметь отдельный датчик скорости, если блок АБС уже имеет информацию о скорости вращения каждого колеса? Достаточно передавать эту информацию на приборную панель и в блок управления двигателем. Для систем безопасности это ещё важнее: так, контроллер подушек безопасности уже становится способен самостоятельно заглушить мотор при столкновении, послав соответствующую команду на ЭБУ двигателя, и обесточить максимум бортовых цепей, передав команду на блок управления питанием. Раньше же приходилось для безопасности применять не надежные меры вроде инерционных выключателей и пиропатронов на клемме аккумулятора (владельцы BMW с его «глюками» уже хорошо знакомы).

Однако на старых принципах реализовать полноценное «общение» блоков управления было невозможно. На порядок выросли объем данных и их важность, то есть потребовалась шина, которая не только способна работать с высокой скоростью и защищена от помех, но и обеспечивает минимальные задержки при передаче. Для движущейся на высокой скорости машины даже миллисекунды уже могут играть критичную роль. Решение, удовлетворяющее таким запросам, уже существовало в промышленности – речь идет о CAN BUS (Controller Area Network).

Суть CAN-шины

Цифровая CAN-шина – это не конкретный физический протокол. Принцип работы CAN-шины, разработанный Bosch еще в восьмидесятых годах, позволяет реализовать ее с любым типом передачи – хоть по проводам, хоть по оптоволокну, хоть по радиоканалу. КАН-шина работает с аппаратной поддержкой приоритетов блоков и возможностью «более важному» перебивать передачу «менее важного».

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

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

Для чего это нужно? Чтобы важные данные были переданы с минимумом задержек даже ценой того, что маловажные данные не будут переданы на шину (это отличает CAN шину от знакомого всем по компьютерам Ethernet). В случае аварии возможность ЭБУ впрыска получить информацию об этом от контроллера SRS несоизмеримо важнее, чем приборной панели получить очередной пакет данных о скорости движения.

В современных автомобилях уже стало нормой физическое разграничение низкого и высокого приоритетов. В них используются две и даже более физические шины низкой и высокой скорости – обычно это «моторная» CAN-шина и «кузовная», потоки данных между ними не пересекаются. К всем сразу подключен только контроллер CAN-шины, который дает возможность диагностическому сканеру «общаться» со всеми блоками через один разъем.

Например, техническая документация Volkswagen определяет три типа применяемых CAN-шин:

  • «Быстрая» шина, работающая на скорости 500 килобит в секунду, объединяет блоки управления двигателем, ABS, SRS и трансмиссией.
  • «Медленная» функционирует на скорости 100 кбит/с и объединяет блоки системы «Комфорт» (центральный замок, стеклоподъемники и так далее).
  • Третья работает на той же скорости, но передает информацию только между навигацией, встроенным телефоном и так далее. На старых машинах (например, Golf IV) информационная шина и шина «комфорт» были объединены физически.

Интересный факт: на Renault Logan второго поколения и его «соплатформенниках» также физически две шины, но вторая соединяет исключительно мультимедийную систему с CAN-контроллером, на второй одновременно присутствуют и ЭБУ двигателя, и контроллер ABS, и подушки безопасности, и ЦЭКБС.

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

Но в витой паре на обоих проводах значение ЭДС помехи будет одинаковым, так что разница напряжений останется неизменной. Поэтому, чтобы найти CAN-шину в автомобиле, ищите витую пару проводов – главное не перепутать ее с проводкой датчиков ABS, которые так же для защиты от помех прокладываются внутри машины витой парой.

Диагностический разъем CAN-шины не стали придумывать заново: провода вывели на свободные пины уже стандартизированной в OBD-II колодки, в ней CAN-шина находится на контактах 6 (CAN-H) и 14 (CAN-L).

Поскольку CAN-шин на автомобиле может быть несколько, часто практикуется использование на каждой разных физических уровней сигналов. Вновь для примера обратимся к документации Volkswagen. Так выглядит передача данных в моторной шине:

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

На шине «Комфорт» все выглядит иначе:

Здесь «ноль» — это, наоборот, 5 вольт разницы, причем напряжение на проводе Low выше, чем на проводе High. «Единица» же – это изменение разности напряжений до 2,2 В.

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

«Расшифровка» CAN-шины автомобиля также ведется специализированным прибором – анализатором. Он позволяет выводить пакеты данных с шины в том виде, как они передаются.

Сами понимаете, что диагностика шины CAN на «любительском» уровне без соответствующего оборудования и знаний не имеет смысла, да и банально невозможна. Максимум, что можно сделать «подручными» средствами, чтобы проверить кан-шину – это измерить напряжения и сопротивление на проводах, сравнив их с эталонными для конкретного автомобиля и конкретной шины. Это важно – выше мы специально привели пример того, что даже на одном автомобиле между шинами может быть серьезная разница.

Неисправности

Хотя интерфейс CAN и хорошо защищен от помех, электрические неисправности стали для него серьезной проблемой. Объединение блоков в единую сеть сделало ее уязвимой. КАН-интерфейс на автомобилях стал настоящим кошмаром малоквалифицированных автоэлектриков уже по одной своей особенности: сильные скачки напряжения (например, зимний запуск на сильно разряженном аккумуляторе) способны не только «повесить» ошибку CAN-шины, обнаруживаемую при диагностике, но и заполнить память контроллеров спорадическими ошибками, случайного характера.

В результате на приборной панели загорается целая «гирлянда» индикаторов. И, пока новичок в шоке будет чесать голову: «да что же это такое?», грамотный диагност первым делом поставит нормальный аккумулятор.

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

Представьте себе простую моторную шину в виде провода, на котором «сидят в ряд» несколько блоков – контроллер двигателя, контроллер АБС, приборная панель и диагностический разъем. Обрыв у разъема автомобилю не страшен – все блоки продолжат передавать информацию друг другу в штатном режиме, невозможной станет только диагностика. Если оборвать провод между контроллером АБС и панелью, мы сможем увидеть сканером на шине только ее, ни скорость, ни обороты двигателя она показывать не будет.

А вот при обрыве между ЭБУ двигателя и АБС машина, скорее всего, уже не заведется: блок, не «видя» нужный ему контроллер (информация о скорости учитывается при расчете времени впрыска и угла опережения зажигания), уйдет в аварийный режим.

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

Благо подключение CAN-шины сигнализации не разъем в разъем, а врезаясь непосредственно в шину автомобиля, дают «криворукому» установщику возможность перепутать провода местами. Автомобиль после этого не то что откажется заводиться – при наличии контроллера управления бортовыми цепями, распределяющего питание, даже зажигание не факт что включится.

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

CAN разработан компанией Robert Bosch GmbH в середине 1980-х и в настоящее время широко распространён в промышленной автоматизации, технологиях «умного дома», автомобильной промышленности и многих других областях. Стандарт для автомобильной автоматики.

Содержание

Описание стандарта [ править | править код ]

Непосредственно стандарт CAN компании Bosch определяет передачу в отрыве от физического уровня — он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары, определённым в стандарте ISO 11898. Передача ведётся кадрами, которые принимаются всеми узлами сети. Для доступа к шине выпускаются специализированные микросхемы — драйверы CAN-шины.

Общие сведения [ править | править код ]

CAN является синхронной шиной с типом доступа Collision Resolving (CR, разрешение коллизии), который, в отличие от Collision Detect (CD, обнаружение коллизии) сетей (Ethernet), детерминировано (приоритетно) обеспечивает доступ на передачу сообщения, что особо ценно для промышленных сетей управления (fieldbus). Передача ведётся кадрами. Полезная информация в кадре состоит из идентификатора длиной 11 бит (стандартный формат) или 29 бит (расширенный формат, надмножество предыдущего) и поля данных длиной от 0 до 8 байт. Идентификатор говорит о содержимом пакета и служит для определения приоритета при попытке одновременной передачи несколькими сетевыми узлами.

Рецессивные и доминантные биты [ править | править код ]

Для абстрагирования от среды передачи спецификация CAN избегает описывать биты данных как «0» и «1». Вместо этого применяются термины «рецессивный» бит и «доминантный» бит, при этом подразумевается, что при передаче одним узлом сети рецессивного бита, а другим доминантного, принят будет доминантный бит. Например, при реализации физического уровня на радиоканале отсутствие сигнала означает рецессивный бит, а наличие — доминантный; тогда как в типичной реализации проводной сети рецессив бывает при наличии сигнала, а доминант, соответственно, при отсутствии. Стандарт сети требует от «физического уровня», фактически, единственного условия: чтобы доминантный бит мог подавить рецессивный, но не наоборот. Например, в оптическом волокне доминантному биту должен соответствовать «свет», а рецессивному — «темнота». В электрическом проводе может быть так: рецессивное состояние — высокое напряжение на линии (от источника с большим внутренним сопротивлением), доминантное — низкое напряжение (доминантный узел сети «подтягивает» линию на землю). Если линия находится в рецессивном состоянии, перевести её в доминантное может любой узел сети (включив свет в оптоволокне или закоротив высокое напряжение). Наоборот — нельзя (включить темноту нельзя).

Виды кадров [ править | править код ]

  • Кадр данных (data frame) — передаёт данные;
  • Кадр удаленного запроса (remote frame) — служит для запроса на передачу кадра данных с тем же идентификатором;
  • Кадр перегрузки (overload frame) — обеспечивает промежуток между кадрами данных или запроса;
  • Кадр ошибки (error frame) — передаётся узлом, обнаружившим в сети ошибку.

Кадры данных и запроса отделяются от предыдущих кадров межкадровым промежутком.

Формат кадра [ править | править код ]

Базовый формат кадра данных [ править | править код ]

Поле Длина (в битах) Описание
Начало кадра (SOF) 1 Сигнализирует начало передачи кадра
Идентификатор 11 Уникальный идентификатор
Запрос на передачу (RTR) 1 Должен быть доминантным
Бит расширения идентификатора (IDE) 1 Должен быть доминантным (определяет длину идентификатора)
Зарезервированный бит (r0) 1 Резерв
Длина данных (DLC) 4 Длина поля данных в байтах (0-8)
Поле данных 0-8 байт Передаваемые данные (длина в поле DLC)
Контрольная сумма (CRC) 15 Контрольная сумма всего кадра
Разграничитель контрольной суммы 1 Должен быть рецессивным
Промежуток подтверждения (ACK) 1 Передатчик шлёт рецессивный, приёмник вставляет доминанту
Разграничитель подтверждения 1 Должен быть рецессивным
Конец кадра (EOF) 7 Должен быть рецессивным

Первые 7 бит идентификатора не должны быть все рецессивными.

Расширенный формат кадра данных [ править | править код ]

Поле Длина (в битах) Описание
Начало кадра (SOF) 1 Сигнализирует начало передачи кадра
Идентификатор A 11 Первая часть идентификатора
Подмена запроса на передачу (SRR) 1 Должен быть рецессивным
Бит расширения идентификатора (IDE) 1 Должен быть рецессивным (определяет длину идентификатора)
Идентификатор B 18 Вторая часть идентификатора
Запрос на передачу (RTR) 1 Должен быть доминантным
Зарезервированные биты (r1 и r0) 2 Резерв
Длина данных (DLC) 4 Длина поля данных в байтах (0-8)
Поле данных 0-8 байт Передаваемые данные (длина в поле DLC)
Контрольная сумма (CRC) 15 Контрольная сумма всего кадра
Разграничитель контрольной суммы 1 Должен быть рецессивным
Промежуток подтверждения (ACK) 1 Передатчик шлёт рецессивный, приёмник вставляет доминанту
Разграничитель подтверждения 1 Должен быть рецессивным
Конец кадра (EOF) 7 Должен быть рецессивным

Идентификатор получается объединением частей A и B.

Формат кадра удаленного запроса [ править | править код ]

Совпадает с кадрами данных стандартного или расширенного формата, за двумя исключениями:

  • В поле RTR рецессив вместо доминанты.
  • Отсутствует поле данных.

Арбитраж доступа [ править | править код ]

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

Контроль ошибок [ править | править код ]

CAN имеет несколько механизмов контроля и предотвращения ошибок:

  • Контроль передачи: при передаче битовые уровни в сети сравниваются с передаваемыми битами.
  • Дополняющие биты (bit stuffing): после передачи пяти одинаковых битов подряд автоматически передаётся бит противоположного значения. Таким образом кодируются все поля кадров данных или запроса, кроме разграничителя контрольной суммы, промежутка подтверждения и EOF.
  • Контрольная сумма: передатчик вычисляет её и добавляет в передаваемый кадр, приёмник считает контрольную сумму принимаемого кадра в реальном времени (одновременно с передатчиком), сравнивает с суммой в самом кадре и в случае совпадения передаёт доминантный бит в промежутке подтверждения.
  • Контроль значений полей при приёме.

Разработчики оценивают вероятность невыявления ошибки передачи как 4,7×10 −11 .

Скорость передачи и длина сети [ править | править код ]

Диапазон скоростей [ править | править код ]

Все узлы в сети должны работать с одной скоростью. Стандарт CAN не определяет скоростей работы, но большинство как отдельных, так и встроенных в микроконтроллеры адаптеров позволяют плавно менять скорость в диапазоне, по крайней мере, от 20 килобит в секунду до 1 мегабита в секунду. Существуют решения, выходящие далеко за рамки данного диапазона.

Предельная длина сети [ править | править код ]

Приведённые выше методы контроля ошибок требуют, чтобы изменение бита при передаче успело распространиться по всей сети к моменту замера значения. Это ставит максимальную длину сети в обратную зависимость от скорости передачи: чем больше скорость, тем меньше длина. Например, для сети стандарта ISO 11898 предельные длины составляют приблизительно:

1 Мбит/с 40 м
500 кбит/с 100 м
125 кбит/с 500 м
10 кбит/с 5000 м

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

Протоколы высокого уровня [ править | править код ]

Базовой спецификации CAN недостаёт многих возможностей, требуемых в реальных системах: передачи данных длиннее 8 байт, автоматического распределения идентификаторов между узлами, единообразного управления устройствами различных типов и производителей. Поэтому вскоре после появления CAN на рынке начали разрабатываться протоколы высокого уровня для него. В число распространённых на данный момент протоколов входят:

Применение CAN в автомобилестроении [ править | править код ]

Во всех высокотехнологичных системах современного автомобиля применяется CAN-протокол для связи ЭБУ с дополнительными устройствами и контроллерами исполнительных механизмов и различных систем безопасности. В некоторых автомобилях CAN связывает IMMO, приборные панели, SRS блоки и т. д.

Также протокол CAN ISO 15765-4 вошел в состав стандарта OBD-II.