Кан протокол что это

Обновлено: 19.05.2024

СОДЕРЖАНИЕ

История

Разработка CAN- шины началась в 1983 году в компании Robert Bosch GmbH . Протокол был официально выпущен в 1986 году на конференции Общества автомобильных инженеров (SAE) в Детройте , штат Мичиган . Первые микросхемы контроллеров CAN были представлены Intel в 1987 году, а вскоре после этого - Philips . Выпущенный в 1991 году Mercedes-Benz W140 стал первым серийным автомобилем, оснащенным системой мультиплексной проводки на основе CAN.

Компания Bosch опубликовала несколько версий спецификации CAN, последняя из которых - CAN 2.0, опубликованная в 1991 году. Эта спецификация состоит из двух частей; часть A предназначена для стандартного формата с 11-битным идентификатором, а часть B - для расширенного формата с 29-битным идентификатором. Устройство CAN, использующее 11-разрядные идентификаторы, обычно называется CAN 2.0A, а устройство CAN, использующее 29-разрядные идентификаторы, обычно называется CAN 2.0B. Эти стандарты находятся в свободном доступе от Bosch вместе с другими спецификациями и официальными документами .

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

CAN-шина - это один из пяти протоколов, используемых в стандарте бортовой диагностики (OBD) -II. Стандарт OBD-II является обязательным для всех автомобилей и легких грузовиков, продаваемых в Соединенных Штатах с 1996 года. Стандарт EOBD является обязательным для всех автомобилей с бензиновым двигателем, продаваемых в Европейском союзе с 2001 года, и всех автомобилей с дизельным двигателем с 2004 года.

Приложения

  • Легковые автомобили, грузовики, автобусы (автомобили внутреннего сгорания и электромобили)
  • Сельскохозяйственная техника
  • Электронное оборудование для авиации и навигации
  • Промышленная автоматизация и механическое управление
  • Лифты, эскалаторы
  • Автоматизация зданий
  • Медицинские инструменты и оборудование
  • Модельные железные дороги / железные дороги
  • Суда и другие морские приложения
  • Системы управления освещением

Автомобильная промышленность

  • Автоматический запуск / остановка : различные входные сигналы датчиков со всего транспортного средства (датчики скорости, угла поворота рулевого колеса, включение / выключение кондиционера, температура двигателя) сопоставляются через шину CAN, чтобы определить, можно ли остановить двигатель в неподвижном состоянии для повышения экономии топлива и выбросы.
  • Электрические стояночные тормоза : функция "удержания на холме" принимает входные данные от датчика наклона автомобиля (также используемого системой охранной сигнализации) и датчиков скорости движения (также используемых системой ABS, системой управления двигателем и контролем тяги) через шину CAN, чтобы определить, автомобиль остановлен на склоне. Точно так же сигналы от датчиков ремня безопасности (часть органов управления подушками безопасности) поступают от шины CAN, чтобы определить, пристегнуты ли ремни безопасности, так что стояночный тормоз автоматически отпускается при трогании с места.
  • Системы помощи при парковке : когда водитель включает передачу заднего хода, блок управления трансмиссией может послать сигнал по шине CAN для активации как системы датчика парковки, так и модуля управления дверью, чтобы зеркало на боковой двери переднего пассажира наклонилось вниз, чтобы показать положение бордюр. Шина CAN также принимает входные сигналы от датчика дождя для включения стеклоочистителя заднего стекла при движении задним ходом.
  • Системы автоматического ассистента движения по полосе / предотвращения столкновений : входные сигналы от датчиков парковки также используются шиной CAN для передачи данных о внешнем приближении в вспомогательные системы водителя, такие как предупреждение о выезде с полосы движения, а в последнее время эти сигналы проходят через шину CAN для активации тормоза. по проводам в системах активного предотвращения столкновений.
  • Автоматическая очистка тормозов: сигнал поступает от датчика дождя (используется в основном для автоматических дворников ) через шину CAN на модуль ABS, чтобы инициировать незаметное торможение во время движения для удаления влаги с тормозных роторов. Некоторые высокопроизводительные модели Audi и BMW включают эту функцию.
  • Датчики могут быть размещены в наиболее подходящем месте, а их данные используются несколькими ЭБУ. Например, датчики наружной температуры (традиционно размещаемые спереди) можно разместить в наружных зеркалах, чтобы избежать нагрева двигателем, и данные, используемые двигателем, климат-контролем и дисплеем водителя.

В последние годы был введен стандарт шины LIN (Local Interconnect Network) в дополнение к CAN для некритичных подсистем, таких как кондиционирование воздуха и информационно-развлекательная система, где скорость и надежность передачи данных менее важны.

Другой

Архитектура

Физическая организация

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

Все узлы соединены друг с другом через физически обычную двухпроводную шину . Провода представляют собой витую пару с характеристическим сопротивлением 120 Ом (номинальное) .

Высокоскоростная сигнализация CAN направляет провод CANH к 3,5 В, а провод CANL к 1,5 В, когда какое-либо устройство передает доминантный (0), в то время как, если ни одно устройство не передает доминантный сигнал, согласующие резисторы пассивно возвращают два провода в рецессивный (1) состояние с номинальным дифференциальным напряжением 0 В. (Приемники считают любое дифференциальное напряжение менее 0,5 В рецессивным.) Доминирующим дифференциальным напряжением является номинальное 2 В. Доминирующее синфазное напряжение (CANH + CANL) / 2 должно быть в пределах от 1,5 до 3,5 В от общего, в то время как рецессивное синфазное напряжение должно быть в пределах ± 12 от общего.

Низкоскоростная отказоустойчивая сигнализация CAN работает аналогично высокоскоростной CAN, но с большими колебаниями напряжения. Доминантное состояние передается путем направления CANH к напряжению источника питания устройства (5 В или 3,3 В) и CANL к 0 В при передаче доминирующего (0), в то время как согласующие резисторы переводят шину в рецессивное состояние с CANH на 0. V и CANL при 5 В. Это позволяет использовать более простой приемник, который просто учитывает знак CANH-CANL. Оба провода должны выдерживать напряжение от −27 до +40 В без повреждений.

Электрические свойства

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

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

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

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

В высокоскоростной CAN используется резистор 120 Ом на каждом конце линейной шины. Низкоскоростной CAN использует резисторы в каждом узле. Могут использоваться другие типы оконечной нагрузки, такие как оконечная цепь смещения, определенная в ISO11783 .

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


Каждому узлу требуется

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

Передача информации

Например, рассмотрим сеть CAN с 11-битным идентификатором с двумя узлами с идентификаторами 15 (двоичное представление, 00000001111) и 16 (двоичное представление, 00000010000). Если эти два узла передают одновременно, каждый сначала передаст стартовый бит, а затем передаст первые шесть нулей своего идентификатора без принятия арбитражного решения.

Начальный
бит
Биты идентификатора Остальная часть кадра
10 9 8 7 6 5 4 3 2 1 0
Узел 15 0 0 0 0 0 0 0 0 1 1 1 1
Узел 16 0 0 0 0 0 0 0 1 Прекращена передача
CAN данные 0 0 0 0 0 0 0 0 1 1 1 1

Когда передается 7-й бит идентификатора, узел с идентификатором 16 передает 1 (рецессивный) для своего идентификатора, а узел с идентификатором 15 передает 0 (доминантный) для своего идентификатора. Когда это происходит, узел с идентификатором 16 знает, что он передал 1, но видит 0 и понимает, что произошла коллизия, и проиграл арбитраж. Узел 16 прекращает передачу, что позволяет узлу с идентификатором 15 продолжить передачу без потери данных. Узел с наименьшим идентификатором всегда выигрывает арбитраж и, следовательно, имеет наивысший приоритет.

Скорость передачи данных до 1 Мбит / с возможна при длине сети менее 40 м. Уменьшение скорости передачи данных позволяет увеличивать сетевые расстояния (например, 500 м при 125 кбит / с). Усовершенствованный стандарт CAN FD позволяет увеличить скорость передачи данных после арбитража и может увеличить скорость раздела данных до десяти или более раз от скорости передачи данных арбитража.

Распределение ID

Битовая синхронизация

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

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

Регулировка выполняется путем деления каждого бита на несколько отрезков времени, называемых квантами, и присвоения некоторого количества квантов каждому из четырех сегментов внутри бита: синхронизации, распространения, фазового сегмента 1 и фазового сегмента 2.

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

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

Протокол CAN, как и многие сетевые протоколы, можно разложить на следующие уровни абстракции :

  • контакт 2: CAN-Low (CAN−)
  • контакт 3: GND (земля)
  • контакт 7: CAN-High (CAN +)
  • контакт 9: CAN V + (питание)


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

Отсутствие полной спецификации физического уровня (механического в дополнение к электрическому) освободило спецификацию шины CAN от ограничений и сложности физической реализации. Однако это оставило реализации CAN-шины открытыми для проблем совместимости из-за механической несовместимости. Чтобы улучшить совместимость, многие производители транспортных средств создали спецификации, описывающие набор разрешенных CAN-трансиверов в сочетании с требованиями к паразитной емкости на линии. Допустимая паразитная емкость включает как конденсаторы, так и защиту от электростатического разряда (ESD согласно ISO 7637-3). Помимо паразитной емкости, системы 12 В и 24 В не имеют одинаковых требований в отношении максимального напряжения линии. Действительно, во время мероприятий по запуску от внешнего источника линии легковых автомобилей могут достигать 24 В, в то время как системы грузовых автомобилей могут достигать 36 В. На рынке появляются новые решения, позволяющие использовать один и тот же компонент как для CAN, так и для CAN FD (см.).

Во время рецессивного состояния сигнальные линии и резистор (-ы) остаются в состоянии высокого импеданса по отношению к обеим рельсам. Напряжения на CAN + и CAN− имеют тенденцию (слабо) к напряжению на полпути между шинами. Рецессивное состояние присутствует на шине только тогда, когда ни один из передатчиков на шине не заявляет о доминантном состоянии.

Во время доминирующего состояния сигнальные линии и резистор (ы) переходят в состояние с низким импедансом по отношению к шинам, так что ток течет через резистор. Напряжение CAN + стремится к +5 В, а CAN− стремится к 0 В.

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

Кадры

CAN имеет четыре типа кадров:

  • Фрейм данных: фрейм, содержащий данные узла для передачи.
  • Удаленный кадр: кадр, запрашивающий передачу определенного идентификатора.
  • Кадр ошибки: кадр, переданный любым узлом, обнаружившим ошибку.
  • Кадр перегрузки: кадр для вставки задержки между данными или удаленным кадром

Фрейм данных

  • Формат базового кадра: с 11 битами идентификатора
  • Расширенный формат кадра: с 29 битами идентификатора

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

Оба интерфейсных протокола — RS 485 (стандарт физического уровня для асинхронного интерфейса) и CAN (Controller Area Network — стандарт промышленной сети, ориентированный, прежде всего, на объединение в единую сеть различных исполнительных устройств и датчиков) — существуют еще с середины 1980 х годов, когда они были впервые представлены в качестве стандартов для организации каналов связи. Долгое время эти интерфейсы развивались сами по себе, не касаясь друг друга. Но прошло время, и ситуация начала меняться. Почему? Разобраться в этом нам поможет небольшая дискуссия, проведенная в рамках статьи.

В отличие от предыдущих стандартов физического уровня, в частности RS‑423, RS‑422 и RS‑232, появление RS‑485 стало поистине эволюционным этапом. Системы связи с поддержкой данного стандарта представляют собой многоточечную систему и имеют до 32 узлов в одиночной системе (с репитерами до 256).

Примерно в то же время, когда создавались упомянутые выше интерфейсы, используемые в таких приложениях, как компьютерные клавиатуры и мыши, принтеры и оборудование для промышленной автоматизации, интерфейс CANbus проектировался как автомобильная коммуникационная платформа, предложенная Робертом Бошем (Robert Bosch), владельцем компании Robert Bosch GmbH, для снижения стоимости производства авто. Эта шина стала альтернативой традиционным толстым многожильным автомобильным кабелям и упростила их прокладку благодаря применению многоузловых шин. Впервые представленный в модели BMW‑850 в 1986 году, автомобильный CAN-интерфейс сэкономил в ней более 2 км различных проводов! Кроме того, было значительно сокращено количество разъемов, а оценочная экономия веса машины составила 50 кг [1] . Так сложилось, что RS‑485 был предназначен для нужд промышленного рынка, а CAN — для автомобильного и транспортного сегмента, но постепенно он нашел место и в приложениях, скажем так, вне своей юрисдикции, то есть в автомобильной и аэрокосмической отраслях.

Согласно рыночным отчетам, применение CANbus увеличивается в разы, что является исключительным фактом для рынка интерфейсов. И хотя отчеты не разделяют промышленные и автомобильные рынки, многие согласны с тем, что промышленные рынки составляют около 20–30% от общего объема выпускаемой продукции. Рост использования интерфейсов в автомобильной промышленности можно объяснить распространением электроники, установленной сегодня в автомобилях. Современные автомобили имеют сложные микропроцессорные системы, необходимые для таких функций, как резервные камеры, автоматическая парковка, информационно-развлекательные системы, распознавание слепых зон и многое другое. Появление данных подсистем связано с увеличением числа датчиков и микроконтроллеров в авто, требующихся для обработки информации от всех сложных систем, действующих внутри машины. Еще в 1990‑х годах многие автопроизводители начали переход от ручного переключения передач к автоматическим, а позже и к коробкам передач с электронным управлением, основанным на поступающих на микроконтроллер данных о скорости, положении дроссельной заслонки и информации от барометрических датчиков. Сегодня на одном транспортном средстве можно насчитать свыше 100 датчиков и микроконтроллеров, многие из которых общаются по шине CAN. Даже полностью электрический автомобиль Tesla S имеет внутри 65 микроконтроллеров [2].

Оба протокола имеют дифференциальный выходной сигнал. Выход RS‑485 представляет собой классический дифференциальный сигнал, в котором один сигнал является инвертированным, или зеркальным отражением другого. Выход A — неинвертирующая линия, а выход B — инвертирующая линия. Дифференциальный диапазон +1,5…+5 В равен логической 1 или значению, а пределы –1,5…–5 В — логическому 0 или пробелу. Сигнал с уровнем, лежащим в диапазоне –1,5…+1,5 В, считается как неопределенный. Важно отметить, что когда RS‑485 не используется, то его выход пребывает в состоянии высокого импеданса.

Сравнение допустимых уровней выходных дифференциальных сигналов драйверов RS 485 и CAN

Рис. 1. Сравнение допустимых уровней выходных дифференциальных сигналов драйверов RS 485 и CAN

Для стороны приемника стандарт RS‑485 определяет входной дифференциальный сигнал, когда он находится в пределах ±200 мВ…+5 В. Для CAN входной дифференциальный сигнал составляет +900 мВ…+3 В, а рецессивный режим находится в диапазоне –120…+500 мВ. Когда шина пребывает в режиме ожидания или когда не загружена и трансивер находится в рецессивном состоянии, напряжения на линиях CANH и CANL должны быть в рамках 2–3 В.

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

Сравнение допустимых уровней входных дифференциальных сигналов для RS 485 и CAN со стороны приемника

Рис. 2. Сравнение допустимых уровней входных дифференциальных сигналов для RS 485 и CAN со стороны приемника

Однако многим приложениям требуется более высокая производительность в части CMR, что относится к обоим типам рассматриваемых интерфейсов. Это связано с тем, что они в основном используются для многоузловых шин, а их узлы могут иметь источники питания с разными силовыми трансформаторами или кабели находиться в непосредственной близости к оборудованию с достаточно мощными переменными электромагнитными полями, способными повлиять на заземление между узлами системы. Таким образом, учитывая множество самых различных приложений, работающих в жестких условиях индустриальной среды, часто требуется более высокая устойчивость CMR, выходящая за пределы стандартных уровней –7…+12 В.

Для решения этой проблемы существуют приемопередатчики RS‑485 и CAN нового поколения, которые имеют значительно более широкий диапазон устойчивости к воздействию синфазной помехи, а именно до ±25 В. На диаграмме, приведенной на рис. 3, представлен флуктуирующий диапазон синфазного сигнала для приемопередатчика RS‑485. Несмотря на то, что сигнал синфазного напряжения растет вверх и вниз, пока уровень синфазного напряжения (VCM) находится в пределах допустимого диапазона, он не влияет на дифференциальный сигнал шины и приемник способен принимать и распознавать сигнал на линии без ошибок. Диаграмма на рис. 3 показывает допустимый диапазон изменения синфазного сигнала для RS‑485.

Рис. 3. Пояснение параметра CMR на примере трансивера RS 485

Еще одна особенность, присущая как приемопередатчикам CAN, так и RS‑485, — защита от сбоев. Устройства с защитой от ошибок имеют внутреннюю цепь защиты от воздействия повышенного напряжения на выходы драйвера входа приемника. Это необходимо, чтобы уберечь устройства от случайных коротких замыканий между локальным источником питания и линиями передачи. В данном направлении микросхемы компании Maxim занимают лидирующее положение в отрасли. Они, как, например, широко используемая и в настоящее время MAX13041, гарантируют уровни защиты от сбоев до ±80 В и даже с некоторым дополнительным запасом до полного пробоя и выхода цепи защиты из строя [5]. Причем важно то, что этот уровень защиты гарантируется независимо от того, подано питание на трансивер или он обесточен.

Рис. 4. Формат кадра передачи данных CAN

Для работы с 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) .
  • В роли гейтвея может выступать панель приборов (для простых автомобилей) или отдельный специальный модуль межсетевого интерфейса.
  • Гейтвей разделяет потоки данных в разных сегментах сети и обеспечивает связь сегментов сети работающих на разных скоростях.
  • ВАЖНО: На многих автомобилях (особенно VAG, MB, BMW) CAN шина в диагностическом разъеме OBD2 отделена от других участков сети при помощи гейтвея, поэтому подключившись к CAN шине OBD разъема невозможно увидеть поток данных. В этом случае можно увидеть только обмен между диагностическим инструментом и автомобилем во время процесса диагностики! Так же модулем гейтвеем оборудованы автомобили японских марок с 2016..2018 годов в зависимости от модели.
  • ОБЯЗАТЕЛЬНО изучайте схемы на исследуемый автомобиль, чтобы знать к какому сегменту сети Вы подключаетесь!

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


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

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

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

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

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


В этом варианте используется та же витая пара, но линии 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 к массе\земле.

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

Характеристики протокола CANПреимущества CAN

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

Приложения CAN

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

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


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

Максимальная скорость передачи данных составляет 1 Мбит/с при длине шины 40 м и около 40 Кбит/с при длине шины 1000 м.

Арбитраж узлов CAN-шины


Для передачи данных служит кадр данных —
Data Frame (рис. 2), который содержит:

Для запроса информации узел CAN использует кадр запроса данных Remote Frame (рис. 3), который содержит:


Обнаружение ошибок

Кроме того, существует два типа ошибок на битовом уровне:

Благодаря этим механизмам обнаружения и коррекции ошибок вероятность пропуска ошибки крайне мала. Например, при скорости 500 Кбит/с, загруженности шины 25 % и использовании в течение 2000 часов в год возникает лишь одна необнаруженная ошибка за 1000 лет. Кроме того, в шине невозможна ситуация блокировки неисправным узлом работы всей сети. Такие узлы обнаруживаются и отключаются от обмена по шине.

Разновидности CAN



До недавнего времени в промышленности был широко распространен Basic CAN с 11-разрядным идентификатором. Этот протокол допускает простую связь между микроконтроллерами и периферийными устройствами при скорости обмена вплоть до 250 Кбит/с. Однако при стремительном удешевлении CAN-контроллеров использование Full-CAN стало оправданным и для связи с медленными устройствами. Если в промышленных приложениях требуется высокоскоростной (до 1 Мбит/с) обмен данными, то непременно следует использовать Full-CAN.

Элементная база для CAN

На самом нижнем уровне CAN-шины находится собственно двухпроводная линия с терминальными резисторами. Далее для повышения помехоустойчивости расположен дифференциальный приемопередатчик — трансивер. На следующем уровне — контроллер со встроенным модулем или автономный модуль CAN, подключаемый к главному контроллеру через параллельный или последовательный порт. Связь с узлами CAN, осуществляющими обмен информацией, ведется через линии портов микроконтроллеров. CAN-контроллеры осуществляют процедуру приема-передачи данных и соединяются с шиной двумя сигналами: RxD для приема с шины и TxD для передачи на шину. Реализация CAN-шины с помощью микроконтроллеров Infineon представлена на рис. 6.


Микроконтроллеры с CAN-модулем

Одним из факторов, обеспечивших популярность CAN, является богатый выбор и доступная цена элементной базы различных производителей — Infineon, Motorola, Microchip, Philips и др.

Результат Фирма Тип микроконтроллера
18% Infineon C505C/C515C
28% Infineon C16x
13% Dallas DS80C390
13% Philips 591/592/598
22% Atmel/Temic T89C51CC01
6% ST Micro ST10
Тип Версия CAN Кол-во сообщ. CAN-модуль Корпус Примечание
С505СА V2.0 B 15 1 x CAN MQFP-44 8 bit MC
С151С V2.0 B 15 1 x CAN MQFP-80 8 bit MC
С161СS V2.0 B 30 2 x CAN TQFP-128 16 bit MC
C164CI V2.0 B 15 1 x CAN MQFP-80 16 bit MC
C167CR V2.0 B 15 1 x CAN MQFP-144 16 bit MC
C167CS V2.0 B 30 2 x CAN MQFP-144 16 bit MC
TC1775 V2.0 B 32 TwinCAN BGA-329 32 bit MC
SAE81C90 V2.0 A 16 1 x CAN PLCC-44 Stand Alone
SAE81C91 V2.0 A 16 1 x CAN PLCC-28 Stand Alone
SAK82C900 V2.0 B 32 TwinCAN P-DSO-28 Stand Alone

Кроме того, следует сказать также несколько слов о МК фирмы Philips — одного из родоначальников элементной базы CAN. На смену устаревшему автономному CAN-контроллеру Philips PCA82C200 пришел полностью совместимый с ним контроллер SJA1000, работающий со стандартом CAN V2.0 B. Необходимо отметить, что PCA82C200 поддерживает только стандарт CAN V2.0 A и способен передавать и принимать только стандартный CAN-протокол, то есть при приеме расширенного кадра он генерирует ошибку и может разрушить всю сеть. В SJA1000 за счет поддержки стандарта PeliCAN (чтение и запись счетчиков ошибок, программирование их количественного порога) значительно расширены возможности по управлению CAN.


Читайте также: