Jump to content

CAN-шина

(Перенаправлено с CANbus )

Сеть контроллеров
Тип Последовательная коммуникационная шина
История производства
Дизайнер Бош ГмбХ
Разработанный 1983 год ; 41 год назад ( 1983 )
Внешний Нет
Электрический
Сигнал Дифференциал
Макс. Напряжение 16 В постоянного тока
Данные
Сигнал данных Приемопередатчик управляемый
Ширина 1 бит (двунаправленный)
Битрейт 0,05, 0,125, 0,250, 0,500, 0,800 или 1,0   Мбит/с , до 5,0   Мбит/с для CAN FD
Макс. устройства 32, 64 или 127 (в зависимости от стандарта)
Протокол Последовательный , полудуплексный , асинхронный
Распиновка
CAN-H CAN высокий (желтый)
КАН-Л CAN низкий (зеленый)

Сеть контроллеров ( CAN ) — это стандарт автомобильной шины , предназначенный для обеспечения эффективной связи, прежде всего, между электронными блоками управления (ЭБУ). Первоначально разработанный для уменьшения сложности и стоимости электрической проводки в автомобилях за счет мультиплексирования , протокол шины CAN с тех пор был принят в различных других контекстах. Этот широковещательный протокол , ориентированный на сообщения, обеспечивает целостность данных и определение приоритетов посредством процесса, называемого арбитражем , позволяя устройству с наивысшим приоритетом продолжать передачу, если несколько устройств пытаются отправить данные одновременно, в то время как другие отступают. Его надежность повышается за счет дифференциальной сигнализации , которая снижает электрические шумы. Общие версии протокола CAN включают CAN 2.0, CAN FD и CAN XL, которые различаются по возможностям скорости передачи данных и максимальным размерам полезной нагрузки данных.

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

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

В 1993 году Международная организация по стандартизации (ISO) выпустила стандарт CAN ISO 11898, который позже был реструктурирован на две части: ISO 11898-1, который охватывает уровень канала передачи данных , и ISO 11898-2, который охватывает физический уровень CAN для высокопроизводительных систем. скорость CAN. ISO 11898-3 был выпущен позже и охватывает физический уровень CAN для низкоскоростной и отказоустойчивой CAN. Стандарты физического уровня ISO 11898-2 и ISO 11898-3 не являются частью спецификации Bosch CAN 2.0.

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

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

Приложения

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

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

[ редактировать ]

Современный автомобиль может иметь до 70 электронных блоков управления (ЭБУ) различных подсистем. [6] Обычно самым большим процессором является блок управления двигателем . Другие используются для автономного вождения, усовершенствованной системы помощи водителю (ADAS), трансмиссии , подушек безопасности , антиблокировочной системы тормозов/ABS , круиз-контроля , электроусилителя руля , аудиосистем, электрических стеклоподъемников , дверей, регулировки зеркал, аккумуляторной батареи и систем подзарядки для гибридных/электрических автомобилей. автомобили и т. д. Некоторые из них образуют независимые подсистемы, но связь между ними необходима. Подсистеме может потребоваться управлять исполнительными механизмами или получать обратную связь от датчиков. Стандарт CAN был разработан для удовлетворения этой потребности. Одним из ключевых преимуществ является то, что взаимосвязь между различными системами автомобиля может позволить реализовать широкий спектр функций безопасности, экономии и удобства с использованием только программного обеспечения - функциональность, которая увеличила бы стоимость и сложность, если бы такие функции были жестко реализованы с использованием традиционной автомобильной электрики. Примеры включают в себя:

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

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

  • Протокол шины CAN используется в электронной системе переключения передач Shimano DI2 для шоссейных велосипедов с 2009 года, а также используется системами Ansmann и BionX в их двигателях с прямым приводом.
  • Шина CAN также используется в качестве полевой шины в общих средах автоматизации, в первую очередь из-за низкой стоимости некоторых контроллеров и процессоров CAN.
  • Производители, в том числе NISMO, стремятся использовать данные CAN-шины для воссоздания реальных гоночных кругов в видеоигре Gran Turismo 6 с помощью функции регистрации данных GPS, которая затем позволит игрокам соревноваться с реальными кругами. [7]
  • Джона Хопкинса Университета Модульный протез конечности (MPL) Лаборатории прикладной физики использует локальную шину CAN для облегчения связи между сервоприводами и микроконтроллерами в протезной руке.
  • Команды, участвующие в соревнованиях FIRST Robotics, широко используют шину CAN для связи между roboRIO и другими модулями управления роботами.
  • CueScript Телесуфлеры используют протокол CAN-шины по коаксиальному кабелю для подключения CSSC — Desktop Scroll Control к основному блоку.
  • Протокол шины CAN широко применяется благодаря его отказоустойчивости в средах с электрическим шумом, таких как системы обратной связи датчиков моделей железных дорог от крупных коммерческих производителей систем цифрового командного управления и различные проекты управления цифровыми моделями железных дорог с открытым исходным кодом.
  • Компания Shearwater Research внедрила протокол как DiveCAN. [8] использовать интеграцию своих дайв-компьютеров в ребризеры для дайвинга различных производителей.

CAN 2.0 (классический CAN)

[ редактировать ]

Благодаря своему наследию CAN 2.0 является наиболее широко используемым протоколом, но его максимальный размер полезной нагрузки в восемь байт и типичная скорость передачи данных 500 кбит/с делают его непригодным для приложений с интенсивным использованием полосы пропускания. Классический CAN, который включает CAN 2.0A (стандартный CAN) и CAN 2.0B (расширенный CAN), в первую очередь отличается длиной поля идентификатора: CAN 2.0A использует 11-битный идентификатор, а CAN 2.0B использует 29-битный идентификатор. Более длинный идентификатор в CAN 2.0B позволяет использовать большее количество уникальных идентификаторов сообщений, что полезно в сложных системах со многими узлами и типами данных, но также увеличивает длину кадра, снижая максимальную скорость передачи данных. Кроме того, расширенный идентификатор обеспечивает более точный контроль над приоритезацией сообщений благодаря большему количеству доступных значений идентификатора. Однако могут возникнуть проблемы совместимости, поскольку устройства CAN 2.0B обычно могут взаимодействовать с устройствами CAN 2.0A, но не наоборот, из-за потенциальных ошибок при обработке более длинных идентификаторов. Высокоскоростной CAN 2.0 поддерживает скорость передачи данных от 40 кбит/с до 1 Мбит/с и является основой протоколов более высокого уровня. Напротив, низкоскоростной CAN 2.0 поддерживает скорость передачи данных от 40 кбит/с до 125 кбит/с и обеспечивает отказоустойчивость, позволяя продолжать связь, несмотря на неисправность в одном из двух проводов, при этом каждый узел сохраняет свое собственное завершение. [4] [9] [10] [11]

CAN FD (гибкая скорость передачи данных), стандартизированный как ISO 11898-1, был разработан компанией Bosch и выпущен в 2012 году для удовлетворения потребностей в увеличенной передаче данных в современных высокопроизводительных транспортных средствах. Он предлагает переменную скорость передачи данных во время передачи одного кадра, что позволяет фазе арбитража происходить с более низкой скоростью передачи данных для надежной связи, в то время как полезная нагрузка данных передается с более высокой скоростью передачи данных для повышения пропускной способности, что особенно полезно в условиях электрических помех. окружающей среды для лучшей помехоустойчивости. CAN FD также предлагает гибкий размер поля данных, увеличивая максимальный размер с 8 байт до 64 байт. Такая гибкость позволяет повысить эффективность передачи данных за счет уменьшения количества кадров, необходимых для передачи больших данных, что полезно для таких приложений, как данные датчиков высокого разрешения или обновления программного обеспечения.

CAN FD поддерживает обратную совместимость с устройствами CAN 2.0 за счет использования того же формата кадра, что и CAN 2.0B, с добавлением нового поля управления, указывающего, является ли кадр кадром CAN FD или стандартным кадром CAN 2.0. Это позволяет устройствам CAN FD сосуществовать с устройствами CAN 2.0 на одной шине, в то время как более высокие скорости передачи данных и больший объем полезных данных доступны только при обмене данными с другими устройствами CAN FD. [11] [10] [12]

CAN XL, определенный CiA 610-1 и стандартизированный как часть ISO11898-1, поддерживает полезную нагрузку до 2048 байт и скорость передачи данных до 20 Мбит/с. Он устраняет разрыв между CAN FD и Ethernet (100BASE-T1), сохраняя при этом преимущества CAN по разрешению коллизий. Контроллеры CAN XL также могут поддерживать связь Classic CAN и CAN FD, обеспечивая совместимость в смешанных сетях. Его большие поля данных позволяют использовать протоколы более высокого уровня, такие как IP (Интернет-протокол) и туннелирование кадров Ethernet . [4] [13] [14]

Архитектура

[ редактировать ]

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

[ редактировать ]

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

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

Эта шина использует дифференциальные проводные сигналы И. Два сигнала, CAN высокий (CANH) и CAN низкий (CANL), либо переводятся в «доминантное» состояние с CANH > CANL, либо не управляются и переводятся пассивными резисторами в «рецессивное» состояние с CANH ≤ CANL. Бит данных 0 кодирует доминантное состояние, а бит данных 1 кодирует рецессивное состояние, поддерживая соглашение проводного И, которое дает узлам с меньшими идентификационными номерами приоритет на шине.

Высокоскоростная CAN-шина. ИСО 11898-2.

В стандарте ISO 11898-2 , также называемом высокоскоростным CAN (скорость передачи данных до 1   Мбит/с в CAN, 5   Мбит/с в CAN-FD), используется линейная шина, на каждом конце которой имеется резистор сопротивлением 120 Ом.

Высокоскоростная передача сигналов CAN. ИСО 11898-2.

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

Низкоскоростная отказоустойчивая CAN-шина. ИСО 11898-3.

ISO 11898-3 , также называемый низкоскоростной или отказоустойчивой шиной CAN (до 125   кбит/с), использует линейную шину, звездообразную шину или несколько звездообразных шин, соединенных линейной шиной, и завершается в каждом узле долей общее оконечное сопротивление. , но не менее   Общее сопротивление нагрузки должно быть около 100 Ом .

Низкоскоростная передача сигналов CAN. ИСО 11898-3.

Низкоскоростная отказоустойчивая передача сигналов 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 . [9]

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

Узел CAN-шины

Каждый узел требует

  • Центральный процессор , микропроцессор или хост-процессор
    • Хост-процессор решает, что означают полученные сообщения и какие сообщения он хочет передать.
    • Датчики, исполнительные механизмы и устройства управления могут быть подключены к главному процессору.
  • CAN-контроллер — часто является неотъемлемой частью микроконтроллера.
    • Прием: контроллер CAN сохраняет полученные последовательные биты из шины до тех пор, пока не станет доступно все сообщение, которое затем может быть получено хост-процессором (обычно контроллером CAN, запускающим прерывание).
    • Отправка: главный процессор отправляет сообщение(я) передачи на контроллер CAN, который последовательно передает биты на шину, когда шина свободна.
  • Приемопередатчик соответствует стандартам ISO 11898-2/3 для устройств среднего доступа [MAU].
    • Прием: преобразует поток данных с уровней шины CAN в уровни, которые использует контроллер CAN. Обычно он имеет защитную схему для защиты контроллера CAN.
    • Передача: преобразует поток данных от контроллера CAN на уровни шины CAN.

Каждый узел может отправлять и получать сообщения, но не одновременно. Сообщение или кадр состоит в основном из идентификатора (идентификатора), который представляет приоритет сообщения, и до восьми байтов данных. CRC, слот подтверждения [ACK] и другие служебные данные также являются частью сообщения. Улучшенный CAN FD увеличивает длину раздела данных до 64 байтов на кадр. Сообщение передается последовательно на шину с использованием формата без возврата к нулю (NRZ) и может быть получено всеми узлами.

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

Передача данных

[ редактировать ]

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

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

Точные напряжения для логического 0 или 1 зависят от используемого физического уровня, но основной принцип CAN требует, чтобы каждый узел прослушивал данные в сети CAN, включая сам передающий узел(-а). Если логическая 1 передается всеми передающими узлами одновременно, то логическую 1 видят все узлы, включая как передающий(е) узел(и), так и принимающий(ие) узел(и). Если логический 0 передается всеми передающими узлами одновременно, то логический 0 виден всем узлам. Если логический 0 передается одним или несколькими узлами, а логическая 1 передается одним или несколькими узлами, то логический 0 виден всем узлам, включая узлы, передающие логическую 1. Когда узел передает логическая 1, но видит логический 0, понимает, что существует конфликт, и прекращает передачу. Используя этот процесс, любой узел, который передает логическую 1, когда другой узел передает логический 0, теряет арбитраж и выбывает. Узел, который проигрывает арбитраж, повторно ставит свое сообщение в очередь для последующей передачи, и битовый поток кадра CAN продолжает работать без ошибок до тех пор, пока не останется только один узел для передачи. Это означает, что узел, передающий первую единицу, теряет арбитраж. Поскольку 11-битный идентификатор (или 29 для CAN 2.0B) передается всеми узлами в начале кадра 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

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

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

Распределение идентификатора

[ редактировать ]

Идентификаторы сообщений должны быть уникальными. [10] на одной шине CAN, иначе два узла продолжат передачу за пределами поля арбитража (ID), что приведет к ошибке.

В начале 1990-х годов выбор идентификаторов сообщений осуществлялся просто на основе идентификации типа данных и узла-отправителя; однако, поскольку идентификатор также используется в качестве приоритета сообщения, это привело к снижению производительности в реальном времени. В этих сценариях обычно требовалось низкое использование шины CAN, около 30 %, чтобы гарантировать, что все сообщения будут соответствовать установленным срокам. Однако если вместо этого идентификаторы определяются на основе крайнего срока сообщения, то чем ниже числовой идентификатор и, следовательно, тем выше приоритет сообщения, то использование шины от 70 до 80% обычно может быть достигнуто до того, как какие-либо сроки сообщения будут пропущены. [15]

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

[ редактировать ]

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

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

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

Пример синхронизации битов CAN с 10 тактами времени на бит

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

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

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

Прикладной уровень
  • Логика, специфичная для приложения
Слой объектов
  • Фильтрация сообщений (почтовые ящики)
  • Обработка сообщений и статусов
Переносной слой

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

  • Локализация разломов
  • Обнаружение ошибок
  • Проверка сообщения
  • Благодарность
  • Арбитраж
  • Обрамление сообщения
  • Скорость и время перевода
  • Маршрутизация информации
Физический уровень
Пример электрической топологии шины CAN с терминаторными резисторами

Шина CAN ( ISO 11898-1 :2003) изначально определяла протокол канального уровня только с абстрактными требованиями для физического уровня, например, утверждая использование среды с множественным доступом на битовом уровне посредством использования доминантного и рецессивного состояний. Электрические аспекты физического уровня (напряжение, ток, количество проводников) были определены в стандарте ISO 11898-2 :2003, который сейчас широко принят. Однако механические аспекты физического уровня (тип и количество разъемов, цвета, метки, выводы) еще официально не определены. В результате автомобильный ЭБУ обычно имеет особый — часто специальный — разъем с различными типами кабелей, два из которых являются линиями шины CAN. Тем не менее, появилось несколько стандартов де-факто для механической реализации, наиболее распространенным из которых является 9-контактный штекер типа D-sub со следующей распиновкой:

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

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

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

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

ISO 11898-2 обеспечивает некоторую устойчивость к синфазному напряжению между передатчиком и приемником за счет наличия   шины 0 В, проходящей вдоль шины, для поддержания высокой степени связи напряжения между узлами. Кроме того, в упомянутой выше механической конфигурации де-факто включена шина питания для распределения мощности на каждый из узлов приемопередатчика. В конструкции предусмотрено общее питание для всех трансиверов. Фактическое напряжение, подаваемое на шину, и узлы, подаваемые на нее, зависят от приложения и официально не указаны. Обычная конструкция узла предусматривает, что каждый узел оснащен приемопередатчиками, которые оптически изолированы от своего хост-узла и получают   линейно регулируемое напряжение питания 5 В для приемопередатчиков от универсальной шины питания, обеспечиваемой шиной. Обычно это обеспечивает операционный запас на линии питания, достаточный для обеспечения совместимости между многими типами узлов. Типичные значения напряжения питания в таких сетях составляют от 7 до 30 В. Однако отсутствие формального стандарта означает, что ответственность за совместимость шин питания несут проектировщики систем.

ISO 11898-2 описывает электрическую реализацию, состоящую из конфигурации многоточечной одноконцовой симметричной линии с резисторной нагрузкой на каждом конце шины.В этой конфигурации доминирующее состояние утверждается одним или несколькими передатчиками, переключающими CAN- на подачу 0   В и (одновременно) переключающими CAN+ на напряжение шины +5   В, тем самым формируя путь тока через резисторы, которые завершают шину. По существу, согласующие резисторы являются важным компонентом системы сигнализации и включены не только для ограничения отражения волн на высокой частоте.

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

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

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

Эта стратегия передачи сигналов существенно отличается от других технологий передачи по симметричной линии, таких как RS-422 /3, RS-485 и т. д., в которых используются драйверы/приемники дифференциальной линии и используется система сигнализации, основанная на напряжении дифференциального режима симметричной линии, пересекающей условную линию. 0   В. Множественный доступ в таких системах обычно опирается на среду, поддерживающую три состояния (активное высокое, активное низкое и неактивное три состояния) и рассматривается во временной области. Множественный доступ к шине CAN достигается за счет того, что электрическая логика системы поддерживает только два состояния, которые концептуально аналогичны проводной сети «И».

Сеть CAN может быть настроена для работы с двумя различными форматами сообщений (или кадров ): стандартным или базовым форматом кадра (описанным в CAN 2.0 A и CAN 2.0 B) и расширенным форматом кадра (описанным только CAN 2.0 B). Единственная разница между этими двумя форматами заключается в том, что базовый кадр CAN поддерживает длину идентификатора 11 бит, а расширенный кадр CAN поддерживает длину идентификатора 29 бит, состоящую из 11-битного идентификатора (базовый идентификатор). и 18-битное расширение (расширение идентификатора). Различие между базовым форматом кадра CAN и расширенным форматом кадра CAN проводится с помощью бита IDE, который передается как доминантный в случае 11-битного кадра и передается как рецессивный в случае 29-битного кадра. Контроллеры CAN, поддерживающие сообщения расширенного формата кадра, также могут отправлять и получать сообщения в базовом формате кадра CAN. Все кадры начинаются с бита начала кадра (SOF), который обозначает начало передачи кадра.

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

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

Кадр данных

[ редактировать ]

Кадр данных является единственным кадром для фактической передачи данных. Существует два формата сообщений:

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

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

Формат базового кадра

[ редактировать ]
Полный кадр шины CAN, включая биты заполнения, правильный CRC и интервал между кадрами.

Формат кадра следующий: Значения битов описаны для сигнала CAN-LO.

Имя поля Длина (биты) Цель
Начало кадра 1 Обозначает начало передачи кадра
Идентификатор (зеленый) 11 (Уникальный) идентификатор, который также представляет приоритет сообщения.
Немного вещей 1 Немного противоположной полярности для поддержания синхронизации; см. § Вставка битов
Запрос удаленной передачи (RTR) (синий) 1 Должен быть доминантным (0) для кадров данных и рецессивным (1) для кадров удаленного запроса (см. « Удаленный кадр» ниже).
Бит расширения идентификатора (IDE) 1 Должно быть доминирующим (0) для формата базового кадра с 11-битными идентификаторами.
Зарезервированный бит (r0) 1 Зарезервированный бит. Должен быть доминантным (0), но допускается как доминантный, так и рецессивный.
Код длины данных (DLC) (желтый) 4 Количество байтов данных (0–8 байт) [а]
Поле данных (красное) 0–64 (0–8 байт) Данные для передачи (длина в байтах определяется полем DLC)
КПР 15 Проверка циклическим избыточностью
разделитель CRC 1 Должно быть рецессивным (1)
Слот подтверждения 1 Передатчик отправляет рецессивный сигнал (1), а любой получатель может утверждать доминантный сигнал (0).
разделитель ACK 1 Должно быть рецессивным (1)
Конец кадра (EOF) 7 Должно быть рецессивным (1)
Межкадровый интервал (IFS) 3 Должно быть рецессивным (1)
  1. ^ Физически возможно передать значение от 9 до 15 в 4-битном DLC, хотя данные по-прежнему ограничены восемью байтами. Некоторые контроллеры допускают передачу или прием DLC размером более восьми, но фактическая длина данных всегда ограничена восемью байтами.

Расширенный формат кадра

[ редактировать ]

Формат кадра следующий, как показано в таблице ниже:

Имя поля Длина (биты) Цель
Начало кадра 1 Обозначает начало передачи кадра
Идентификатор А (зеленый) 11 Первая часть (уникального) идентификатора, которая также представляет приоритет сообщения.
Заменить удаленный запрос (SRR) 1 Должно быть рецессивным (1)
Бит расширения идентификатора (IDE) 1 Должен быть рецессивным (1) для расширенного формата кадра с 29-битными идентификаторами.
Идентификатор B (зеленый) 18 Вторая часть (уникального) идентификатора, которая также представляет приоритет сообщения.
Запрос удаленной передачи (RTR) (синий) 1 Должен быть доминантным (0) для кадров данных и рецессивным (1) для кадров удаленного запроса (см. « Удаленный кадр» ниже).
Зарезервированные биты (r1, r0) 2 Зарезервированные биты, которые должны быть установлены доминантными (0), но принимаются как доминантные, так и рецессивные.
Код длины данных (DLC) (желтый) 4 Количество байтов данных (0–8 байт) [а]
Поле данных (красное) 0–64 (0–8 байт) Данные для передачи (длина определяется полем DLC)
КПР 15 Проверка циклическим избыточностью
разделитель CRC 1 Должно быть рецессивным (1)
Слот подтверждения 1 Передатчик отправляет рецессивный сигнал (1), а любой получатель может утверждать доминантный сигнал (0).
разделитель ACK 1 Должно быть рецессивным (1)
Конец кадра (EOF) 7 Должно быть рецессивным (1)
Межкадровый интервал (IFS) 3 Должно быть рецессивным (1)
  1. ^ Физически возможно передать значение от 9 до 15 в 4-битном DLC, хотя данные по-прежнему ограничены восемью байтами. Некоторые контроллеры допускают передачу или прием DLC размером более восьми, но фактическая длина данных всегда ограничена восемью байтами.

Два поля идентификатора (A и B) объединяются, образуя 29-битный идентификатор.

Удаленная рамка

[ редактировать ]
  • Обычно передача данных выполняется автономно, когда узел источника данных (например, датчик) отправляет кадр данных. Однако узел назначения также может запросить данные у источника, отправив удаленный кадр.
  • Есть два различия между кадром данных и удаленным кадром. Во-первых, бит RTR передается как доминантный бит в кадре данных, а во-вторых, в удаленном кадре поле данных отсутствует. Поле DLC указывает длину данных запрошенного сообщения (а не передаваемого).
    Т.е.,
РТР = 0 ; ДОМИНАНТА в кадре данных
РТР = 1; РЕЦЕССИВ в удаленной рамке

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

Кадр ошибки

[ редактировать ]

Кадр ошибки состоит из двух разных полей:

  • Первое поле представляет собой суперпозицию ФЛАГОВ ОШИБОК (6–12 доминантных/рецессивных битов), полученных от разных станций.
  • Следующее второе поле — это РАЗДЕЛИТЕЛЬ ОШИБКИ (8 рецессивных битов).

Существует два типа флагов ошибок:

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

В CAN имеется два счетчика ошибок:

  1. Счетчик ошибок передачи (TEC)
  2. Счетчик ошибок приема (REC)
  • Когда TEC или REC больше 127 и меньше 255, по шине будет передаваться кадр пассивной ошибки.
  • Когда TEC и REC меньше 128, по шине будет передан кадр активной ошибки.
  • Когда TEC больше 255, узел переходит в состояние Bus Off, в котором кадры передаваться не будут.

Перегрузка кадра

[ редактировать ]

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

  1. Внутренние условия получателя, которые требуют задержки следующего кадра данных или удаленного кадра.
  2. Обнаружение доминантного бита во время антракта.

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

Слот подтверждения

[ редактировать ]

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

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

Межкадровый интервал

[ редактировать ]

Кадры данных и удаленные кадры отделяются от предыдущих кадров битовым полем, называемым межкадровым пространством. Межкадровое пространство состоит как минимум из трех последовательных рецессивных (1) битов. После этого, если будет обнаружен доминантный бит, он будет рассматриваться как бит начала кадра следующего кадра. Кадры перегрузки и кадры ошибок не предваряются межкадровым интервалом, а несколько кадров перегрузки не разделяются межкадровым интервалом. Межкадровое пространство содержит битовые поля перерыва и простоя шины, а также приостановки передачи при ошибке пассивной станции, которая была передатчиком предыдущего сообщения. [19]

Битовая начинка

[ редактировать ]
Кадр CAN до и после добавления битов данных (фиолетового цвета). Неправильный CRC используется для иллюстрации вставки битов.

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

Все поля в кадре заполняются, за исключением разделителя CRC, поля ACK и конца кадра, которые имеют фиксированный размер и не заполняются. В полях, где используется битовая вставка, ошибкой считаются шесть последовательных бит одной полярности (111111 или 000000). Флаг активной ошибки может быть передан узлом при обнаружении ошибки. Флаг активной ошибки состоит из шести последовательных доминантных битов и нарушает правило вставки битов.

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

11111000011110000...

который набит как (биты набивки выделены жирным шрифтом):

11111 0 0000 1 1111 0 0000 1 ...

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

Размер базовой рамы ограничен

где n — количество байтов данных, максимум 8.

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

тип рамы перед начинкой после начинки кусочки начинки общая длина кадра
базовая рама
расширенная рамка

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

Стандарты нижнего уровня CAN

[ редактировать ]

Серия ISO 11898 определяет физический уровень и уровень канала передачи данных (уровни 1 и 2 модели ISO/OSI ) категории последовательной связи, называемой сетью контроллеров, которая поддерживает распределенное управление в реальном времени и мультиплексирование для использования в дорожных транспортных средствах. [20]

Существует несколько физических уровней CAN и других стандартов:

ISO 11898-1:2015 определяет уровень канала передачи данных (DLL) и физическую сигнализацию сети контроллера (CAN). [13] В этом документе описывается общая архитектура CAN с точки зрения иерархических уровней в соответствии с эталонной моделью ISO для взаимодействия открытых систем (OSI), установленной в ISO/IEC 7498-1, и приводятся характеристики для организации обмена цифровой информацией между модулями, реализующими CAN DLL с подробной спецификацией подуровня управления логическим каналом (LLC) и подуровня управления доступом к среде (MAC) .

ISO 11898-2:2016 определяет высокоскоростной (скорость передачи до 1   Мбит/с) модуль доступа к среде (MAU) и некоторые функции интерфейса, зависящего от среды (MDI) (согласно ISO 8802-3), которые включают в себя физический уровень контроллерной сети. ISO 11898-2 использует двухпроводную симметричную схему передачи сигналов. Это наиболее часто используемый физический уровень в приложениях силовых агрегатов транспортных средств и промышленных сетях управления.

ISO 11898-3:2006 определяет низкоскоростной, отказоустойчивый, зависящий от среды интерфейс для организации обмена цифровой информацией между электронными блоками управления дорожных транспортных средств, оснащенных CAN, при скоростях передачи от 40   кбит/с до 125   кбит. /с.

ISO 11898-4:2004 определяет синхронизированную по времени связь в CAN (TTCAN). Он применим для настройки синхронизированного по времени обмена цифровой информацией между электронными блоками управления (ЭБУ) дорожных транспортных средств, оснащенных CAN, и определяет объект кадровой синхронизации, который координирует работу как логического канала, так и средств управления доступом к среде в соответствии с ISO. 11898-1, чтобы обеспечить синхронизированное по времени расписание связи.

ISO 11898-5:2007 определяет физический уровень CAN для скорости передачи данных до 1   Мбит/с для использования в дорожных транспортных средствах. В нем описаны функции устройства доступа к среде, а также некоторые особенности интерфейса, зависящие от среды, в соответствии с ISO 8802-2. Это представляет собой расширение ISO 11898-2, касающееся новых функций для систем, требующих функций низкого энергопотребления при отсутствии активной связи по шине.

ISO 11898-6:2013 определяет физический уровень CAN для скорости передачи данных до 1   Мбит/с для использования в дорожных транспортных средствах. В нем описаны функции устройства доступа к среде, а также некоторые особенности интерфейса, зависящие от среды, в соответствии с ISO 8802-2. Это представляет собой расширение ISO 11898-2 и ISO 11898-5, определяющее механизм выборочного пробуждения с использованием настраиваемых кадров CAN.

ISO 16845-1:2016 предоставляет методологию и набор абстрактных тестов, необходимых для проверки соответствия любой реализации CAN CAN, указанной в ISO 11898-1.

ISO 16845-2:2018 устанавливает тестовые сценарии и требования к тестированию для реализации плана тестирования, проверяющего, соответствует ли приемопередатчик CAN с реализованными функциями выборочного пробуждения указанным функциям. Вид тестирования, определенный в ISO 16845-2:2018, называется тестированием на соответствие.

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

Протоколы более высокого уровня на базе CAN

[ редактировать ]

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

CAN in Automation (CiA) — это международная организация пользователей и производителей, которая разрабатывает и поддерживает протоколы более высокого уровня на основе CAN и их международную стандартизацию. [12] Среди этих спецификаций:

Стандартизированные подходы

[ редактировать ]

Другие подходы

[ редактировать ]
  • CANaerospace — Stock (для авиационной промышленности)
  • CAN Kingdom - Квасер (встроенная система управления)
  • CCP/ XCP (калибровка автомобильного ЭБУ)
  • GMLAN — General Motors (для General Motors )
  • RV-C - RVIA (используется для автомобилей для отдыха)
  • SafetyBUS p - Pilz (используется для промышленной автоматизации )
  • UAVCAN (аэрокосмическая промышленность и робототехника)
  • CSP (космический протокол CubeSat)
  • VSCP (Very Simple Control Protocol) — бесплатный протокол автоматизации, подходящий для всех видов задач автоматизации.

CANopen Лифт

[ редактировать ]

Группа специальных интересов CANopen (SIG) «Управление лифтом», основанная в 2001 году, разрабатывает профиль приложения CANopen CiA 417 для лифтом систем управления . Он работает над расширением функций, улучшением технического содержания и обеспечивает соблюдение действующих правовых стандартов для систем управления лифтами. Первая версия CiA 417 была опубликована (доступна для членов CiA) летом 2003 года, версия 2.0 — в феврале 2010 года, версия 2.1.0 — в июле 2012 года, версия 2.2.0 — в декабре 2015 года и версия 2.3.1 — в феврале 2020 года.

Йорг Хеллмих (ELFIN GmbH) является председателем этой SIG и управляет вики-сообществом лифтов CANopen, содержащим информацию о лифтах CANopen.

Безопасность

[ редактировать ]

CAN — это протокол низкого уровня, который по своей сути не поддерживает никаких функций безопасности. В стандартных реализациях CAN также отсутствует шифрование, что делает эти сети открытыми для перехвата кадров «человек посередине». В большинстве реализаций ожидается, что приложения развернут свои собственные механизмы безопасности; например, для аутентификации входящих команд или присутствия определенных устройств в сети. Неспособность реализовать адекватные меры безопасности может привести к различного рода атакам, если противнику удастся вставить сообщения в шину. [21] Хотя для некоторых критически важных для безопасности функций, таких как изменение встроенного ПО, программирование ключей или управление приводами антиблокировочной тормозной системы, существуют пароли, эти системы не реализованы универсально и имеют ограниченное количество пар исходных данных/ключей.

Инструменты разработки

[ редактировать ]

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

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

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

Лицензирование

[ редактировать ]

Bosch владеет патентами на эту технологию, хотя срок действия патентов, связанных с оригинальным протоколом, уже истек. Производители CAN-совместимых микропроцессоров платят компании Bosch лицензионные сборы за использование товарного знака CAN и любых новых патентов, связанных с CAN FD, и они обычно переходят к покупателю в цене чипа. Производителям продуктов со специальными ASIC или FPGA, содержащими CAN-совместимые модули, необходимо заплатить плату за лицензию протокола CAN, если они хотят использовать торговую марку CAN или возможности CAN FD. [22]

См. также

[ редактировать ]
  • CANopen – протокол компьютерной сети
  • Etherloop — технология DSL, сочетающая в себе функции Ethernet и DSL, позволяющая сочетать передачу голоса и данных по стандартным телефонным линиям.
  • FlexRay – протокол компьютерной сети
  • Список сетевых шин - Список систем электронных коммуникационных шин с одним доменом коллизий
  • Modbus - протокол последовательной связи, в основном разработанный для программируемых логических контроллеров.
  • Шина MOST — технология высокоскоростной мультимедийной сети, используемая в автомобильной промышленности.
  1. ^ Jump up to: а б «История CAN» . CAN в автоматизации.
  2. ^ «Мерседес-Бенц S-Класс W 140» . mercedes-Benz.com . 23 февраля 2016 г. Архивировано из оригинала 10 июня 2019 г. . Проверено 27 октября 2017 г.
  3. ^ «CAN в автоматизации — Mercedes W140: первый автомобиль с CAN» . can-newsletter.org . Проверено 27 октября 2017 г.
  4. ^ Jump up to: а б с «Литература Bosch Semiconductor CAN» . Архивировано из оригинала 23 мая 2017 г. Проверено 31 мая 2017 г.
  5. ^ Строительный адаптер для бортовой диагностики автомобиля. Архивировано 14 мая 2018 г. на Wayback Machine , obddiag.net, по состоянию на 9 сентября 2009 г.
  6. ^ Сравнение концепций, запускаемых по событию и по времени, применительно к распределенным системам управления А. Альберт, Robert Bosch GmbH Embedded World, 2004, Нюрнберг
  7. ^ «NISMO увеличивает функциональность GPS-регистратора данных GT6 и количество треков» . www.gtplanet.net . 25 октября 2014 г.
  8. ^ «Что такое DiveCAN и почему меня это должно волновать?» . 22 марта 2016 г.
  9. ^ Jump up to: а б «ISO11783: стандартизированный интерфейс трактора и агрегата» (PDF) .
  10. ^ Jump up to: а б с ISO 11898-1:2015 – Транспорт дорожный. Сеть контроллеров (CAN). Часть 1. Уровень канала передачи данных и физическая сигнализация .
  11. ^ Jump up to: а б Насер, Ахмад МК (2023). Справочник по инженерной кибербезопасности в автомобиле: дорожная карта автомобильного инженера по созданию киберустойчивых транспортных средств (1-е изд.). Бирмингем, Мумбаи: Пакет. ISBN  978-1-80107-653-1 .
  12. ^ Jump up to: а б CiA: Международная стандартизация .
  13. ^ Jump up to: а б «ISO 11898-1:2003. Транспорт дорожный. Контроллерная сеть (CAN). Часть 1. Уровень канала передачи данных и физическая сигнализация» . ИСО.
  14. ^ «CAN_XL, CAN XL, CAN, Bosch_CAN, IP-модули» . Полупроводники Bosch для автомобилестроения . Проверено 15 мая 2024 г.
  15. ^ Дайгморте, Хьюго; Бойер, Марк (2017), «Оценка допустимой нагрузки шины CAN при слабом механизме синхронизации» , Учеб. 24-го Междунар. Конф. по сетям и системам реального времени (RTNS 2017) , Гренобль, Франция: ACM
  16. ^ «Понимание синхронизации битов модуля CAN Microchip» (PDF) .
  17. ^ «Защита диодов ISO7637-3 для CAN-шины» .
  18. ^ «Защита от электростатического разряда по CAN-шине» .
  19. ^ «КАДРЫ СООБЩЕНИЙ CAN-ШИНЫ – Кадр перегрузки, Межкадровое пространство» . 18 ноября 2009 г.
  20. ^ «Контроллерная сеть (CAN)» . Векторная группа. Архивировано из оригинала 25 апреля 2016 года . Проверено 25 сентября 2013 г.
  21. ^ «Мы водили машину, пока ее взломали» . www.vice.com . 29 мая 2014 г. Архивировано из оригинала 8 ноября 2019 г.
  22. ^ «Условия лицензии Протокол CAN и Протокол CAN FD» (PDF) . Архивировано из оригинала (PDF) 16 марта 2016 г. Проверено 15 марта 2016 г.
[ редактировать ]
Технические характеристики
Другой
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 824b2b4bc3fcabce45531635f8b56e8d__1720930200
URL1:https://arc.ask3.ru/arc/aa/82/8d/824b2b4bc3fcabce45531635f8b56e8d.html
Заголовок, (Title) документа по адресу, URL1:
CAN bus - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)