Время отсрочки арбитража CAN-шины

Я знаю, как шина CAN выполняет арбитраж. Вкратце, идентификатор узла CAN, имеющий больше «0» в идентификаторе, побеждает в обряде для передачи по шине, и остальные конкурирующие узлы отключаются.

Но я не нахожу никаких подробностей о how long отказавшем узле, ожидающем перед повторной попыткой вернуть шину. Я проконсультировался с несколькими источниками, но все еще не могу найти ответ. Есть ли экспериментальные доказательства этого?

Bosch CAN

Введение в сеть контроллеров


person rockstar    schedule 18.04.2016    source источник
comment
Насколько я помню, узел, проигравший арбитраж, по-прежнему отключен для всего сообщения узла-победителя. Попытайтесь начать с арбитража и так далее.   -  person LPs    schedule 18.04.2016
comment
Стандартный CAN не имеет идентификаторов узлов, но идентификаторов сообщений. Это существенная разница.   -  person too honest for this site    schedule 18.04.2016


Ответы (3)


Можно попробовать еще раз после того, как выигравший кадр был передан и в «поле перерыва» в конце кадра CAN не было найдено ни одного доминирующего бита. Вы, вероятно, найдете формальное определение этого, если будете искать в спецификации «поле перерыва», см., Например, 3.1.5 старой (устаревшей) спецификации Bosch, которую вы связали.

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

person Lundin    schedule 18.04.2016

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

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

person Rizwan Ahmad Bhatti    schedule 19.04.2016

Я согласен с ответами выше, но я искал более математический анализ таймингов CAN-шины. Я нашел эти отличные записи лекции: Анализ времени сообщений CAN . Глава 3

person rockstar    schedule 20.04.2016