Разъем разветвитель can шины

Для моих применений (дома) нужно выделить основное: под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары, что, мягко говоря, усложняет монтаж если блоки автоматики находятся в разных уголках строения. Теоретически конечно можно проложить между устройствами единый кабель с небольшими ответвлениями, но практически это трудно реализуемо. Недаром почти умер 10BASE-2.

В связи с этим я задумался, как бы шинную топологию CAN превратить в «звезду» ? Первое решение, что называется, «в лоб». Взять микроконтроллер со встроенным CAN-интерфейсом и на SPI повесить еще один CAN. Получаем 2 разные сети. Микроконтроллер, получив пакет через hardware-CAN, шлет его в SPI-CAN. И наоборот. Так родилась вот такая маленькая прикольная штука:

Плата размером 50х32мм. Камень PIC18F46K80.

Собственно СAN1 подключен через передатчик MCP2551 напрямую в микроконтроллер:

CAN2 подключен через MCP2515 в SPI микроконтроллера:

С софтом не стал заморачиваться.

void main() ; // очищаем watchdog
Msg_Rcvd = CANRead(&PACKET.id_full, // попытка приема из CAN Шины
&PACKET.data_bytes,
&PACKET.data_length,
&Can_Rcv_Flags);
if (Msg_Rcvd) // если там что-то есть
CANSPIWrite(PACKET.id_full, // пишем это в CANSPI
PACKET.data_bytes,
PACKET.data_length,
CanSpi_Send_Flags);

Улучшать и расширять идею можно до бесконечности. Можно на SPI повесить несколько CAN-контроллеров и дергать их по очереди. Нам же нужно повторить пакет из одного сегмента во все остальные ? ? Можно разгуляться по полной и взять PIC32MK0512GPE064. У него 4 CAN интерфейса и 6 SPI. Особо не мудрствуя, получим 10-и портовый свитч. Именно свитч а не хаб, т.к. принимает пакет полностью в одном сегменте и последовательно передает его же в другие сегменты. Такой подход хорош тем, что можно на уровне микроконтроллера инициализировать каждый канал на свою скорость, что собственно и делают китайцы, предлагая вот такую железку:

Разъем разветвитель can шины

И даже пишут к ней софт для настройки. Маршрутизация, однако ?

Разъем разветвитель can шины

Все вроде хорошо, но цена вопроса… 4 порта за 9700р это очень жестоко. (тут надо сказать что на али попадаются и 7 портов за

9000р. типа дешевле) Не буду даже пытаться посчитать во сколько встанет озвездение шины CAN в реальном доме, но явно дороже Ethernet-а. Конечно покупать я это не собирался. Как идею использовать можно, но (как обычно) есть нюанс…

CAN используется в основном в системах жесткого реального времени и шина позволяет получить сумасшедшую скорость передачи мелких пакетов при минимальных задержках. Для Ethernet со скоростью передачи 100 МБит максимальное количество кадров в секунду составляет до 29000 кадров/с. 17241 кадров/с — предельная скорость CAN… при 1 МБит ?

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

Я начал искать, неужели нельзя сделать именно синхронную побитовую работу разных сегментов? Оказывается можно. Основная проблема в том, что нельзя просто соединить can-передатчики друг с другом rx-tx и tx-rx. Вкратце суть в том, что передатчик во время передачи одновременно еще и слушает шину на предмет того, что он передал, и если он отпустил шину в «1» а другой передатчик в это время положил шину в «0» — первый проигрывает арбитраж и затыкается до освобождения линии, после чего повторяет попытку передачи. Тут посоветую почитать статью про повторитель CAN, который я в общем-то и сделал по-своему на high-speed логике.

На 2 канала получилась вот такая штука:

Разъем разветвитель can шиныРазъем разветвитель can шины

Разъем разветвитель can шиныРазъем разветвитель can шины

Из плюсов: мгновенная скорость, дешевизна. Из минусов: устал паять, 2 канала мало ?

А что если каскадировать эту схему на большее число каналов ? Так появился 8-и портовый хаб. Вот тут отлично видно что это звездная топология ?

Разъем разветвитель can шины

Разъем разветвитель can шиныРазъем разветвитель can шины

Разъем разветвитель can шиныРазъем разветвитель can шины

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

Дальнейшее вылизывание схемы питания вместе с перерисовыванием платы в DipTrace привело к вот такой реализации хаба:

Разъем разветвитель can шины

Самые внимательные заметят что стало на 4 микросхемы меньше. Розовеньким неразрывное питание 5в (без переходов). Синеньким земля, оранжевым выходы, ну и остальное по мелочи. Полигоны не показаны чтобы был виден масштаб бедствия.

Разъем разветвитель can шины

Разъем разветвитель can шины

Разъем разветвитель can шиныРазъем разветвитель can шины

Только после тестирования данный 8-и портовый хаб доступен в разделе «Купить» ?

Если вас заинтересовал повторитель CAN1 (SPI)CAN2 на PIC18F46K80 из начала статьи — напишите или позвоните — их у меня тоже есть.

Спасибо что дочитали. Всем удачных разработок.

Видео:CAN шина👏 Как это работаетСкачать

CAN шина👏 Как это работает

Разъем разветвитель can шины

Диагностика и ремонт: CAN — шина

Именно так выглядит ( в основном) та самая «шина CAN «, с которой в последнее время нам придется сталкиваться все чаще и чаще:

Разъем разветвитель can шины

Это обыкновенный двухпроводной кабель получивший название Twisted Pair.
На приведенном фото 1 показаны провода CAN High и CAN Low силового агрегата.
По этим проводам производится обмен данными между блоками управления, они могут нести информацию о скорости автомобиля, скорости вращения коленчатого вала, угле опережения зажигания и так далее.
Обратите внимание, что один из проводов дополнительно помечен черной полоской. Именно таким образом отмечается и визуально определяется провод CAN High (оранжево-черный).
Цвет провода CAN-Low — оранжево-коричневый.
За основной цвет шины CAN принят оранжевый цвет.

Читайте также: Дошиповка зимних шин в иркутске

На рисунках и чертежах принято изображать цвета проводов шины CAN другими цветами, а именно:

Разъем разветвитель can шины

CAN-High — желтым цветом
CAN-Low — зеленым цветом

Всего существует несколько разновидностей шин CAN , определяемых выполняемыми ими функциями:
Шина CAN силового агрегата (быст рый канал ) .
Она позволяет передавать информацию со скоростью) 500 кбит/с и служит для связи между блоками управления (двигатель — трансмиссия)
Шина CAN системы «Комфорт» (медле нный канал ) .
Она позволяет передавать информацию со скоростью 100 кбит/с и служит для связи между блоками управления, входящими в систему «Комфорт».
Шина данных CAN информационно — командной системы (медленн ый канал ), позволяющая передавать данные со скоростью 100 kBit/s. Обеспечивает связь между различными обслуживающими системами ( например, телефонной и навигационной системами ) .

Новые модели автомобилей все более становятся похожими на самолеты — по количеству заявленных функций для безопасности, комфорта и экологичности. Блоков управления становится все больше и больше и «тянуть» от каждого грозди проводов — нереально.
Поэтому кроме шины CAN уже существуют другие шины, получившие названия:
– шина LIN (однопроводная шина)
– шина MOST (оптоволоконная шина)
– беспроводная шина Bluetooth

Но не будем «расплываться мыслью по древу», заострим наше внимание пока что на одной конкретной шине: CAN ( по взглядам корпорации BOSCH ).

На примере шины CAN силового агрегата можно посмотреть форму сигнала:

Разъем разветвитель can шины

Когда на High шине CAN доминантное состояние, то напряжение проводе повышается до 3.5 вольт.
В рецессивном состоянии напряжение на обоих проводах равняется 2.5 вольта.
Когда на проводе Low доминантное состояние, то напряжение падает до 1.5 вольта.
(«Доминанта» — явление, доминирующее, главенствующее или господствующее в какой-либо сфере,- из словарей).

Для повышения надежности передачи данных, в шине CAN применяется дифференциальный способ передачи сигналов по двум проводам, имеющим название Twisted Pair . А провода, которые образуют эту пару, называются CAN High и CAN Low .
В исходном состоянии шины на обоих проводах поддерживается постоянное напряжение на определенном (базовом) уровне. Для шины CAN силового агрегата оно приблизительно равняется 2.5 вольта.
Такое исходное состояние называется «состоянием покоя» или «рецессивом».

Каким образом передаются и преобразуются сигналы по CAN шине?

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

Разъем разветвитель can шины

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

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

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

Так как шина CAN состоит из двух проводов, которые перекручены между собой, то помеха одновременно воздействует на два провода:

Разъем разветвитель can шины

Из вышеприведенного рисунка видно, что происходит далее: в дифференциальном усилителе напряжение на проводе Low (1,5 В – » Pp «) вычитается из напряжения
на проводе High (3,5 В – » Pp «) и в обработанном сигнале помеха отсутствует ( » Pp » — помеха).

Разъем разветвитель can шины

Примечание: По наличию времени статья может иметь продолжение — много еще остается «за кадром».

Вас также может заинтересовать:
Шина CAN — это страшно?

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

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

Краткий обзор протокола CAN. Часть II

По материалам компании Kvaser

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

Содержание статьи

Разъемы CAN

Для разъемов CAN стандартов не существует! Обычно, каждый (!) протокол более высокого уровня (Higher Layer Protocol) описывает один или несколько предпочтительных типов разъемов. Основные типы:

• 9–контактный DSUB, предложен CiA;

• 5–контактный Mini–C и/или Micro–C, используется DeviceNet и SDS;

• 6–контактный Deutsch разъем, предложенный CANHUG для транспортных гидравлических систем.

Разъемы CAN

Данное назначение контактов разъема рекомендовано CiA и фактически является промышленным стандартом.

1Резерв
2CAN_LЛиния шины CAN_L (доминантная низкая)
3CAN_GNDЗаземление CAN
4Резерв
5(CAN_SHLD)Опционально: экран CAN
6(GND)Опционально: заземление CAN
7CAN_HЛиния шины CAN_H (доминантная высокая)
8Резерв (линия ошибок)
9CAN_V+Опционально: питание

Для пользователей продукции KVASER: Пожалуйста заметьте, что специфическое употребление этих контактов в кабелях KVASER DRVcan описано в документе LAPcan Hardware Guide, который можно скачать на сайте компании.

Если питание подается, оно должно быть в диапазоне +7..+13 В, 100 мA. Модули оснащены разъемом типа «папа» и должны соединять внутри контакты 3 и 6.

Нумерация контактов действительна для разъема типа «папа„, при взгляде со стороны разъема, или для разъема типа “мама», при взгляде со стороны распайки. – Чтобы запомнить расположение контактов, заметьте, что контакт CAN_LOW имеет МЕНЬШИЙ (LOW) номер, а CAN_HIGH – БОЛЬШИЙ (HIGH).

5-контактный Mini–C

Используется как DeviceNet , так и SDS , и является совместимым для этих двух протоколов.

КонтактФункцияЦвет DeviceNet
1ЭкранНеизолированный
2V+Красный
3V-Черный
4CAN_HБелый
5CAN_LСиний

Модули оснащены разъемами типа «папа». Подаваемое напряжение 24 В ±1%

6-контактный Deutsch DT04-6P

Рекомендован CANHUG для использования в транспортных гидравлических системах

Разъемы на модулях типа «папа», разъемы шины – «мама». На данный момент нет никаких рекомендаций по вопросу подачи питания.

КонтактФункцияРекомендованный цвет кабеля
1«Минус» питания

Читайте также: Мощные шины для велосипеда

Тактовая синхронизация CAN

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

Схема бита данных шины CAN:

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

Сегмент воспроизведения нужен для компенсации задержки на линиях шины.

Сегменты фазы могут быть сокращены (сегмент фазы 1) или удлинены (сегмент фазы 2), если это потребуется для сохранения синхронизованности тактовых частот.

Уровни шины замеряются на границе между сегментом фазы 1 и сегментом фазы 2.

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

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

Для того, чтобы регулировать встроенный в чип генератор тактовых частот шины, контроллер CAN может сократить или удлинить бит на целое число квантов. Максимальное количество таких временных поправок бита определяется параметром «ширина скачка синхронизации» (Synchronization Jump Width, SJW).

Жесткая синхронизация происходит при переходе стартового бита от рецессивного к доминантному. Отсчет времени прохождения бита начинается заново с этой границы.

Повторная синхронизация происходит когда край бита не попадает в сегмент синхронизации сообщения. Один из сегментов фазы укорачивается или удлиняется на некоторое количество квантов, зависящее от ошибки фазы сигнала; максимальное количество используемых квантов определяется параметром «ширина скачка синхронизации» (Synchronization Jump Width, SJW).

Вычисление регистра тактовой синхронизации

Большинство контроллеров CAN позволяют программисту осуществлять настройку тактовой синхронизации используя следующие параметры:

• Значение предварительного делителя тактовой частоты

• Количество квантов перед точкой замера

• Количество квантов после точки замера

• Количество квантов в «ширина скачка синхронизации» (Synchronization Jump Width, SJW)

Обычно для этих целей выделяется два регистра: btr0 и btr1. Однако они могут слегка различаться у разных контроллеров, поэтому внимательно читайте инструкцию.

В контроллерах 82c200 и SJA1000, производства NXP (ранее Philips), раскладка регистра выглядит приблизительно так:

76543210
btr0SJW1SJW0BRP5BRP4BRP3BRP2BRP1BRP0
btr1SAMTSEG22TSEG21TSEG20TSEG13TSEG12TSEG11TSEG10

• BRP0..BRP5 устанавливают значение предварительного делителя тактовой частоты

• SJW0..SJW1 устанавливают длину SJW

• TSEG10..TSEG13 устанавливают количество квантов перед точкой замера (стартовый бит не включен)

• TSEG20..TSEG22 устанавливают количество квантов после точки замера

• SAM при установке значения 1 производится три замера, при установке значения 0 – один замер

Примечание: реальные значения этих параметров несколько отличаются от значений, вписанных в регистр.

Пример: если сигнал генератора, подаваемый на SJA1000, имеет частоту 16 МГц, и мы желаем получить скорость передачи 250 кбит/с, с точкой замера в районе 62% всего бита, и SJW равным 2 квантам, мы можем установить –
BRP = 4, что дает продолжительность кванта 2 × 4 / 16000000 с = 500 нс, и

TSEG1 = 5, что дает 5 квантов перед точкой замера, и

TSEG2 = 3, что дает 3 кванта после точки замера.

Каждый бит будет содержать 5 + 3 = 8 квантов, что даст нам желаемую скорость передачи 1 / (8 × 500 нс) = 250 кбит/с. Значения регистра должны быть следующими:

btr0=(SJW – 1) * 64 + (BRP -1) =
(2-1)*64 + (4-1) =
67 =
0×43
btr1=SAM * 128 + (TSEG2 – 1)* 16 + (TSEG1 – 1) =
0×128 + (3-1)*16 + (4-1) = («4» потому, что стартовый бит не включен)
35 =
0×23

Точка замера в районе 5/8 = 62.5% бита.

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

Как CAN обрабатывает ошибки

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

Каждый узел обслуживается двумя счетчиками ошибок: счетчиком ошибок передачи (Transmit Error Counter) и счетчиком ошибок приёма (Receive Error Counter). Существуют правила, регламентирующие повышение и/или понижение значения этих счетчиков. По существу, передатчик определяет повышение числа сбоев в счетчике ошибок передачи быстрее, нежели слушающие узлы увеличат значения своих счетчиков ошибок передачи. Это потому, что есть немалая вероятность, что сбой именно в передатчике! Когда значение любого счетчика ошибок превышает определенную величину, узел сначала становится Error Passive – это значит, что он не будет активно разрушать трафик шины при обнаружении ошибки; а затем Bus Off – это значит, что узел вообще не будет принимать участия в передаче данных по шине.

При помощи счетчиков ошибок узел CAN может не только обнаруживать сбои, но и ограничивать ошибки.

Механизмы обнаружения ошибок

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

1.Мониторинг битов (Bit Monitoring).

2.Вставка битов (Bit Stuffing).

3.Проверка кадра (Frame Check).

4.Проверка распознавания (Acknowledgement Check).

5.Проверка циклической избыточности (Cyclic Redundancy Check).

Мониторинг бита

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

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

Проверка кадра

Некоторые части сообщения CAN имеют фиксированный формат, т.е. стандарт четко определяет, какие уровни должны произойти и когда. (Эти части – ограничитель CRC (CRC Delimiter), ограничитель ACK (ACK Delimiter), конец кадра (End of Frame), а также пауза (Intermission), однако для них существуют дополнительные специализированные правила проверки на ошибки.) Если контроллер CAN обнаружит неверное значение в одном из этих полей, он подаст сигнал ошибки формы (Form Error).

Проверка распознавания

Ожидается, что все узлы шины, которые получили сообщение корректно (независимо от того, было ему это сообщение «интересно» или нет), отправят доминантный уровень в так называемой области распознавания (Acknowledgement Slot) кадра. Передатчик будет передавать рецессивный уровень. Если передатчик не сможет обнаружить доминантный уровень в области распознавания, он подаст сигнал ошибки распознавания (Acknowledgement Error).

Проверка циклической избыточности

Каждое сообщение содержит 15–битную контрольную сумму циклической избыточности (Cyclic Redundancy Checksum, CRC), и любой узел, обнаруживший что CRC в сообщении отличается от посчитанного им, подаст сигнал ошибки CRC (CRC Error).

Механизмы ограничения ошибок

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

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

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

• Узел в режиме Error Active при обнаружении ошибки будет передавать флаги активной ошибки (Active Error Flags).

• Узел в режиме Error Passive при обнаружении ошибки будет передавать флаги пассивной ошибки (Passive Error Flags).

• Узел в режиме Bus Off не будет передавать ничего.

Правила повышения и понижения значений счетчиков ошибок довольно сложные, но принцип прост: ошибка передачи добавляет 8 пунктов, а ошибка прием – 1 пункт. Правильно переданные и/или принятые сообщения вызывают понижение значения счетчика(ов).

Пример (слегка упрощенный): Представим, что у узла A плохой день. Всякий раз, когда A пытается передать сообщение, происходит сбой (не важно, по какой причине). При каждом сбое значение счетчика ошибок передач увеличивается на 8 пунктов и передается флаг активной ошибки. Затем он пытается послать сообщение ещё раз.. и всё повторяется.

Когда значение счетчика ошибок передачи превысит 127 пунктов (т.е. после 16 попыток), узел A перейдёт в режим Error Passive. Разница в том, что теперь он будет передавать флаги пассивной ошибки. Флаг пассивной ошибки содержит 6 рецессивных битов и не будет нарушать передачу других данных по шине – поэтому другие узлы не услышат жалобы A на ошибки шины. Однако A продолжит повышать значение счетчика ошибок передачи. Когда он превысит 255 пунктов, узел A окончательно сдастся и перейдет в режим Bus Off.

Что другие узлы думают об узле A? – После каждого флага активной ошибки, переданного узлом A, остальные узлы повышают значения своих счетчиков пассивной ошибки на 1 пункт. За всё то время, что потребуется узлу A для перехода в режим Bus Off, значения счетчиков ошибок получения остальных узлов не превысят границы Error Passive, т.е. 127. Это значение будет уменьшаться на 1 пункт при каждом корректном получении сообщения. Однако узел А будет оставаться в режиме Bus Off.

Большинство контроллеров CAN будут предоставлять биты статуса (и соответствующие прерывания) для двух состояний:

• «Предупреждение об ошибке» (Error Warning) – значение одного или обеих счетчиков ошибок превысило 96 пунктов

Некотрые, но не все (!), контроллеры также предоставляют бит для состояния Error Passive. Немногие контроллеры также предоставляют прямой доступ к счетчикам ошибок.

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

Режимы сбоев шины

Стандарт ISO 11898 перечисляет несколько режимов сбоев кабеля шины CAN:

3.CAN_H короткозамкнутый на напряжение батаре

4.CAN_L короткозамкнутый на землю

5.CAN_H короткозамкнутый на землю

6.CAN_L короткозамкнутый на напряжение батареи

7.CAN_L короткозамкнутый на провод

8.CAN_H и CAN_L прерваны в одном и том же месте

9.Потеря соединения с оконечной нагрузкой сети

Для сбоев 1–6 и 9 «рекомендовано», чтобы шина сохраняла работоспособность путём снижения соотношения сигнал/шум (S/N), а в случае сбоя 8 – чтобы исходная подсистема сохранила работоспособность. Для сбоя 7 существует «опциональная» возможность сохранения работоспособности путём снижения соотношения сигнал/шум (S/N).

На практике система CAN, построенная на приемопередатчиках типа 82C250, не сохранит работоспособность при сбоях 1–7, а при сбоях 8–9 может как сохранить, так и не сохранить.

Существуют «устойчивые к сбоям» драйверы, такие как TJA1053, способные обрабатывать все сбои. Обычно за эту устойчивость приходится платить ограничением максимальной скорости; для TJA1053 она составляет 125 кбит/с.

По материалам компании Kvaser . С оригинальными текстами на английском языке можно ознакомиться на сайте компании Kvaser , перейдя по этой ссылке .

  • Свежие записи
    • Нужно ли менять пружины при замене амортизаторов
    • Скрипят амортизаторы на машине что делать
    • Из чего состоит стойка амортизатора передняя
    • Чем стянуть пружину амортизатора без стяжек
    • Для чего нужны амортизаторы в автомобиле

    🎬 Видео

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

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

    Кан шина, что это? Поймет школьник! принцип работыСкачать

    Кан шина, что это? Поймет школьник! принцип работы

    MCP2515, контроллер CAN шины с интерфейсом SPIСкачать

    MCP2515, контроллер CAN шины с интерфейсом SPI

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

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

    Мерседес разьем CAN шины, как выглядит и где?Скачать

    Мерседес разьем CAN шины, как выглядит и где?

    тестирование разветвителя CAN-шиныСкачать

    тестирование разветвителя CAN-шины

    Как определить скорость CAN шины. Диагностика Mitsibushi ASX SRS на столе.Скачать

    Как определить скорость CAN шины. Диагностика Mitsibushi ASX SRS на столе.

    продолжаю поиск закороченной шины can. дело движется.))Скачать

    продолжаю поиск закороченной шины can. дело движется.))

    Сканер не подключается: поиск неисправности CAN шины (видео 57)Скачать

    Сканер не подключается: поиск неисправности CAN шины (видео 57)

    Проверка исправности CAN шиныСкачать

    Проверка исправности CAN шины

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

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

    Подробно про CAN шинуСкачать

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

    Такого от KIA я не ожидал. CAN шину затянуло в вакуум ч.1Скачать

    Такого от KIA я не ожидал. CAN шину затянуло в вакуум ч.1

    С чего начать ремонт ЭБУ: Типы шин данных, CANСкачать

    С чего начать ремонт ЭБУ: Типы шин данных,  CAN

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

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

    Подключение к CAN-шине через разъем OBDIIСкачать

    Подключение к CAN-шине через разъем OBDII

    Установка бесконтактного считывателя CAN-шины Eurosens InCANСкачать

    Установка бесконтактного считывателя CAN-шины Eurosens InCAN

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

    Универсальная плата CAN шины
Поделиться или сохранить к себе:
Технарь знаток