Параметры настроек шины can

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

Наверное больше всего возникает вопросов в том, что же это такое и как правильно эти тайминги настроить.

Опять теория

Напомню, что протокол CAN (Controller Area Network) — представляет собой асинхронную последовательную шину с битовым кодирование NRZ (Non Return to Zero), разработанную для быстрой и надежной связи в жестких условиях, такие как автомобильные или промышленные сети. Протокол CAN позволяет программно настраивать скорость передачи данных в широком диапазоне (до 1 Мбита). Для того, чтобы работа CAN шины была стабильной, необходимо правильно указать параметры настройки синхронизации и временных интервалов (таймингов).

Видео:Настройка приема данных из шины CAN в контроллерах АвтоГРАФ-GXСкачать

Настройка приема данных из шины CAN в контроллерах АвтоГРАФ-GX

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

Так давайте же разберемся в этом подробнее:

Параметры настроек шины can

Механизм синхронизации битов контролирует шину и выполняет выборку и корректировку точек захвата бита (Sample Point) путем синхронизации при начале передаче бита и ресинхронизации при прекращении передачи этого бита.

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

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

Этот процесс можно объяснить путем простого деления номинального времени передачи бита на три сегмента:

Сегмент синхронизации (SYNC_SEG): изменение бита, как ожидается, произойдет в течение этого отрезка времени. Он имеет фиксированную длину одного кванта времени (1 х tq).
Сегмент фазы 1 (BS1): определяет местоположение точки захвата (Sample Point). Он включает в себя Prop_Seg и PHASE_SEG1 стандарта CAN. Его продолжительность программируется от 1 до 16 квантов времени, но может быть автоматически увеличена для компенсации положительной фазы дрейфов из-за различий в частоте работы на различных узлах сети.
Сегмент фазы 2 (BS2): определяет местоположение точки передачи. Он представляет собой PHASE_SEG2 стандарта CAN. Его продолжительность программируется от 1 до 8 квантов времени, но также может быть автоматически изменена в сторону уменьшения для компенсации отрицательной фазы заносов.

Ширина перехода ресинхронизации (SJW — reSynchronization Jump Width) определяет максимальное количество квантов времени, на которое может быть увеличено или уменьшено количество квантов времени битовых сегментов. Возможные значения этого показателя составляют от 1-го до 4-х квантов.

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

Видео:Настройка шины CAN по событиюСкачать

Настройка шины CAN по событию

Если этот переход обнаружен в сегменте BS1 вместо сегмента Sync_Seg, то сегмент BS1 продлевается таким образом, чтобы достичь точки захвата бита путем увеличения длительности сегментов на значение SJW. И наоборот, если переход обнаружен в сегменте BS2 вместо Sync_Seg, то BS2 укорачивается так, чтобы точка захвата сформировалась раньше. Таким образом происходит постоянная пересинхронизация с целью синхронизации с другими узлами шины. (Забавно звучит ? )

Согласно стандарту CAN, оптимальный момент времени для Sample Point составляет 87.5% от номинальной длительности передачи бита.

Расчет временных интервалов и регистры, в которых они хранятся — приведен на рисунке 2.

APB Clock — это частота, с которой работает периферия микроконтроллера. Она настраивается при запуске программы на микроконтроллере, но об этом ниже.

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

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

Стоит заметить, что для предотвращения ошибок программирования, конфигурация регистра CAN_BTR (Bit Timing Register) возможна только тогда, когда bxCan находится в режиме ожидания.

Теперь, когда Вы это все прочитали и половину не поняли, опишу простыми словами (далее цитата с одного из форумов, очень понравилась :)) :

Бит поделен на сегменты, каждый сегмент состоит из квантов, кол-во которых вы настраиваете:

• Сегмент синхронизации — по нему идет синхронизация с шиной, для длинных шин с заваленными фронтами его делают чуть шире.
• Сегмент фазы 1 (BS1) — это кванты, которые аппаратная часть выжидает, прежде чем сделать захват состояния шины.
• Сегмент фазы 2 (BS2) — это кванты, которые пройдут прежде, чем начнется прием нового бита.

Видео:STM32 CAN шина. Часть 1. Настройка и странности HALСкачать

STM32 CAN шина. Часть 1. Настройка и странности HAL

Сумма этих квантов * период кванта = периоду бита выбранной скорости.

BS1 и BS2 в разных узлах сети могут быть разные, это зависит еще от частоты микроконтроллера, аппаратными средствами может изменяться на величину SJW.

Реализация

Разобравшись с теорией, приступим к реализации.

Тактирование

Рассмотрим все на примере STM32F103C8 в CooCox CoIDE.

Видео:Видеоинструкция по настройке CAN шины сигнализации с помощью приложение StarLine Master с телефона.Скачать

Видеоинструкция по настройке CAN шины сигнализации с помощью приложение StarLine Master с  телефона.


📸 Видео

STM32 настройка CANСкачать

STM32 настройка CAN

Как создавать датчики на основании параметров с CAN-шины. Какой параметр за что отвечает?Скачать

Как создавать датчики на  основании параметров  с CAN-шины.  Какой параметр  за что  отвечает?

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

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

лекция 403 CAN шина- введениеСкачать

лекция 403  CAN шина- введение

Как удаленно настроить передачу параметров с CAN-шины на сервер мониторингаСкачать

Как удаленно настроить передачу параметров с CAN-шины на сервер мониторинга

#8. Как найти параметр пробега в CAN-шине?Скачать

#8. Как найти параметр пробега в CAN-шине?

Can Bus - что это такое ? Зачем нужен ? Как настроить ?Скачать

Can Bus - что это такое ? Зачем нужен ? Как настроить ?

Инструменты анализа и отображения данных шины CAN J1939. Вебинар Технотон. 16.04.2020Скачать

Инструменты анализа и отображения данных шины CAN J1939. Вебинар Технотон. 16.04.2020

CAN Считывание и определение данных уровня топлива из CAN шиныСкачать

CAN  Считывание и определение данных уровня топлива из CAN шины

АЗЫ ДИАГНОСТИКИ. Шины передачи данных. Часть 6. Диагностика шины CAN.Скачать

АЗЫ ДИАГНОСТИКИ. Шины передачи данных. Часть 6. Диагностика шины CAN.

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

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

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

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

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

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

Демонстрация управления системой с использованием шины CANСкачать

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