Именно так выглядит ( в основном) та самая «шина CAN «, с которой в последнее время нам придется сталкиваться все чаще и чаще:
Это обыкновенный двухпроводной кабель получивший название Twisted Pair.
На приведенном фото 1 показаны провода CAN High и CAN Low силового агрегата.
По этим проводам производится обмен данными между блоками управления, они могут нести информацию о скорости автомобиля, скорости вращения коленчатого вала, угле опережения зажигания и так далее.
Обратите внимание, что один из проводов дополнительно помечен черной полоской. Именно таким образом отмечается и визуально определяется провод CAN High (оранжево-черный).
Цвет провода CAN-Low — оранжево-коричневый.
За основной цвет шины CAN принят оранжевый цвет.
На рисунках и чертежах принято изображать цвета проводов шины CAN другими цветами, а именно:
CAN-High — желтым цветом
CAN-Low — зеленым цветом
Всего существует несколько разновидностей шин CAN , определяемых выполняемыми ими функциями:
Шина CAN силового агрегата (быст рый канал ) .
Она позволяет передавать информацию со скоростью) 500 кбит/с и служит для связи между блоками управления (двигатель — трансмиссия)
Шина CAN системы «Комфорт» (медле нный канал ) .
Она позволяет передавать информацию со скоростью 100 кбит/с и служит для связи между блоками управления, входящими в систему «Комфорт».
Шина данных CAN информационно — командной системы (медленн ый канал ), позволяющая передавать данные со скоростью 100 kBit/s. Обеспечивает связь между различными обслуживающими системами ( например, телефонной и навигационной системами ) .
Новые модели автомобилей все более становятся похожими на самолеты — по количеству заявленных функций для безопасности, комфорта и экологичности. Блоков управления становится все больше и больше и «тянуть» от каждого грозди проводов — нереально.
Поэтому кроме шины CAN уже существуют другие шины, получившие названия:
– шина LIN (однопроводная шина)
– шина MOST (оптоволоконная шина)
– беспроводная шина Bluetooth
Но не будем «расплываться мыслью по древу», заострим наше внимание пока что на одной конкретной шине: CAN ( по взглядам корпорации BOSCH ).
На примере шины CAN силового агрегата можно посмотреть форму сигнала:
Когда на High шине CAN доминантное состояние, то напряжение проводе повышается до 3.5 вольт.
В рецессивном состоянии напряжение на обоих проводах равняется 2.5 вольта.
Когда на проводе Low доминантное состояние, то напряжение падает до 1.5 вольта.
(«Доминанта» — явление, доминирующее, главенствующее или господствующее в какой-либо сфере,- из словарей).
Для повышения надежности передачи данных, в шине CAN применяется дифференциальный способ передачи сигналов по двум проводам, имеющим название Twisted Pair . А провода, которые образуют эту пару, называются CAN High и CAN Low .
В исходном состоянии шины на обоих проводах поддерживается постоянное напряжение на определенном (базовом) уровне. Для шины CAN силового агрегата оно приблизительно равняется 2.5 вольта.
Такое исходное состояние называется «состоянием покоя» или «рецессивом».
Каким образом передаются и преобразуются сигналы по CAN шине?
Каждый из блоков управления подсоединен к CAN шине посредством отдельного устройства под названием трансивер, в котором имеется приемник сигналов, представляющий собой дифференциальный усилитель, установленный на входе сигналов:
Поступающие по проводам High и Low сигналы, поступают в дифференциальный усилитель, обрабатываются и поступают на вход блока управления.
Эти сигналы представляют собою напряжение на выходе дифференциального усилителя.
Дифференциальный усилитель формирует это выходное напряжение как разность между напряжениями на проводах High и Low шины CAN.
Таким образом исключается влияние величины базового напряжения (у шины CAN силового агрегата оно равно 2,5 В) или какого либо напряжения, вызванного, например, внешними помехами.
Кстати, насчет помех. Как говорят, «шина CAN довольно устойчива к помехам, поэтому она нашла такое широкое применение».
Попробуем разобраться с этим.
Провода шины CAN силового агрегата расположены в моторном отсеке и на них могут воздействовать помехи различного порядка, например, помехи от системы зажигания.
Так как шина CAN состоит из двух проводов, которые перекручены между собой, то помеха одновременно воздействует на два провода:
Из вышеприведенного рисунка видно, что происходит далее: в дифференциальном усилителе напряжение на проводе Low (1,5 В – » Pp «) вычитается из напряжения
на проводе High (3,5 В – » Pp «) и в обработанном сигнале помеха отсутствует ( » Pp » — помеха).
Примечание: По наличию времени статья может иметь продолжение — много еще остается «за кадром».
Вас также может заинтересовать:
Шина CAN — это страшно?
- Can шина принцип работы
- Что такое CAN-шина
- Принцип работы CAN-шины
- Виды CAN-шин
- Как передается информация
- Схемы CAN-шины
- Видео «Диагностика авто с помощью CAN шины»
- Разновидности функций шин
- Типы сообщений
- Функциональность системы
- Разрешение конфликтов на шине
- Физические составляющие
- Скорость передачи данных CAN-шины
- Краткий обзор протокола CAN. Часть I
- 🌟 Видео
Видео:лекция 403 CAN шина- введениеСкачать
Can шина принцип работы
Видео:Подробно про CAN шинуСкачать
Что такое CAN-шина
CAN-шина не имеет никакого отношения к автомобильным покрышкам. Дело в том, что в электронике «шиной» называют систему, по которой передаются данные. Это своего рода река с ручейками, если говорить проще. Что касается аббревиатуры, расшифровывающейся как Controller Area Network (сеть контроллеров), то за ней стоит стандарт промышленной сети для объединения в единую сеть различных исполнительных устройств и датчиков.
Видео:CAN шина👏 Как это работаетСкачать
Принцип работы CAN-шины
CAN-шина, будучи системой цифровой связи и управления электронными устройствами, позволяет осуществлять обмен информацией между блоками управления. Сеть имеет три основных режима работы – активный при включенном зажигании, спящий при выключенном зажигании и, наконец, режим пробуждения и засыпания, когда зажигание включают и выключают.
CAN-шина выполняет ряд задач, среди которых ускорение передачи сигналов к разным системам, механизмам и устройствам, уменьшение количества проводов, упрощение подсоединения и работы дополнительных устройств.
Видео:Для чего служит CAN-шина в сигнализацииСкачать
Виды CAN-шин
Существует три основных вида.
Силовые обеспечивают синхронизацию и обмен данными между ЭБУ двигателя и основными агрегатами и системами автомобиля – коробкой передач, зажиганием и другими. «Комфортные» нужны, соответственно, для работы опций комфорта. Например, климатической системы, электропривода зеркал и обогрева сидений.
Информационно-командные введены для обмена данными между ЭБУ и такими вспомогательными информационными комплексами как навигационная система.
Видео:Кан шина, что это? Поймет школьник! принцип работыСкачать
Как передается информация
Итак, CAN-шина представляет собой сеть, по которой происходит обмен информацией между устройствами. Возьмем для примера блок управления двигателем – он имеет не только основной микроконтроллер, но и CAN-устройство, которое формирует и рассылает импульсы по шинам H (CAN-высокий) и L (CAN-низкий), которые называются витая пара.
Сигналы рассылаются по витой паре трансивером или приемопередатчиком. Он нужен для целого ряда задач – усиления сигналов, защиты линии в случае повреждения CAN-шины, создания условий помехозащищенности передаваемых импульсов и регулировки скорости их передачи. В автомобильной промышленности применяются передатчики двух типов с говорящими названиями High Speed и Fault Tolerant. Первый обеспечивает передачу данных на высокой скорости, до 1 мегабита в секунду. Второй не столь быстрый и передает в секунду до 120 килобит в секунду, но при этом допускает отклонение от параметров CAN-шины и не столь чувствителен к ее качеству.
Каждый подключенный к CAN-шине блок имеет определенное входное сопротивление, в результате образуется общая нагрузка шины CAN.
Общее сопротивление нагрузки зависит от числа подключенных к шине электронных блоков управления и исполнительных механизмов.
Рис. 2. Фрагмент CAN-шины с распределением нагрузки в проводах: CAN High CAN Low
Системы и блоки управления автомобиля имеют не только различные нагрузочные сопротивления, но и скорости передачи данных, все это может препятствовать обработке разнотипных сигналов.Для решения данной технической проблемы используется преобразователь для связи между шинами.Такой преобразователь принято называть межсетевым интерфейсом, это устройство в автомобиле чаще всего встроено в конструкцию блока управления, комбинацию приборов, а также может быть выполнено в виде отдельного блока.
Рис. 3. Блок-схема межсетевого интерфейса
Видео:CAN шина простыми словами на примере Nissan X-TrailСкачать
Схемы CAN-шины
Такая схема подключения устройств называется параллельной схемой подключения. Для достижения максимальной скорости волновые сопротивления блоков должны согласовываться. Если выходит из строя один из блоков (трансмиттеров), этот блок может «завалить» всю шину.
Все сообщения, которые передаются по шине, имеют определенный цифровой код.
Это позволяет производить компьютерную диагностику при помощи опроса блоков по шине.
Читайте также: Ремонт шины грибком технология
Диагностическое устройство преобразует цифровые коды и сигнал в абсолютные значения либо коды ошибок.
В спящем режиме CAN-шина полностью не бездействует. Большинство автомобилей используют шину для организации сбора информации дла системы сигнализации и охраны, собирая информацию по шине о датчиках проникновения, контактных устройствах.
Видео:CAN Шина. Что такое протокол КАН. Часть 1Скачать
Видео «Диагностика авто с помощью CAN шины»
Видео:Экспресс диагностика CAN шины на автомобиле. №21Скачать
Разновидности функций шин
Существуют разные типы представленного устройства.
- КАН-шина агрегата силового. Это быстрый канал, который передает послания со скоростью 500 кбит/с. Его главная задача заключается в коммуникации блоков управления, например трансмиссия-двигатель.
- Система «Комфорт» — более медлительный канал, передающий данные со скоростью 100 кбит/с. Он связывает все устройства системы «Комфорт».
- Информационно-командная программа шины также передает сигналы медленно (100 кбит/с). Ее основное предназначение — обеспечить связь между обслуживающими системами, например телефоном и навигацией.
Видео:CAN шина на осциллографе FINIRSI ADS1013DСкачать
Типы сообщений
Протоколом предусматривается использование при обмене информацией посредством шины CAN четырех типов команд.
- Data Frame. Такой тип сообщений (фреймов) передает сигналы с определенным идентификатором.
- Error Frame представляет собой сообщение сбоя в процессе обмена. Он предлагает повторить действия сначала.
- Overload Frame. Послание появляется в момент необходимости перезапустить работу контроллера.
- Request Frame Remout Transmission обозначает запрос данных, где именно находится идентификатор.
II — резистор сопротивления;
В процессе приема-передачи информации на проведение одной операции отводится определенное время. Если оно вышло, формируется фрейм ошибки. Error Frame также длится определенное количество времени. Неисправный блок автоматически отключается от шины при накоплении большого количества ошибок.
Видео:Компьютерная диагностика авто. K-линия и CAN шинаСкачать
Функциональность системы
Команда состоит из 3 разделов: имени, значения события, времени наблюдения за переменной величиной.
Ключевое значение придается переменной показателя. Если в сообщении нет данных о времени, тогда это сообщение принимается системой по факту его получения.
Когда компьютер коммуникационной системы запрашивает показатель состояния параметра, он посылается в приоритетной очередности.
Видео:поиск нерабочей can шины, часть дваСкачать
Разрешение конфликтов на шине
Когда сигналы, поступающие на шину, приходят на несколько контроллеров, система выбирает, в какой очередности будет обработан каждый. Два или более устройства могут начать работу практически одновременно. Чтобы при этом не возник конфликт, производится мониторинг. CAN-шина современного автомобиля производит эту операцию в процессе отправки сообщения.
Существует градация сообщений по приоритетной и рецессивной градации. Информация, имеющая самое низкое числительное выражение поля арбитража, выиграет при наступлении конфликтного положения на шине. Остальные передатчики постараются отослать свои фреймы позже, если ничего не изменится.
В процессе передачи информации время, указанное в нем, не теряется даже при наличии конфликтного положения системы.
Видео:Что такое CAN шинаСкачать
Физические составляющие
Устройство шины состоит, помимо кабеля, из нескольких элементов.
Микросхемы приемопередатчика часто встречаются от компании Philips, а также Siliconix, Bosch, Infineon.
Для этого на конец проводников устанавливаются резисторы сопротивления по 120 Ом. Это необходимо, дабы устранить отражения сообщения на конце шины и убедиться, что она получает соответствующие уровни тока.
Сам проводник в зависимости от конструкции может быть экранированным или неэкранированным. Концевое сопротивление может отходить от классического и находиться в диапазоне от 108 до 132 Ом.
Видео:STM32 CAN шина. Часть 1. Настройка и странности HALСкачать
Скорость передачи данных CAN-шины
Все составляющие сети CAN должны иметь единую скорость передачи информации. Однако данный стандарт не задает одного определенного параметра, ограничиваясь лишь максимальным пределом – 1Мбит/с. Изменения объема передаваемого кадра должно успеть распространиться по всей длине сети, что ставит в обратную зависимость скорости от протяженности – чем длиннее провод, тем ниже скорость. Для передачи 1Мбита за 1секунду нужная длина должна составлять не менее 40 метров. Добавьте к этому объективные факторы, снижающие скорость – защита от помех и разветвленная сеть, где происходят множественные отражения сигнала.
В угоду ускорения процесса разработчики уменьшают протяженность проводов, одновременно увеличивая число цепей с возможностью подключения большего количества приборов. Например, общая длина шины, составляющая 10 метров, способна пропускать через себя кадры, со скоростью 2 Мбит/c, с 64 подключенными приборами. Если автомобиль снабжен большим числом электрооборудования, то добавляется одна, две цепи или более.
Видео:Как работает LIN шина автомобиля. K-Line L-Line шины данных. Лин шина автомобиля. Lin-bus networkСкачать
Краткий обзор протокола CAN. Часть I
По материалам компании Kvaser
Эта статья не претендует на полноту и абсолютную точность сведений, указанных в ней, и предназначена для ознакомления с протоколом CAN.
Содержание статьи
Шина CAN – Введение
Протокол CAN является стандартом ISO (ISO 11898) в области последовательной передачи данных. Протокол был разработан с прицелом на использование в транспортных приложениях. Сегодня CAN получил широкое распространение и используется в системах автоматизации промышленного производства, а также на транспорте.
Стандарт CAN состоит из физического уровня и уровня передачи данных, определяющего несколько различных типов сообщений, правила разрешения конфликтов при доступе к шине и защиту от сбоев.
Протокол CAN
Протокол CAN описан в стандарте ISO 11898–1 и может быть кратко охарактеризован следующим образом:
• физический уровень использует дифференциальную передачу данных по витой паре;
• для управления доступом к шине используется неразрушающее bit–wise разрешение конфликтов;
• сообщения имеют малые размеры (по большей части 8 байт данных) и защищены контрольной суммой;
• в сообщениях отсутствуют явные адреса, вместо этого каждое сообщение содержит числовое значение, которое управляет его очередностью на шине, а также может служить идентификатором содержимого сообщения;
• продуманная схема обработки ошибок, обеспечивающая повторную передачу сообщений, если они не были получены должным образом;
• имеются эффективные средства для изоляции сбоев и удаления сбойных узлов с шины.
Протоколы более высоких уровней
Сам по себе протокол CAN определяет всего лишь, как малые пакеты данных можно безопасно переместить из точки A в точку B посредством коммуникационной среды. Он, как и следовало ожидать, ничего не говорит о том, как управлять потоком; передавать большое количество данных, нежели помещается в 8–байтное сообщение; ни об адресах узлов; установлении соединения и т.п. Эти пункты определяются протоколом более высокого уровня (Higher Layer Protocol, HLP). Термин HLP происходит из модели OSI и её семи уровней.
Протоколы более высокого уровня используются для:
• стандартизации процедуры запуска, включая выбор скорости передачи данных;
• распределения адресов среди взаимодействующих узлов или типов сообщений;
• определения разметки сообщений;
• обеспечения порядка обработки ошибок на уровне системы.
Пользовательские группы и т.п.
Одним из наиболее эффективных способов повышения вашей компетентности в области CAN является участие в работе, осуществляемой в рамках существующих пользовательских групп. Даже если вы не планируете активно участвовать в работе, пользовательские группы могут являться хорошим источником информации. Посещение конференций является ещё одним хорошим способом получения исчерпывающей и точной информации.
Продукты CAN
На низком уровне принципиально различают два типа продуктов CAN, доступных на открытом рынке – микросхемы CAN и инструменты разработки CAN. На более высоком уровне – другие два типа продуктов: модули CAN и инструменты проектирования CAN. Широкий спектр данных продуктов доступен на открытом рынке в настоящее время.
Патенты в области CAN
Патенты, относящиеся к приложениям CAN, могут быть различных типов: реализация синхронизации и частот, передача больших наборов данных (в протоколе CAN используются кадры данных длиной всего лишь 8 байт) и т.п.
Системы распределённого управления
Протокол CAN является хорошей основой для разработки систем распределённого управления. Метод разрешения конфликтов, используемый CAN, обеспечивает то, что каждый узел CAN будет взаимодействовать с теми сообщениями, которые относятся к данному узлу.
Систему распределённого управления можно описать как систему, вычислительная мощность которой распределена между всеми узлами системы. Противоположный вариант – система с центральным процессором и локальными точками ввода–вывода.
Сообщения CAN
Шина CAN относится к широковещательным шинам. Это означает, что все узлы могут «слушать» все передачи. Не существует возможности послать сообщение конкретному узлу, все без исключения узлы будут принимать все сообщения. Оборудование CAN, однако, обеспечивает возможность локальной фильтрации, так что каждый модуль может реагировать только на интересующее его сообщение.
Читайте также: Номинальная ширина профиля пневматической шины что это
Адресация сообщений CAN
CAN использует относительно короткие сообщения – максимальная длина информационного поля составляет 94 бита. В сообщениях отсутствует явный адрес, их можно назвать контентно–адрессованными: содержимое сообщения имплицитно (неявным образом) определяет адресата.
Типы сообщений
Существует 4 типа сообщений (или кадров), передающихся по шине CAN:
• удаленный кадр (Remote Frame);
• кадр перегрузки (Overload Frame).
Кадр данных
Кратко: «Всем привет, есть данные с маркировкой X, надеюсь вам понравятся!»
Кадр данных – самый распространенный тип сообщения. Он содержит в себе следующие основные части (некоторые детали не рассматриваются для краткости):
• Поле арбитража (Arbitration Field), которое определяет очередность сообщения в том случае, когда за шину борятся два или более узла. Поле арбитража содержит:
• В случае CAN 2.0A, 11–битный идентификатор и один бит, бит RTR который является определяющим для кадров данных.
• В случае CAN 2.0B, 29–битный идентификатор (который также содержит два рецессивных бита: SRR и IDE) и бит RTR.
• Поле данных (Data Field), которое содержит от 0 до 8 байт данных.
• Поле CRC (CRC Field), содержащее 15–битную контрольную сумму, посчитанную для большинства частей сообщения. Эта контрольная сумма используется для обнаружения ошибок.
• Слот распознавания (Acknowledgement Slot). Каждый контроллер CAN, способный корректно получить сообщение, посылает бит распознавания (Acknowledgement bit) в конце каждого сообщения. Приемопередатчик проверяет наличие бита распознавания и, если таковой не обнаруживается, высылает сообщение повторно.
Примечание 1: Присутствие на шине бита распознавания не значит ничего, кроме того, что каждый запланированный адресат получил сообщение. Единственное, что становится известно, это факт корректного получения сообщения одним или несколькими узлами шины.
Примечание 2: Идентификатор в поле арбитража, несмотря на свое название, необязательно идентифицирует содержимое сообщения.
Кадр данных CAN 2.0B («cтандартный CAN»).
Кадр данных CAN 2.0B («расширенный CAN»).
Удаленный кадр
Кратко: «Всем привет, кто–нибудь может произвести данные с маркировкой X?»
Удаленный кадр очень похож на кадр данных, но с двумя важными отличиями:
• он явно помечен как удаленный кадр (бит RTR в поле арбитража является рецессивным), и
Основной задачей удаленного кадра является запрос на передачу надлежащего кадра данных. Если, скажем, узел A пересылает удаленный кадр с параметром поля арбитража равным 234, то узел B, если он должным образом инициализирован, должен выслать в ответ кадр данных с параметром поля арбитража также равным 234.
Удаленные кадры можно использовать для реализации управления трафиком шины типа «запрос–ответ». На практике, однако, удаленный кадр используется мало. Это не так важно, поскольку стандарт CAN не предписывает действовать именно так, как здесь обозначено. Большинство контроллеров CAN можно запрограммировать так, что они будут автоматически отвечать на удаленный кадр, или же вместо этого извещать локальный процессор.
Есть одна уловка, связанная с удаленным кадром: код длины данных (Data Length Code) должен быть установлен длине ожидаемого ответного сообщения. В противном случае разрешение конфликтов работать не будет.
Иногда требуется чтобы узел, отвечающий на удаленный кадр, начинал свою передачу как только распознавал идентификатор, таким образом «заполняя» пустой удаленный кадр. Это другой случай.
Кадр ошибки (Error Frame)
Кратко (все вместе, громко): «О, ДОРОГОЙ, ДАВАЙ ПОПРОБУЕМ ЕЩЁ РАЗОК»
Кадр ошибки (Error Frame) – это специальное сообщение, нарушающее правила формирования кадров сообщения CAN. Он посылается, когда узел обнаруживает сбой и помогает остальным узлам обнаружить сбой – и они тоже будут отправлять кадры ошибок. Передатчик автоматически попробует послать сообщение повторно. Наличествует продуманная схема счетчиков ошибок, гарантирующая, что узел не сможет нарушить передачу данных по шине путём повторяющейся отсылки кадров ошибки.
Кадр ошибки содержит флаг ошибки (Error Flag), который состоит из 6 бит одинакового значения (таким образом нарушая правило вставки битов) и разграничителя ошибки (Error Delimiter), состоящего из 8 рецессивных бит. Разраничитель ошибки предоставляет некоторое пространство, в котором другие узлы шины могут отправлять свои флаги ошибки после того, как сами обнаружат первый флаг ошибки.
Кадр перегрузки (Overload Frame)
Кратко: «Я очень занятой 82526 маленький, не могли бы вы подождать минуточку?»
Кадр перегрузки упоминается здесь лишь для полноты картины. По формату он очень похож на кадр ошибки и передается занятым узлом. Кадр перегрузки используется нечасто, т.к. современные контроллеры CAN достаточно производительны, чтобы его не использовать. Фактически, единственный контроллер, который будет генерировать кадры перегрузки – это ныне устаревший 82526.
Стандартный и расширенный CAN
Изначально стандарт CAN установил длину идентификатора в поле арбитража равной 11 битам. Позже, по требованию покупателей стандарт был расширен. Новый формат часто называют расширенным CAN (Extended CAN), он позволяет использовать не менее 29 бит в идентификаторе. Для различения двух типов кадров используется зарезервированный бит в поле управления Control Field.
Формально стандарты именуются следующим образом –
• 2.0A – только с 11–битными идентификаторами;
• 2.0B – расширенная версия с 29–битными или 11–битными идентификаторами (их можно смешивать). Узел 2.0B может быть
• 2.0B active (активным), т.е. способным передавать и получать расширенные кадры, или
• 2.0B passive (пассивным), т.е. он будет молча сбрасывать полученные расширенные кадры (но, смотрите ниже).
• 1.x – относится к оргинальной спецификации и её ревизиям.
В настоящее время новые контроллеры CAN обычно относятся к типу 2.0B. Контроллер типа 1.x или 2.0A прибудет в замешательство, получив сообщения с 29 битами арбитража. Контроллер 2.0B пассивного типа примет их, опознает, если они верны и, затем – сбросит; a контроллер 2.0B активного типа сможет и передавать, и получать такие сообщения.
Контроллеры 2.0B и 2.0A (равно, как и 1.x) совместимы. Можно использовать их все на одной шине до тех пор, пока контроллеры 2.0B будут воздерживаться от рассылки расширенных кадров.
Иногда люди заявляют, что стандартный CAN «лучше» расширенного CAN, потому что в сообщениях расширенного CAN больше служебных данных. Это необязательно так. Если вы используете поле арбитража для передачи данных, то кадр расширенного CAN может содержать меньше служебных данных, чем кадр стандартного CAN.
Основной CAN (Basic CAN) и полный CAN (Full CAN)
Термины Basic CAN и Full CAN берут начало в «детстве» CAN. Когда–то существовал CAN–контроллер Intel 82526, предоставлявший программисту интерфейс в стиле DPRAM. Потом появился Philips с моделью 82C200, в котором применялась FIFO–ориентированная модель программирования и ограниченные возможности фильтрации. Для обозначения различия между двумя моделями программирования, люди стали называть способ Intel – Full CAN, а способ Philips – Basic CAN. Сегодня большинство контроллеров CAN поддерживают обе модели программирования, поэтому нет смысла в использовании терминов Full CAN и Basic CAN – фактически, эти термины могут вызвать неразбериху и стоит воздержаться от их употребления.
В действительности, контроллер Full CAN может взаимодействовать с контроллером Basic CAN и наоборот. Проблемы с совместимостью отсутствуют.
Разрешение конфликтов на шине и приоритет сообщения
Разрешение конфликтов сообщений (процесс, в результате которого два или более контроллера CAN решают, кто будет пользоваться шиной) очень важно для определения реальной доступности полосы пропускания для передачи данных.
Любой контроллер CAN может начать передачу, когда обнаружит, что шина простаивает. Это может привести к тому, что два или более контроллеров начнут передачу сообщения (почти) одновременно. Конфликт решается следующим образом. Передающие узлы осуществляют мониторинг шины в процессе отправки сообщения. Если узел обнаруживает доминантный уровень в то время, как сам он отправляет рецессивный уровень, он незамедлительно устранится от процесса разрешения конфликта и станет приемником. Разрешение конфликтов осуществляется по всему полю арбитража, и после того, как это поле отсылается, на шине остается только один передатчик. Данный узел продолжит передачу, если ничего не случится. Остальные потенциальные передатчики попытаются передать свои сообщения позже, когда шина освободится. В процессе разрешения конфликта время не теряется.
Читайте также: Поиск шин по vin
Важным условием для благополучного разрешения конфликта является невозможность ситуации, при которой два узла могут передать одинаковое поле арбитража. Из этого правила есть одно исключение: если сообщение не содержит данных, то любой узел может передавать это сообщение.
Поскольку, CAN–шина является шиной с подсоединением устройств по типу «монтажное И» (wired–AND) и доминантный бит (Dominant bit) является логическим 0, следовательно сообщение с самым низким в численном выражении полем арбитража выиграет в разрешении конфликта.
Вопрос: Что произойдет в случае, если единственный узел шины попытается отослать сообщение?
Ответ: Узел, разумеется, выиграет в разрешении конфликта и успешно проведет передачу сообщения. Но когда наступит время распознавания… ни один узел не отправит доминантный бит области распознавания, поэтому передатчик определит ошибку распознавания, пошлет флаг ошибки, повысит значение своего счетчика ошибок передачи на 8 и начнет повторную передачу. Этот цикл повторится 16 раз, затем передатчик перейдет в статус пассивной ошибки. В соответствии со специальным правилом в алгоритме ограничения ошибок, значение счетчика ошибок передачи не будет более повышаться, если узел имеет статус пассивной ошибки и ошибка является ошибкой распознавания. Поэтому узел будет осуществлять передачу вечно, до тех пор, пока кто–нибудь не распознает сообщение.
Адресация и идентификация сообщения
Повторимся, нет ничего страшного в том, что в сообщениях CAN нет точных адресов. Каждый контроллер CAN будет получать весь траффик шины, и при помощи комбинации аппаратных фильтров и ПО, определять – «интересует» его это сообщение, или нет.
Фактически, в протоколе CAN отсутствует понятие адреса сообщения. Вместо этого содержимое сообщения определяется идентификатором, который находится где–то в сообщении. Сообщения CAN можно назвать «контентно–адрессовнными».
Определённый адрес работает так: «Это сообщение для узла X». Контентно–адресованное сообщение можно описать так: «Это сообщение содержит данные с маркировкой X». Разница между этими двумя концепциями мала, но существенна.
Содержимое поле арбитража используется, в соответствии со стандартом, для определения очередности сообщения на шине. Все контроллеры CAN будут также использовать всё (некоторые – только часть) поле арбитража в качестве ключа в процессе аппаратной фильтрации.
Стандарт не говорит, что поле арбитража непременно должно использоваться в качестве идентификатора сообщения. Тем не менее, это очень распространенный вариант использования.
Примечание о значениях идентификатора
Мы говорили, что идентификатору доступны 11 (CAN 2.0A) или 29 (CAN 2.0B) бит. Это не совсем верно. Для совместимости с определенным старым контроллером CAN (угадайте каким?), идентификаторы не должны иметь 7 старших бит установленных в логическую единицу, поэтому 11–битным идентификаторам доступны значения 0..2031, а пользователи 29–битных идентификаторов могут использовать 532676608 различных значений.
Заметьте, что все остальные контроллеры CAN принимают «неправильные» идентификаторы, поэтому в современных системах CAN идентификаторы 2032..2047 могут использоваться без ограничений.
Физические уровни CAN
Шина CAN использует код без возвращения к нулю (NRZ) с вставкой битов. Существуют два разных состояния сигнала: доминантное (логический 0) и рецессивное (логическая 1). Они соответствуют определенным электрическим уровням, зависящим от используемого физического уровня (их несколько). Модули подключены к шине по схеме «монтажное И» (wired–AND): если хотя бы один узел переводит шину в доминантное состояние, то вся шина находится в этом состоянии, вне зависмости от того, сколько узлов передают рецессивное состояние.
Различные физические уровни
Физический уровень определяет электрические уровни и схему передачи сигналов по шине, полное сопротивление кабеля и т.п.
Существует несколько различных версий физических уровней: • Наиболее распространенным является вариант, определенный стандартом CAN, часть ISO 11898–2, и представляющий собой двухпроводную сбалансированную сигнальную схему. Он также иногда называется high–speed CAN.
• Другая часть того же стандарта ISO 11898–3 описывает другую двухпроводную сбалансированную сигнальную схему – для менее скоростной шины. Она устойчива к сбоям, поэтому передача сигналов может продолжаться даже в том случае, когда один из проводов будет перерезан, замкнут на «землю» или в состоянии Vbat. Иногда такая схема называется low–speed CAN.
• SAE J2411 описывает однопроводной (плюс «земля», разумеется) физический уровень. Он используется в основном в автомобилях – например GM–LAN.
• Существуют несколько проприетарных физических уровней.
• В былые времена, когда драйверов CAN не существовало, использовались модификации RS485.
Различные физические уровни как правило не могут взаимодействовать между собой. Некоторые комбинации могут работать (или будет казаться, что они работают) в хороших условиях. Например, приемопередатчики high–speed и low–speed могут работать на одной шине лишь иногда.
Абсолютное большинство микросхем приемопередатчиков CAN произведено компанией Philips; в число других производителей входят Bosch, Infineon, Siliconix и Unitrode.
Наиболее распространен приемопередатчик 82C250, в котором реализован физический уровень, описываемый стандартом ISO 11898. Усовершенствованная версия – 82C251.
Распространенный приемопередатчик для «low–speed CAN» – Philips TJA1054.
Максимальная скорость передачи данных по шине
Максимальная скорость передачи данных по шине CAN, в соответствии со стандартом, равна 1 Мбит/с. Однако некоторые контроллеры CAN поддерживают скорости выше 1 Мбит/с и могут быть использованы в специализированных приложениях.
Low–speed CAN (ISO 11898–3, см. выше) работает на скоростях до 125 кбит/с.
Однопроводная шина CAN в стандартном режиме может передавать данные со скоростью порядка 50 кбит/с, а в специальном высокоскоростном режиме, например для программирования ЭБУ (ECU), около 100 кбит/с.
Минимальная скорость передачи данных по шине
Имейте в виду, что некоторые приемопередатчики не позволят вам выбрать скорость ниже определенного значения. Например, при использовании 82C250 или 82C251 вы можете без проблем установить скорость 10 кбит/с, но если вы используете TJA1050, то не сможете установить скорость ниже 50 кбит/с. Сверяйтесь со спецификацией.
Максимальная длина кабеля
При скорости передачи данных 1 Мбит/с, максимальная длина используемого кабеля может составлять порядка 40 метров. Это связано с требованием схемы разрешения конфликтов, согласно которому фронт волны сигнала должен иметь возможность дойти до самого дальнего узла и вернуться назад прежде чем бит будет считан. Иными словами, длина кабеля ограничена скоростью света. Предложения по увеличению скорости света рассматривались, но были отвергнуты в связи с межгалактическими проблемами.
Другие максимальные длины кабеля (значения приблизительные):
• 500 метров при 125 кбит/с;
• 6 километров при 10 кбит/с.
Если для обеспечения гальванической изоляции используются оптопары, максимальная длина шины соответственно сокращается. Совет: используйте быстрые оптопары, и смотрите на задержку сигнала в устройстве, а не на максимальную скорость передачи данных в спецификации.
Оконечное прерывание шины
Шина CAN стандарта ISO 11898 должна заканчиваться терминатором. Это достигается путем установки резистора сопротивлением 120 Ом на каждом конце шины. Терминирование служит двум целям:
1. Убрать отражения сигнала на конце шины.
2. Убедиться, что получает корректные уровни постоянного тока (DC).
Шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Я повторю: шина CAN стандарта ISO 11898 обязательно должна терминироваться вне зависимости от её скорости. Для лабораторной работы может хватить и одного терминатора. Если ваша шина CAN работает даже при отсутствии терминаторов – вы просто счастливчик.
Заметьте, что другие физические уровни, такие как low–speed CAN, однопроводная шина CAN и другие, могут требовать, а могут и не требовать наличия оконечного терминатора шины. Но ваша высокоскоростная шина CAN стандарта ISO 11898 всегда будет требовать наличия хотя бы одного терминатора.
Стандарт ISO 11898 предписывает, что волновое сопротивление кабеля номинально должно равнятся 120 Ом, однако допускается интервал значений сопротивления [108..132] Ом.
Немногие, из присутствующих сегодня на рынке, кабели удовлетворяют этим требованиям. Есть большая вероятность, что интервал значений сопротивления будет расширен в будущем.
ISO 11898 описывает витую пару, экранированную или неэкранированную. Идёт работа над стандартом однопроводного кабеля SAE J2411.
- Свежие записи
- Нужно ли менять пружины при замене амортизаторов
- Скрипят амортизаторы на машине что делать
- Из чего состоит стойка амортизатора передняя
- Чем стянуть пружину амортизатора без стяжек
- Для чего нужны амортизаторы в автомобиле
🌟 Видео
CAN-шина, простой поиск данных в кан шине автомобиля. Как расшифровать и найти данные в кан шине?Скачать
Мерседес разьем CAN шины, как выглядит и где?Скачать
MCP2515, контроллер CAN шины с интерфейсом SPIСкачать
Шина CAN. Часть 1. Разбираемся как работает CAN bus, разберем кадр данных до "костей".Скачать
CAN шина в Глонасс мониторингеСкачать
Проверка исправности CAN шиныСкачать