Перейти к содержимому

Can шина автомобиля где находится

  • автор:

Что такое CAN-шина

Усложнение автомобильного электрооборудование привело к логичному решению – внедрению единой линии, к которой подсоединены электронные устройства. Но не все так просто, как кажется! Давайте подробнее разберемся, что такое CAN-шина.

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

Немного истории

За создание CAN-шины следует благодарить компанию Robert Bosch GmbH, которая в середине восьмидесятые предложила стандарт микроконтроллерной связи, таким образом упростив жизнь специалистам по автомобильной электронике, инженерам, занятым в промышленной автоматизации, и разработчикам во многих других областях. В настоящее время Controller Area Network является стандартом в автомобилестроение.

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

Принцип работы CAN-шины

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

Виды CAN-шин

Существует три основных вида. Силовые обеспечивают синхронизацию и обмен данными между ЭБУ двигателя и основными агрегатами и системами автомобиля – коробкой передач, зажиганием и другими. «Комфортные» нужны, соответственно, для работы опций комфорта. Например, климатической системы, электропривода зеркал и обогрева сидений.

Информационно-командные введены для обмена данными между ЭБУ и такими вспомогательными информационными комплексами как навигационная система.

Как передается информация

Итак, CAN-шина представляет собой сеть, по которой происходит обмен информацией между устройствами. На практике это означает следующее. Возьмем для примера блок управления двигателем – он имеет не только основной микроконтроллер, но и CAN-устройство, которое формирует и рассылает импульсы по шинам H (CAN-высокий) и L (CAN-низкий), которые называются витая пара.

Сигналы рассылаются по витой паре трансивером или приемопередатчиком. Он нужен для целого ряда задач – усиления сигналов, защиты линии в случае повреждения CAN-шины, создания условий помехозащищенности передаваемых импульсов и регулировки скорости их передачи. В автомобильной промышленности применяются передатчики двух типов с говорящими названиями High Speed и Fault Tolerant. Первый обеспечивает передачу данных на высокой скорости, до 1 мегабита в секунду. Второй не столь быстрый и передает в секунду до 120 килобит в секунду, но при этом он толерантен к ошибкам, то есть, допускает отклонение от параметров CAN-шины и не столь чувствителен к ее качеству.

Сфера влияния CAN-шины

Благодаря цифровой сети в современных автомобилях обеспечивается работоспособность разных агрегатов и систем. Вот некоторые из них: • Силовой агрегат (двигатель и коробка передач) • ABS (антиблокировочная система тормозов) • Подушки безопасности • Рулевой механизм • Датчики давления в колесах • Топливный насос высокого давления • Блоки парковочных датчиков и блокировки дверей • Блок управления стеклоочистителями • Мультимедийные модули

Сильные и слабые стороны CAN-шины

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

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

Проблемы с CAN-шиной и их устранение

Система для передачи данных, будучи включенной в сложную «анатомию» современных автомобилей задействована во многочисленных процессах, а, потому, ее неисправности хорошо заметны. О проблемах с CAN-шиной подскажут такие проявления как синхронно горящая индикация на панели приборов, скажем, Check Engine и ABS. Кроме того, отсутствие показания уровня топлива, «молчание» спидометра и тахометра. Удостовериться в проблемах именно с CAN-шиной можно посредством диагностики. Если она подтвердила проблемы именно с сетью, то требуется следующая последовательность действий. Найдите проводники витой пары, обычно имеющие черный и оранжево-коричневый цвет для высокого и низкого уровня соответственно. Включив зажигание, измерьте напряжение на проводниках – обычно это 4,5 В. Значения должны не находиться на нуле или превышать 11 Вольт. Затем выключите зажигание, снимите клемму с аккумулятора и повторите процедуру. Цифра на мультиметре стремится к нулю или к бесконечности? Значит, присутствует короткое зажигание или обрыв соответственно. Удостовериться, что проблема не вызвана неисправностью одного из управляющих блоков, вы можете, отключая их и отслеживая сопротивление в CAN-шине.

Can шина автомобиля где находится

Mitsubishi ASX Клуб

Мицубиси АСХ Клуб

Где находится CAN кабель (шина)

Отчет составил VS

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

Для тех кто не в курсе, CAN-шина это «сетевой кабель» внутри автомобиля по которому общаются между собой все блоки управления (БУ двигателем, АБС, АКПП, подушек, ETACS, навигации, музыки, сигналицации и т. д.) Для того чтобы облегчить поиск CAN-шины на автомобиле выкладываю:

схема соединения по CAN линии основных блоков (двигатель, КПП, АБС, полный привод, EPS и т.д.)

Где находится CAN кабель шина Mitsubishi ASX

схема соединения по CAN линии вспомогательных блоков (Бортовой компьютер — который на приборной панели, музыки, навигации, климата и т.д.)

Где находится CAN кабель шина Mitsubishi ASX

Схема размещения разъёмов на блоке ETACS «центральный процессор на автомобиле», это тот блок на котором расположены предохранители внутри салона под рулевой колонкой.

блок ETACS Mitsubishi ASX

Распиновка самих разъёмов есть на первых двух схемах.

Если Вам помог данный отчет, поблагодарите автора, поставив плюс в репутации.

Если Вам есть, чем дополнить отчет, пишите в администрацию, через форму Обратной связи.

Навигация

Главная
Форум
Регистрация
Клубная карта
FAQ
Новости
Фото галерея
Завод по сборке ASX
Видео клуба
Гимн клуба
Рекорд России
Поиск
Контакты
Поиск одноклубника
Табель о рангах
С чего пересаживаемся

CAN-шина. Просто и понятно

Из этой статьи вы узнаете, что такое CAN-шина, почему она появилась. Разберемся с блоками управления в автомобиле и с тем, как они общаются между собой. Расскажем, какие контроллеры соединяются быстрой CAN-шиной, а какие — медленной.

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

Если интересует какой-то конкретный вопрос, пользуйтесь оглавлением.

Что такое CAN-шина?

Автомобиль подобен человеческому организму. Сеть контроллеров (шина CAN) это как нервная система у человека.

В свою очередь, «узлы» или «электронные блоки управления» (ЭБУ) подобны частям тела. Они соединены между собой через CAN-шину.

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

Причины появления CAN-шины

Когда вы нажимаете выключатель в своем доме, чтобы включить свет, электричество проходит через выключатель к лампам.

Автомобили раньше использовали такое же подключение. С тех пор как в 1915 году Генри Форду пришла идея добавить в свои автомобили фары и электрический сигнал, электричество поступало от аккумулятора через выключатели к фарам и другим устройствам.

К 1960-м годам в каждом автомобиле были тысячи тяжелых проводов.

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

К началу 1980-х годов в автомобилях было все больше и больше электронных блоков управления. Сначала электронное управление получили самые важные системы, такие как системы управления двигателем, трансмиссией и тормозной системой. Но со временем электронное управление распространилось и на второстепенные либо периферийные системы, такие как климат-контроль, блоки комфорта и прочие.

В скором времени такое положение дел привело к тому, что производители столкнулись тремя проблемами:

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

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

Сложность диагностирования подобных систем. Ведь компонентов стало целое множество. Схема электропроводки перестала умещаться на десятках страниц и при этом никакой системы самодиагностики еще не было.

Такие компании, как Bosch, искали тип шинной коммуникационной системы, которая могла бы использоваться в качестве системы связи между несколькими ЭБУ и системами автомобиля.

Они искали на рынке, но не могли найти именно то, что было нужно, поэтому они начали разработку «Controller Area Network» в партнерстве с Mercedes-Benz, Intel, а также несколькими университетами Германии.

Краткая история шины CAN

В 1986 году компания Bosch представила стандарт CAN на конгрессе SAE в Детройте. Год спустя корпорация Intel начала поставки первых микросхем контроллеров CAN, и автомобильный мир изменился навсегда.

  • До CAN: автомобильные ЭБУ использовали сложную проводку «точка-точка».
  • 1986: Компания Bosch разработала протокол CAN.
  • 1991: Bosch опубликовала CAN 2.0 (CAN 2.0A: 11 бит, 2.0B: 29 бит).
  • 1993: CAN принят в качестве международного стандарта (ISO 11898).
  • 2003: ISO 11898 становится серией стандартов.
  • 2012: Bosch выпустила CAN FD 1.0 (передачи данных на двух скоростях).
  • 2015: Протокол CAN FD стандартизирован (ISO 11898-1).
  • 2016: Физический уровень CAN для скоростей передачи данных до 5 Мбит/с стандартизирован в ISO 11898-2.

CAN-шина позволила отказаться от принципа «для каждой команды / сигнала нужен один провод в пользу принципа «шина данных для всех сигналов и команд».

Теперь, например, достаточно одного датчика температуры, который подключен к блоку управления двигателем. ЭБУ опрашивает датчик температуры для себя и отправляет эту информацию в виде сообщения в информационную шину данных для других блоков.

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

Сегодня CAN является стандартом в автомобилях (легковых, грузовых, автобусах, тракторах, …), кораблях, самолетах, электромобилях и многом другом.

Что такое ЭБУ?

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

В современном автомобиле может быть до 70 ЭБУ — и каждый из них может иметь информацию, которой необходимо поделиться с другими участниками сети.

Именно здесь на помощь приходит CAN-шина. Она позволяет каждому блоку управления общаться со всеми другими ЭБУ без сложной специальной проводки.

В частности, блок управления может передавать данные с датчиков по шине CAN. Переданные данные принимаются всеми другими контроллерами в сети CAN, после чего каждый ЭБУ может проверить данные и решить, принимать их или игнорировать.

Физический уровень шины CAN

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

Однопроводная схема

Для того чтобы лучше понять как данные передаются по двухпроводной CAN-шине, давайте сначала рассмотрим как данные передаются по однопроводной схеме, которой, например, является K-линия.

Итак, есть один провод, с его помощью соединены блоки управления. Этот провод внутри блока соединен с 12 вольтами через резистор 5 килоом. Таким образом напряжение на проводе становится по умолчанию 12 В.

Каждый из подключенных блоков может стягивать это напряжение на массу, меняя его с 12 на 0 вольт. Таким образом, получаются прямоугольные импульсы на шине данных. Они могут принимать всего два уровня напряжения — 0 и 12 вольт.

Присвоим низкому уровню в ноль вольт логический ноль, а уровню 12 вольт — логическую единицу. Зададим тактовый сигнал шины, то есть обозначим сколько раз секунду блоки будут опрашивать шину и соответственно сколько времени будет длиться один бит.

То есть наименьшая часть цифровой информации вид может принимать только два значения 0 или 1. Таким образом, мы получили физическую возможность отправлять и принимать двоичные данные между блоками управления.

Витая пара. Как работает CAN high-speed

В CAN-шине тот же принцип, только сигнал считывается как разница между напряжениями проводов CAN-high и CAN-low, которые образуют витую пару.

Чтобы понять, как именно это происходит, давайте рассмотрим как могут меняться уровни напряжения на этих проводах.

По умолчанию на проводе CAN-high, как и на проводе CAN-low, напряжение соответствует величине в 2,5 В. При этом разница напряжений между проводами составляет 0 В. Такое состояние can-шины называется рецессивным (recessive) и интерпретируется как логическая единица.

Существует и второе состояние шины, при котором напряжение на проводе CAN-high будет 3,5 вольт, а на проводе CAN-low — 1,5 В. Разница напряжений между проводами составит 2 вольта. Это состояние называется доминантным (dominant) и соответствует логическому нулю.

Логическая 1 (рецессивное состояние):

  • 2,5 вольта на проводе CAN_H;
  • 2,5 вольта на проводе CAN_L;
  • дифференциальное напряжение 0 вольт.

Логический 0 (доминантное состояние):

  • 3,5 вольта на проводе CAN_H;
  • 1,5 вольта на проводе CAN_L;
  • дифференциальное напряжение 2 вольта.

Так работает высокоскоростная шина CAN high speed. Она описана в стандарте ISO 11898-2.

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

Рецессивное состояние, или логическая единица. От лат. recessus — отступление. В реальности рецессивное состояние — это пауза между сеансами передачи информации.

Работа CAN low speed

Устройство низкоскоростной шины CAN low speed описано в стандарте ISO 11898-3. Для нее уровни напряжения такие.

Логическая 1 (рецессивное состояние):

  • 0 вольт на проводе CAN_H;
  • 5 вольт на проводе CAN_L;
  • дифференциальное напряжение 5 вольт.

Логический 0 (доминантное состояние):

  • 3,6 вольта на проводе CAN_H;
  • 1,4 вольта на проводе CAN_L;
  • дифференциальное напряжение 2,2 вольта.

Логический ноль доминирует над логической единицей в конфликтных ситуациях. И это реализовано аппаратно в схемотехнике трансивера.

Защита от помех

Ведь и на одном проводе все работало, так зачем усложнять?

CAN-шиной объединены самые ответственные блоки управления автомобиля. От качества этой связи напрямую зависит безопасность движения. В связи с этим CAN-шине предъявляются высокие требования к надежности и безотказности.

Дело в том, что многие компоненты автомобиля являются источниками электромагнитных помех. Особенно система зажигания.

Использование витой пары позволяет в значительной степени решить эту проблему. Давайте посмотрим, как это происходит.

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

Предположим, что на проводе CAN-high в рецессивном состоянии напряжение было 2,5 В. Помеха увеличила его на 1,1 В. Соответственно мы получили напряжение в 3,6 В, которое могло быть интерпретировано уже как доминантное состояние.

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

Таким образом, на проводе CAN_L напряжение поднимется на те же 1,1 В. А разница напряжений как была 2,5 — 2,5 = 0 В, так и осталась 3,6 — 3,6 = 0 В. Действие помехи на шину в доминантном состоянии аналогично.

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

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

Зачем нужен трансивер

Название Transceiver произошло от двух слов receiver (приемник) и transmitter (передатчик). Переводится как приемопередатчик.

Трансиверы обрабатывают дифференциальный сигнал, принимают и передают информацию. Трансивер связывает провода витой пары (CAN_H и CAN_L) с линиями Tx и Rx микропроцессора, который не умеет напрямую работать с CAN-шиной.

Tx — Transmit (передавать), Rx — Recieve (получать).

По линии Tx микропроцессор отправляет информацию в шину данных, а по линии Rx он считывает информацию.

В трансивере находится схемотехника, которая формирует разные уровни напряжения на проводах CAN_H и CAN_L для доминантного и рецессивного состояния шины.

Трансивер обычно устанавливается внутри электронного блока управления и представляет собой специализированную микросхему.

Оконечные сопротивления

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

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

Правильно подобранные конечные нагрузочные сопротивления компенсируют отраженный сигнал. Обычно это два резистора по 120 ом внутри блока управления. Они подключены к противоположным концам шины. Таким образом, сопротивление между проводами can-шины составляет около 60 ом.

У разных автопроизводителей величина оконечных сопротивлений может отличаться.

Где применяется CAN high speed, а где CAN low speed

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

Скорость передачи данных шины can high speed обычно составляет 500 кбит/с, хотя стандартом ISO допускается скорость до 1 Мбит/с.

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

В соответствии со стандартом ISO скорость CAN low speed составляет 125 кбит/с.

Особенностью медленного CAN является возможность сохранять работоспособность в однопроводном режиме, если второй провод витой пары поврежден.

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

Межсетевой шлюз (CAN gateway)

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

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

Часто в CAN gateway хранится информация об автомобиле, VIN номер и комплектация. Именно из него сканеры получают информацию при автоопределении автомобиля.

Сам межсетевой интерфейс может быть выполнен как отдельным блоком, так и встроен в другие блоки. Обычно это приборная панель, электронный замок зажигания или блок управления бортовой сети (Body Control Module — BCM).

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

Канальный уровень CAN-шины (передача данных)

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

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

Эту задачу решает канальный уровень (data link layer), описанный в стандарте ISO 11898-1. Каждый узел может отправлять и принимать информацию кадр за кадром.

Кадр (frame) — это структурированная последовательность единиц и нолей.

Существует четыре типа сообщений-кадров:

  • Кадр данных (data frame). Передает информацию одному или нескольким узлам-приемникам.
  • Кадр удаленного запроса (remote frame). Запрашивает данные у других узлов.
  • Кадр ошибки (error frame). Сообщает об ошибках.
  • Кадр перегрузки (overload frame). Сообщает о состоянии перегрузки.

Из чего состоит кадр CAN-шины

Рассмотрим структуру самого распространенного кадра Data frame.

SOF. Начало кадра

Первый бит кадра (SOF — Start Of Frame) всегда доминантный логический ноль. Он выводит шину из состояния холостого хода и начинает передачу данных.

Арбитражное поле

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

В CAN-шине используется приоритет сообщения, а не приоритет блока управления.

Зачем нужен арбитраж CAN-шины

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

Любой узел может начать передачу данных, когда обнаружит незанятую шину. Это может привести к тому, что два или более контроллеров начнут передачу сообщения почти одновременно.

Нет такого блока, который будет вещать всегда первым. Первым всегда будет передавать информацию тот блок, чьё сообщение имеет наивысший приоритет. И как раз этот спор и решается в арбитражном поле. Разберемся как именно.

Как происходит арбитраж CAN-шины и что такое идентификатор

Представим, что есть три узла, которые одновременно хотят получить доступ к CAN-шине. После бита «Start Of Frame» каждый из этих блоков начинает отправлять биты идентификаторов в шину данных.

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

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

Пока отправляемые биты у всех блоков совпадают, все идет без изменений. Но рано или поздно случается конфликт, когда разные узлы одновременно отправят разные биты. И вот тут самое время вспомнить, что доминантный бит (логический 0) перебивает рецессивный бит (логическую 1) в конфликтных ситуациях. Это реализовано аппаратно в схемотехнике трансивера.

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

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

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

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

Поскольку шина является проводной, а доминирующий бит логически равен 0, следует, что в арбитраже победит сообщение с численно наименьшим Арбитражным полем.

11-bit и 29-bit идентификаторы

11 бит дают возможность использовать только 2048 идентификаторов, то есть 2048 параметров Этого иногда бывает недостаточно. В этом случае используется 29-битый ID. Таким образом, появляется возможность использовать миллионы идентификаторов.

Кадр с расширенным 29-битным идентификатором (CAN 2.0B) идентичен кадру с 11-битным идентификатором (CAN 2.0A), за исключением более длинного идентификатора. Он используется, например, в протоколе J1939 для большегрузных автомобилей.

Что произойдет, если узел будет один на шине и попытается передать сообщение?

Блок, конечно, выиграет арбитраж и с радостью продолжит передачу сообщения. Но когда придет время подтверждения… ни один узел не пошлет доминирующий бит подтверждения ACK (о нем ниже).

Передатчик почувствует ошибку ACK, пошлет флаг ошибки, увеличит свой счетчик ошибок передачи на 8 и начнет повторную передачу. Это произойдет 16 раз. Затем передатчик перейдет в режим пассивной передачи ошибок.

По специальному правилу алгоритма ограничения ошибок, счетчик ошибок передачи не увеличивается, если узел пассивен и ошибка является ошибкой ACK. Таким образом, узел будет продолжать передачу вечно, по крайней мере, до тех пор, пока кто-то не подтвердит сообщение.

RTR. Запрос на удаленную передачу.

Следующий бит Remote Transmission Request (RTR). Это бит запроса. Он определяет какого типа будет сообщение:

  • Dataframe, когда вещающий блок сообщает информацию или
  • Remote frame, когда передающий блок запрашивает информацию.
Поле Control

Дальше следует поле Control, в котором первый бит ID extension. Если в нем будет логический ноль, то будет использоваться стандартный 11-битный идентификатор, а если логическая единица, то расширенный 29-битный.

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

Биты DL3 — DL0 в поле Control используется для определения заранее количества байтов, которые будут передаваться в следующем поле Data. Чтобы не передавать лишние биты и сократить время фрейма, тем самым увеличив скорость передачи данных. По этой же причине по-умолчанию используется 11-битный идентификатор, чтобы без надобности не тратить время на лишние 18 бит.

Поле Data

В поле Data находится самая полезная информация, которую нужно передать. Обороты, скорость, нагрузка и т. п.

Ради передачи этой информации и строится весь фрейм. Это поле может составлять от 1 до 8 байт, то есть от 8 до 64 бит.

CRC. Контрольная сумма

Следующее поле это контрольная сумма CRC (Cyclic Redundancy Check). Представляет собой значение, вычисленное по определенной формуле, на основе битов из предыдущих полей.

То есть все эти биты обрабатываются определенным алгоритмам в блоке-отправителе. Результат этой отработки записывается в поле контрольной суммы кадра.

После этого уже блок-получатель повторно вычисляет контрольную сумму CRC таким же алгоритмом, но уже на базе полученной информации.

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

Если же контрольная сумма не сходится, распознается ошибка передачи данных и полученная информация игнорируется.

ACK. Бит подтверждения

Следующим идет бит подтверждения ACK (Acknowledge). Узел-отправитель выставляет в нем рецессивное состояние, но узел-получатель перебивает его доминантным в случае успешного приема, тем самым подтверждая передачу сообщения.

Отправитель проверяет наличие бита подтверждения и повторно передает сообщение, если подтверждение не было обнаружено.

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

EOF. Конец кадра

Дальше идут 7 бит поля End of Frame (EOF). Это конец кадра, после которого кадр завершается и шина снова переходит состояние холостого хода.

И так до тех пор, пока один или несколько блоков снова не начнут отправлять сообщения.

Адресация и идентификация сообщений CAN-шины

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

Фактически, в CAN не существует понятия адреса сообщения. Вместо этого, содержимое сообщений идентифицируется по ID, который присутствует в кадре. Считается, что сообщения CAN имеют «адрес содержимого».

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

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

Стандарт не говорит, что поле арбитража должно использоваться в качестве идентификатора сообщения. Тем не менее это очень распространенное использование.

Что такое CAN FD (Flexible Data Rate CAN)?

С расширением функциональности автомобиля возрастает и нагрузка на CAN-шину. CAN FD (Flexible Data Rate) была разработана как шина CAN «следующего поколения».

Стандартная длина каждого сообщения была увеличена в 8 раз — с 8 до 64 байт, а максимальная скорость передачи данных была аналогично увеличена с 1 Мбит/с до 8 Мбит/с. Одним словом, CAN FD повышает скорость и эффективность. Поэтому она используется в современных автомобилях.

CAN FD обратно совместим и поддерживает протокол CAN 2.0, а также специальные протоколы, такие как SAE J1939.

CAN FD по сути является расширением оригинального стандарта CAN, как указано в ISO 11898-1, и полностью совместим с классическими CAN-шинами.

Отличия CAN FD от обычной CAN-шины

  • CAN FD работает одновременно на двух скоростях. Поле арбитража или заголовок кадра передается со стандартной скоростью, например 500 кбит/с. А поле данных передается на скорости в несколько раз выше, вплоть до 8 Мбит/с.
  • Размер сообщения увеличен до 64 байт. В обычной CAN-шине — максимум 8 байт.
  • Контроллер CAN FD способен принимать обычные CAN сообщения, а стандартный CAN узел не может принимать кадры формата CAN FD.
  • Для шины CAN FD нужны специальные микросхемы-трансиверы с повышенным быстродействием.

В настоящее время CAN FD используется в высокопроизводительных автомобилях, но по мере развития ЭБУ и снижения стоимости аппаратного обеспечения CAN FD, это лишь вопрос времени, когда CAN FD появится практически во всех автомобилях.

Будущее шины CAN

В будущем протокол шины CAN будет оставаться актуальным, хотя на него будут влиять основные тенденции:

  • Потребность во все более расширяющихся функциях автомобиля.
  • Рост облачных вычислений.
  • Развитие Интернета вещей (Internet of Things — IoT).
  • Развитие самоуправляемых автомобилей (без водителя).

В частности, рост числа подключенных автомобилей V2X и облачных вычислений приведет к быстрому росту автомобильной телематики и IoT CAN-регистраторов.

V2X (Vehicle-to-everything) — система обмена данных между транспортными средствами, элементами дорожной инфраструктуры и другими участниками движения

В свою очередь, перевод сети шины CAN в режим «онлайн» также подвергает автомобили рискам безопасности и может потребовать перехода на новые протоколы CAN, такие, как CAN FD.

Максимальная скорость CAN-шины

Максимальная скорость шины CAN, согласно стандарту, составляет 1 Мбит/с. Тем не менее некоторые CAN-контроллеры могут работать и с более высокими скоростями.

Медленный CAN low speed (ISO 11898-3) может работать на скорости до 125 кбит/с.

Однопроводной CAN может работать со скоростью около 50 кбит/с в стандартном режиме, а в специальном высокоскоростном режиме, используемом, например, для программирования ЭБУ, — до 100 кбит/с.

Максимальная длина кабеля в CAN-шине

При скорости 1 Мбит/с максимальная длина кабеля может составлять около 40 метров. Это связано с тем, что схема арбитража требует, чтобы волновой фронт сигнала успел распространиться до самого удаленного узла и обратно. Другими словами, длина кабеля ограничена скоростью света.

Другие максимальные длины кабелей (значения приблизительны):

  • 100 метров при скорости 500 кбит/с;
  • 200 метров — при 250 кбит/с;
  • 500 метров — при 125 кбит/с;
  • 6 километров — при 10 кбит/с.

Если для обеспечения гальванической развязки используются оптопары, максимальная длина шины соответственно уменьшается.

Новичку о подключении к CAN шине

CAN Hacker

Для работы с CAN шиной автомобиля необходимо знать:

CAN шина – это сеть обмена данными определенная в стандарте ISO 11898. Другие каналы обмена данными в автомобиле не могут быть названы CAN шиной. AVC-LAN, BEAN, J1708, VAN и другие старые протоколы это НЕ CAN !

В автомобиле может быть более одной CAN шины. Для каждого функционального сегмента автомобиля выделяется своя сеть CAN. Выделенные сети могут работать на разных скоростях.

Скорости работы CAN шины

CAN на разных автомобилях и в разных сегментах сети может работать на разных скоростях.

Названия сегментов сети: Мотор, Шасси, Комфорт, Салон – условны! У Каждого автопроизводителя свои названия этих участков сети!

  • Группа VAG: Мотор\шасси – 500 кбит\с, Комфорт – 100 кбит\с и с 2018 года шина Комфорт может иметь скорость 500 кбит\с., Диагностика: 500 кбит\с.
  • BMW : Мотор\Шасси – 500кбит\с, Комфорт – 100 кбит\с и с 2018 года шина Комфорт может иметь скорость 500 кбит\с., Диагностика: 500 кбит\с.
  • Mercedes-Benz : Мотор\Шасси – 500 кбит\с, Комфорт 83.333 кбит\с, 250 кбит\с, Диагностика: 500 кбит\с.
  • Ford, Mazda : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с. (Для Ford может быть больше вариантов)
  • KIA\Hyundai : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с, 500 кбит\с, Мультимедиа: 125 кбит\с, 500 кбит\с., Диагностика: 500 кбит\с.
  • GM : Мотор\Шасси – 500 кбит\с, Комфорт: 33.333 кбит\с, 95.2 кбит\с, Диагностика: 500 кбит\с.
  • Toyota, Nissan, Honda, Subaru, Suzuki : 500 кбит\с (может использоваться гейтвей! Изучайте сетевую архитектуру автомобиля!)
  • Mitsubishi : Мотор\Шасси: 500 кбит\с, Салон\Комфорт – 83.333 кбит\с, 250 кбит\с, Диагностика: 500 кбит\с.
  • Volvo : Мотор\Шасси: 500 кбит\с, Салон\Комфорт – 500 кбит\с, 125 кбит\с, Диагностика: 500 кбит\с.
  • Renault : 500 кбит\с
  • Peugeot : Мотор\Шасси – 500 кбит\с, Комфорт 125 кбит\с.
  • Lada : 500 кбит\с
  • Коммерческая и специальная техника : Стандарт J1939 250 или 500 кбит\с.

Сегментация CAN шины по функциональному назначению

  • Как правило разные, сегменты сети разделены специальным устройством, которое называется Гейтвей (Gateway, ZGW, ETACS, ICU) .
  • В роли гейтвея может выступать панель приборов (для простых автомобилей) или отдельный специальный модуль межсетевого интерфейса.
  • Гейтвей разделяет потоки данных в разных сегментах сети и обеспечивает связь сегментов сети работающих на разных скоростях.
  • ВАЖНО: На многих современных автомобилях CAN шина в диагностическом разъеме OBD2 отделена от других участков сети при помощи гейтвея (Gateway), поэтому подключившись к CAN шине OBD разъема невозможно увидеть поток данных. В этом случае можно увидеть только обмен между диагностическим инструментом и автомобилем во время процесса диагностики! Так же модулем Gateway оборудованы автомобили японских марок >2016г. в зависимости от модели. Автомобили немецких марок оборудуются таким модулем с момента появления в них CAN шины.
  • ОБЯЗАТЕЛЬНО изучайте схемы на исследуемый автомобиль, чтобы знать к какому сегменту сети Вы подключаетесь!

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

Реализации CAN на уровне электрических сигналов

CAN шина может быть реализована физически тремя способами:

1 ISO11898-2 или CAN-High Speed.

Классическая витая пара нагруженная с обоих концов резисторами 120 Ом.

В этом случае уровни на шине CAN выглядят так:

Для такой реализации сети используются как правило обычные CAN трансиверы в 8 выводном корпусе, аналоги PCA82C250, TJA1050 и им подобные. Работает такая конфигурация на скоростях 500 кбит\с и выше. (Но могут быть исключения) .

2 ISO11898-3 или CAN-Low Speed или Faut Tolerant CAN

В этом варианте используется та же витая пара, но линии CAN-Low и CAN-High подтянуты к напряжению питания и массе соответственно.
Подробное описание FT-CAN по ссылке
Такой вариант CAN шины способен переключаться в однопроводный режим в случае повреждения одной из линий. Работает на скоростях до 250 кбит\с.Уровни сигнала на шине отличаются от High Speed CAN, при этом не теряется возможность работы с шиной FT-CAN используя трансиверы High-Speed CAN и соблюдая ряд условий.
Подробнее в нашей статье о FT-CAN – ссылка.

Fault tolerant CAN обычно используется для низкоскоростного обмена между блоками управления относящимися к сегменту сети Салон\Комфорт\Мультимедиа.

ВАЖНО: При подключении к шине Faul tolerant CAN, подключать терминальный резистор 120 Ом между линиями CAN-High и CAN-Low НЕ НУЖНО !

3 Single Wire CAN или SW-CAN

Однопроводный вариант шины CAN. Работает на скорости 33.333 кбит\с

Используется специальный тип трансиверов. Для того что бы подключиться к такому варианту шины CAN необходимо линию CAN-High анализатора подключить к шине SW-CAN а линию CAN-Low к массе\земле.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *