Логический уровень can шины + видео обзор

Введение в протокол CAN

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

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

Логический уровень can шиныРис. 1. Топология сети CAN.

Типы сообщений сети CAN.

Данные в CAN передаются короткими сообщениями-кадрами стандартного формата. В CAN существуют четыре типа сообщений:

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

Логический уровень can шиныРис. 2. Data frame стандарта CAN 2.0A.

Контроль доступа к среде передачи (побитовый арбитраж).

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

Логический уровень can шиныРис. 3. Побитовый арбитраж на шине CAN.

Методы обнаружения ошибок.

CAN протокол определяет пять способов обнаружения ошибок в сети:

Механизм ограничения ошибок (Error confinement).

Каждый узел сети CAN, во время работы пытается обнаружить одну из пяти возможных ошибок. Если ошибка обнаружена, узел передает в сеть Error Frame, разрушая тем самым весь текущий трафик сети (передачу и прием текущего сообщения). Все остальные узлы обнаруживают Error Frame и принимают соответствующие действия (сбрасывают принятое сообщение). Кроме того, каждый узел ведет два счетчика ошибок: Transmit Error Counter (счетчик ошибок передачи) и Receive Error Counter (счетчик ошибок приема). Эти счетчики увеличиваются или уменьшаются в соответствие с несколькими правилами. Сами правила управления счетчиками ошибок достаточно сложны, но сводятся к простому принципу, ошибка передачи приводит к увеличению Transmit Error счетчика на 8, ошибка приема увеличивает счетчик Receive Error на 1, любая корректная передача/прием сообщения уменшают соответствующий счетчик на 1. Эти правила приводят к тому, что счетчик ошибок передачи передающего узла увеличивается быстрее, чем счетчик ошибок приема принимающих узлов. Это правило соответствует предположению о большой вероятности того, что источником ошибок является передающий узел.

Каждый узел CAN сети может находится в одном из трех состояний. Когда узел стартует он находится в состоянии Error Active. Когда, значение хотя бы одного из двух счетчиков ошибок превышает предел 127, узел переходит в состояние Error Passive. Когда значение хотя бы одного из двух счетчиков превышает предел 255, узел переходит в состояние Bus Off.

Узел находящийся в состоянии Error Active в случае обнаружения ошибки на шине передает в сеть Active Error Flags. Active Error Flags сотстоит из 6 доминантных бит, поэтому все узлы его регистрируют. Узел в состоянии Passive Error передает в сеть Passive Error Flags при обнаружении ошибки в сети. Passive Error Flags состоит из 6 рецессивных бит, поэтому остальные узлы сети его не замечают, и Passive Error Flags лишь приводит к увеличению Error счетчика узла. Узел в состоянии Bus Off ничего не передает в сеть (не только Error кадры, но вообще никакие другие).

Адресация и протоколы высокого уровня

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

Логический уровень can шиныРис. 4. Логическая структура протокола CAN.

Существует множество таких высокоуровневых протоколов. Наиболее распространенные из них это:

Физичекий уровень протокола CAN

Физический уровень (Physical Layer) протокола CAN определяет сопротивление кабеля, уровень электрических сигналов в сети и т.п. Существует несколько физических уровней протокола CAN (ISO 11898, ISO 11519, SAE J2411).

Махимальная скорость сети CAN в соответствие с протоколом равна 1 Mbit/sec. При скорости в 1 Mbit/sec максимальная длина кабеля равна примерно 40 метрам. Ограничение на длину кабеля связано с конечной скоростью света и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно, те сигнал должен успеть распространится по всему кабелю за единичный отсчет времени в сети. Соотношение между скоростью передачи и максимальной длиной кабеля приведено в таблице:

скорость передачимаксимальная длина сети
1000 Кбит/сек40 метров
500 Кбит/сек100 метров
250 Кбит/сек200 метров
125 Кбит/сек500 метров
10 Кбит/сек6 километров

Разъемы для сети CAN до сих пор НЕ СТАНДАРТИЗОВАНЫ. Каждый протокол высокого уровня обычно определяет свой тип разъемов для CAN-сети.

Источник

Автомобильный справочник

для настоящих любителей техники

Шина CAN в автомобиле

Логический уровень can шины

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

Логический уровень can шины

Классификация шинных систем автомобиля

Логический уровень can шиныЛогический уровень can шины

Шина CAN была при­знана стандартом с момента своего появления в серийно выпускаемых автомобилях в 1991 году. Но она также часто используется и в автоматизации. Основные особенности:

Система передачи данных по шине CAN

Логические состояния шин и шифрование

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

В основном используется двухпроводной кабель, в зависимости от окружающих усло­вий, с витой или не витой парой. Две шинные линии называются CAN-H и CAN-L (рис. «Уровень напряжения передачи по CAN» ).

Логический уровень can шины

Двухпроводный кабель обеспечивает сим­метричную передачу данных, при которой биты передаются через обе шинные линии с использованием разных напряжений. Это уменьшает чувствительность к синфазным помехам, поскольку помехи влияют на обе линии и могут быть отфильтрованы путем создания разности (рис. «Фильтрация помех по шине CAN» ).

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

Уровни напряжения шины CAN

Высокоскоростные и низкоскоростные шины CAN используют разные уровни напряжения для передачи доминантных и рецессивных состояний. Уровни напряжения низкоско­ростной шины CAN показаны на рис. а, «Уровень напряжения передачи по CAN», а высокоскоростной — на рис. Ь, «Уровень напряжения передачи по CAN».

Высокоскоростная шина CAN в рецессив­ном состоянии на обеих линиях использует номинальное напряжение 2,5 В. В доминант­ном состоянии на CAN-H и CAN-L подается номинальное напряжение 3,5 В и 1,5 В, со­ответственно. В низкоскоростной шине CAN в рецессивном состоянии на CAN-H подается напряжение 0 В (максимум 0,3 В), на CAN-L — 5 В (минимум 4,7 В). В доминантном состоя­нии на CAN-H напряжение составляет не ме­нее 3,6 В, а на CAN-L не более 1,4 В.

Предельные значения

Для арбитражного метода в случае CAN важно, чтобы все узлы в сети видели биты идентификатора фрейма одновременно, чтобы узел, передавая бит, видел, передают ли их другие узлы. Задержки возникают из-за распространения сигнала в шине данных и обработки в трансивере. Таким образом, максимально допустимая скорость передачи данных зависит от общей длины шины. Стан­дарт ISO предусматривает скорость 1 Мбит/с для 40 м. У более длинных проводов возмож­ная скорость передачи данных примерно об­ратно пропорциональна длине провода. Сети с дальностью 1 км могут работать со скоро­стью 40 кбит/с.

Протокол CAN

Конфигурация шины

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

Адресация по содержанию CAN использует адресацию по содержанию сообщений. Каждому сообщению присваива­ется метка-идентификатор, который класси­фицирует содержание сообщения (например, о частоте вращения коленчатого вала двига­теля). В каждой станции ведется обработка только тех сообщений, чьи идентификаторы накапливаются в приемочном списке сообщений. Это называется приемочной провер­кой (рис. «Адресация и проверка приемки» ). Таким образом, CAN не требует адресов станции для передачи данных. Это облегчает адаптацию к различным уровням оборудования.

Логические состояния шины CAN

Протокол CAN основывается на двух логиче­ских состояниях: биты информации являются или «рецессивными» (логическое состояние 1), или «доминантными» (логическое со­стояние 0). Когда, по крайней мере, одной из станций передается доминантный бит, тогда перезаписываются рецессивные биты, одновременно посылаемые ото всех других станций.

Логический уровень can шины

Назначение приоритетов

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

Арбитраж шины CAN

Каждая станция может начать передачу со­общения только после освобождения шины. Когда несколько станций начинают переда­вать сообщения одновременно, для разреше­ния создаваемых конфликтов доступа к шине используется арбитраж «wired-and» (монтаж­ное И). Сообщению с высшим приоритетом (наименьшим двоичным значением иденти­фикатора) присваивается право первого до­ступа, без задержек и потерь битов (рис. «Побитовый арбитраж» ). Передатчики реагируют на невозможность получения доступа к шине путем автомати­ческого переключения в режим приема; за­тем ими повторяется попытка передачи, как только шина снова освобождается.

Логический уровень can шиныФрейм данных и формат сообщения Шина CAN поддерживает два разных фор­мата сообщений, различающихся только длиной идентификаторов. Стандартный формат включает 11 битов, в то время как расширенная версия состоит из 29 битов. Таким образом, рамка передачи данных со­держит максимум 130 битов стандартного или 150 битов расширенного формата. Это обеспечивает минимальное время ожидания до последующей передачи, которая может быть срочной. Фрейм данных состоит из семи последо­вательных полей (рис. «Фрейм данных» ). «Начало фрейма» показывает начало сообщения и синхронизирует все узлы.

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

Поле «контроля» содержит код, показываю­щий количество байтов данных в поле «данных».

Поле «данных» содержит от 0 до 8 байтов. Сообщение длиной 0 данных может быть ис­пользовано для синхронизации распредели­тельных процессов.

Поле «CRC» (периодический резервный контроль) содержит контрольную сумму для обнаружения возможных помех при пере­даче.

Поле «АСК» (уведомление) содержит сигналы подтверждения, с помощью которых получа­тели подтверждают доставку сообщений.

«Конец фрейма» обозначает конец со­общения.

Затем идет «межфреймовый промежу­ток», отделяющий фрейм от следующего фрейма.

Инициация передатчика

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

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

Контролирующими отличительными призна­ками ошибок являются:

Обработка ошибок

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

Локализация неисправностей

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

Варианты исполнения

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

Стандартизация

Шина CAN стандартизирована для обмена данными в автомобилях; для низкоскорост­ной передачи (до 125 кбит/с) — ISO 11898-3, для высокоскоростной передачи (более 125 кбит/с) — ISO 11898-2 и SAE J 1939 (грузовики и автобусы).

CAN с таймерным управлением

Расширенный протокол CAN с возможностью работы в режиме таймерного управления на­зывается «CAN с таймерным управлением» (TTCAN). В нем можно произвольно выбрать соотношение компонентов с таймерным управлением и компонентов с управлением событиями, поэтому он полностью совме­стим с сетями CAN. TTCAN стандартизируется в ISO 11898-4.

Источник

Протокол CAN. Описание, формат кадра, контроль ошибок.

Логический уровень can шины

Приветствую всех на нашем сайте! Сегодняшняя статья будет целиком и полностью посвящена обзору протокола CAN. А в одной из следующих статей мы реализуем обмен данными по CAN на практике. Но не буду забегать вперед…

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

Основные характеристики протокола CAN:

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

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

СкоростьДлина линии
1 Мбит/с50 м
500 кбит/с100 м
125 кбит/с500 м
10 кбит/с5 км

Важным условием работоспособности шины является наличие на концах витой пары согласующих резисторов, которые также называют терминаторами, с сопротивлением 120 Ом:

Логический уровень can шины

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

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

Пусть один узел выставляет на линии рецессивный бит, то есть “темноту”. Второй узел, напротив, выставляет доминантный бит – “свет”. В итоге на линии будет “свет”, то есть доминантный бит, что в точности соответствует требованиям сети!

Логический уровень can шины

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

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

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

Сигналы, которые передаются по витой паре, получили название CAN_H и CAN_L (High и Low). Доминантное состояние соответствует случаю, когда потенциал сигнала CAN_H выше потенциала CAN_L. Рецессивное – когда потенциалы равны (разница потенциалов не превышает допустимого отклонения, 0.5 В).

С этим вроде бы разобрались, давайте двигаться дальше!

Пришло время определить, как биты объединяются в кадры. Протокол CAN определяет 4 вида кадров:

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

ПолеДлинаОписание
Начало кадра (SOF)1 битНачало передачи кадра
Идентификатор (ID)11 битИдентификатор сообщения
Запрос на передачу (RTR)1 битДоминантный бит
Бит расширения идентификатора (IDE)1 битБит определяет длину идентификатора, для базового формата – доминантный бит
Зарезервированный бит1 битЗарезервировано
Длина данных (DLC)4 битаКоличество байт данных
Данные0 – 8 байтДанные
Контрольная сумма (CRC)15 битКонтрольная сумма
Разграничитель контрольной суммы1 битРецессивный бит
Промежуток подтверждения (ACK)1 битДля приемника – доминантный бит, для передатчика – рецессивный
Разграничитель подтверждения1 битРецессивный бит
Конец кадра (EOF)7 битВсе биты рецессивные

А это структура расширенного:

ПолеДлинаОписание
Начало кадра (SOF)1 битНачало передачи кадра
Идентификатор A (ID A)11 битПервая часть идентификатора
Подмена запроса на передачу (SRR)1 битРецессивный бит
Бит расширения идентификатора (IDE)1 битБит определяет длину идентификатора, для расширенного формата – рецессивный бит
Идентификатор B (ID B)18 битВторая часть идентификатора
Запрос на передачу (RTR)1 битДоминантный бит
Зарезервированные биты2 битаЗарезервировано
Длина данных (DLC)4 битаКоличество байт данных
Данные0 – 8 байтДанные
Контрольная сумма (CRC)15 битКонтрольная сумма
Разграничитель контрольной суммы1 битРецессивный бит
Промежуток подтверждения (ACK)1 битДля приемника – доминантный бит, для передатчика – рецессивный
Разграничитель подтверждения1 битРецессивный бит
Конец кадра (EOF)7 битВсе биты рецессивные

Результирующий идентификатор получается в результате объединения полей “Идентификатор A” и “Идентификатор B“.

Кадр удаленного запроса (remote frame) представляет из себя кадр данных, описанный выше, но без поля данных и с рецессивным битом RTR. Он используется в случае, когда один узел хочет запросить данные у другого узла.

Кадр ошибки (error frame) передает устройство, обнаружившее ошибку в сети. Фрейм ошибки имеет наивысший приоритет и принимается всеми устройствами сети в обязательном порядке.

Кадр перегрузки (overload frame) используется очень редко… Его идея и назначение заключается в том, что с его помощью устройство, которое в данный момент не может принять данные, запрашивает повторную передачу этих же данных.

А давайте вернемся чуть назад, к арбитражу данных, и рассмотрим, что это может означать на практике! Итак, несколько устройств начинают передачу сообщения, а точнее кадра данных. Передается бит начала кадра и затем начинается передача идентификатора сообщения. Как вы помните, приоритет будет у того устройства, которое будет передавать доминантный бит, в тот момент, когда все остальные будут передавать рецессивный. То есть чем “позже” среди битов идентификатора появится “рецессивный бит”, тем выше будет его приоритет! Другими словами: более высокий приоритет при использовании интерфейса CAN имеют сообщения с меньшим значением идентификатора.

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

Итак, что у нас на очереди теперь? Конечно же контроль ошибок – важнейший аспект работы протокола CAN! Стандарт предусматривает несколько механизмов контроля ошибок.

Благодаря всем этим механизмам, вероятность необнаружения ошибки является очень низкой, что, конечно же, не может не радовать 🙂

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

И на этом еще не все! Каждый узел может находиться в одном из трех состояний:

Протокол CAN предусматривает, что изначально, после старта, узел находится в первом из этих состояний – Error Active. Каждое устройство имеет два счетчика ошибок:

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

Если значение любого из этих двух счетчиков узла превысит значение 127, то узел переходит в состояние Error Passive. А если величина одного из счетчиков превысит 255, то узел перейдет в состояние Bus Off.

Разница между этими состояниями заключается в действиях узла при диагностировании ошибки:

Как видите, протокол CAN крайне интересен для изучения, надежен, безопасен, и удобен в использовании 🙂

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

Источник

Видео

Подробно про CAN шину

Подробно про CAN шину

Анализ CAN шины автомобиля адаптер Канхакер-avto100

Анализ CAN шины автомобиля адаптер Канхакер-avto100

Поиск уровня топлива в CAN шине Toyota Camry 2017

Поиск уровня топлива в CAN шине Toyota Camry 2017

Экспресс диагностика CAN шины на автомобиле. №21

Экспресс диагностика CAN шины на автомобиле. №21

поиск нерабочей can шины, часть два

поиск нерабочей can шины, часть два

Arduino CAN Monitor (простейший монитор шины CAN)

Arduino CAN Monitor (простейший монитор шины CAN)

Как проверить CAN шину Используем симулятор Electude

Как проверить CAN шину  Используем симулятор Electude

Универсальная плата CAN шины

Универсальная плата CAN шины

Вебинар: Как найти любые данные из CAN-шины любого автомобиля?

Вебинар: Как найти любые данные из CAN-шины любого автомобиля?

Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.

Простая проверка CAN шины. Сканер не видит автомобиль через OBD2. Как правильно выбрать изоленту.
Поделиться или сохранить к себе:
Добавить комментарий

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