CAN-шина - CAN bus

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

История

Развитие CAN автобус началось в 1983 году в Роберт Бош ГмбХ.[1] Протокол был официально выпущен в 1986 г. Общество Автомобильных Инженеров (SAE) конференция в Детройт, Мичиган. Первые микросхемы контроллера CAN были представлены Intel в 1987 году, а вскоре после этого Philips.[1] Выпущенный в 1991 году, Мерседес-Бенц 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. Эти стандарты можно приобрести в ISO.

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

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

Приложения

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

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

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

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

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

Другой

  • Протокол шины CAN был использован на Shimano Электронная система переключения передач DI2 для шоссейных велосипедов с 2009 года, также используется компаниями Ansmann и BionX системы в их двигателе с прямым приводом.
  • Шина CAN также используется как fieldbus в средах общей автоматизации, в первую очередь из-за низкой стоимости некоторых контроллеров и процессоров CAN.
  • Производители, включая NISMO стремитесь использовать данные шины CAN для воссоздания реальных гоночных кругов в видеоигре Gran Turismo 6 с помощью игровой функции GPS Data Logger, которая затем позволит игрокам соревноваться с реальными кругами.[8]
  • Университет Джона Хопкинса с Лаборатория прикладной физики Модульный протез конечностей (MPL) использует локальную шину CAN для облегчения связи между сервоприводами и микроконтроллерами в протезной руке.
  • Команды в ПЕРВЫЙ конкурс робототехники широко использовать шину CAN для связи между роборио и другие модули управления роботом.
  • CueScript телесуфлер диапазон использует протокол шины CAN по коаксиальному кабелю для подключения своего CSSC - Desktop Scroll Control к основному блоку
  • Протокол CAN-шины широко применяется благодаря своей отказоустойчивости в электрически зашумленных средах, таких как системы обратной связи датчиков модели железной дороги в крупных коммерческих Цифровое командное управление производители систем и различные проекты управления железной дорогой цифровой модели с открытым исходным кодом.

Архитектура

Физический

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

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

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

Высокоскоростная сеть CAN. ISO 11898-2

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

Высокоскоростная сигнализация CAN. ISO 11898-2

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

Низкоскоростная отказоустойчивая сеть CAN. ISO 11898-3

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

Низкоскоростная сигнализация CAN. ISO 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 предназначена для горячего подключения и удаления сегментов шины и ЭБУ.

Узлы

Узел CANbus

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

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

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

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

Начинать
Кусочек
Идентификационные битыОстальная часть кадра
109876543210
Узел 15000000001111
Узел 1600000001Прекращена передача
CAN данные000000001111

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

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

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

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

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

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

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

Синхронизация начинается с жесткой синхронизации при первом переходе от рецессивного к доминантному после периода простоя шины (стартовый бит). Ресинхронизация происходит при каждом переходе от рецессивного к доминирующему в течение кадра. Контроллер 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[13] по ISO 7637-3). Помимо паразитной емкости, системы 12 В и 24 В не имеют одинаковых требований в отношении максимального напряжения линии. Действительно, во время мероприятий по запуску от внешнего источника линии легковых автомобилей могут достигать 24 В, в то время как системы грузовых автомобилей могут достигать 36 В. На рынке появляются новые решения, позволяющие использовать один и тот же компонент для CAN, а также CAN FD (видеть [14]).

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

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

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

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

Формат кадра следующий:

Имя поляДлина (бит)Цель
Начало кадра1Обозначает начало передачи кадра
Идентификатор A (зеленый)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)
CRC15Циклическая проверка избыточности
CRC разделитель1Должен быть рецессивным (1)
Слот ACK1Передатчик отправляет рецессивный (1), и любой получатель может утверждать доминантный (0)
ACK-разделитель1Должен быть рецессивным (1)
Конец кадра (EOF)7Должен быть рецессивным (1)
  1. ^ Физически возможно передать значение от 9 до 15 в 4-битном DLC, хотя размер данных по-прежнему ограничен восемью байтами. Некоторые контроллеры позволяют передавать или принимать DLC больше восьми, но фактическая длина данных всегда ограничена восемью байтами.

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

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

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

т.е.

RTR = 0; ДОМИНАНТ в фрейме данных
RTR = 1; РЕЦЕССИВ в удаленном кадре

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

Кадр ошибки

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

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

Есть два типа флагов ошибок:

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

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

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

Рамка перегрузки

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

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

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

Слот ACK

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

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

Межкадровое расстояние

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

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

CAN-Frame до и после добавления битов заполнения (фиолетовый)

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

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

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

11111000011110000...

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

111110000011111000001...

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

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

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

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

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

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

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

Есть несколько CAN физический слой и другие стандарты:

ISO 11898-1: 2015 определяет уровень передачи данных (DLL) и физический сигнализация из сеть контроллеров (CAN).[17] Этот документ описывает общую архитектуру CAN с точки зрения иерархических уровней в соответствии с Эталонная модель ISO для взаимодействия открытых систем (OSI) установлен в ИСО / МЭК 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

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

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

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

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

  • CANaerospace - Шток (для авиационной промышленности)
  • CAN Королевство - Квасер (встроенная система управления)
  • КПК /XCP (автомобильная калибровка ЭБУ)
  • GMLAN - General Motors (для Дженерал Моторс )
  • RV-C - RVIA (используется для транспортных средств для отдыха)
  • SafetyBUS p - Pilz (используется для промышленных автоматизация )
  • БПЛА (аэрокосмическая промышленность и робототехника)
  • CSP (Космический протокол CubeSat)
  • VSCP (Очень простой протокол управления) бесплатный протокол автоматизации, подходящий для всех видов задач автоматизации.

CANopen Lift

Специальная группа по интересам CANopen (SIG) "Lift Control", основанная в 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 также отсутствует шифрование, что оставляет эти сети открытыми для перехвата кадра «человек посередине». В большинстве реализаций ожидается, что приложения развернут свои собственные механизмы безопасности; например, для аутентификации входящих команд или наличия определенных устройств в сети. Отсутствие адекватных мер безопасности может привести к разного рода атакам, если противнику удастся вставить сообщения в шину.[19] Хотя существуют пароли для некоторых критически важных для безопасности функций, таких как изменение прошивки, программирование ключей или управление приводами антиблокировочного тормоза, эти системы не применяются повсеместно и имеют ограниченное количество пар начальное число / ключ.

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

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

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

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

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

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

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

Смотрите также

Рекомендации

  1. ^ а б "История CAN". CAN в автоматизации.
  2. ^ «Мерседес-Бенц S-Класс W 140». mercedes-benz.com. 23 февраля 2016 г.. Получено 27 октября 2017.
  3. ^ «CAN в автоматизации - Mercedes W140: первая машина с CAN». can-newsletter.org. Получено 27 октября 2017.
  4. ^ "Литература Bosch Semiconductor CAN". Архивировано из оригинал на 2017-05-23. Получено 2017-05-31.
  5. ^ де Андраде, Р.; Hodel, K. N .; Justo, J. F .; Laganá, A.M .; Сантос, М. М .; Гу, З. (2018). «Аналитические и экспериментальные оценки характеристик шины CAN-FD». Доступ IEEE. 6: 21287 - 21295. Дои:10.1109 / ACCESS.2018.2826522.
  6. ^ Строительный адаптер для бортовой диагностики автомобиля В архиве 2018-05-14 в Wayback Machine, obddiag.net, дата обращения 09.09.2009.
  7. ^ Сравнение концепций, запускаемых по событию и по времени, применительно к распределенным системам управления А. Альберт, Robert Bosch GmbH Embedded World, 2004 г., Нюрнберг
  8. ^ «NISMO увеличивает функциональность регистратора данных GPS GT6 и увеличивает количество треков». www.gtplanet.net.
  9. ^ «ISO11783 - стандартизованный трактор - интерфейс агрегата» (PDF).
  10. ^ ISO 11898-1: 2015 - Транспорт дорожный. Сеть контроллеров (CAN). Часть 1. Уровень канала передачи данных и физическая сигнализация.
  11. ^ Дайгморте, Хьюго; Бойер, Марк (2017), «Оценка допустимой нагрузки CAN-шины при слабом механизме синхронизации», Proc. 24-й Междунар. Конф. по сетям и системам реального времени (RTNS 2017), Гренобль, Франция: ACM
  12. ^ «Понимание битовой синхронизации модуля CAN Microchip» (PDF).
  13. ^ «ISO7637-3 диодная защита CAN-шины».
  14. ^ «Защита CAN-шины от электростатического разряда».
  15. ^ «КАДРЫ СООБЩЕНИЙ CAN BUS - кадр перегрузки, межкадровое пространство».
  16. ^ «Сеть контроллеров (CAN)». Векторная группа. Архивировано из оригинал 25 апреля 2016 г.. Получено 25 сен 2013.
  17. ^ «ISO 11898-1: 2003 - Транспорт дорожный. Сеть контроллеров (CAN) - Часть 1: Уровень передачи данных и физическая сигнализация». ISO.
  18. ^ CiA: Международная стандартизация.
  19. ^ «Мы вели машину, пока ее взламывали». www.vice.com. В архиве из оригинала 8 ноября 2019 г.
  20. ^ «Условия лицензии Протокол CAN и протокол CAN FD» (PDF). Архивировано из оригинал (PDF) на 2016-03-16. Получено 2016-03-15.

внешняя ссылка