В чем разница между активным узлом ошибки и пассивным узлом ошибки в CAN?

Я понимаю концепцию счетчиков TEC и REC в CAN. Будет ли активный при ошибке узел отправлять активные кадры ошибок при обнаружении ошибки?

Как только количество TEC превысит 127, активный к ошибкам узел станет пассивным к ошибкам. Означает ли это, что он начнет передавать пассивные кадры ошибок?

Кроме того, когда другие узлы обнаруживают, что узел передает активные кадры ошибок, передают ли они автоматически пассивные кадры ошибок? Можно ли назвать эти узлы пассивными к ошибкам узлами?

Это мое замешательство, которое требует ясности.


person Sachin Kedar    schedule 15.02.2019    source источник


Ответы (1)


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

Цитирование статьи CAN-CiA :

Локализация ошибки

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

Если все ошибки обнаруживаются с очень высокой вероятностью, постоянные ошибки могут привести к недопустимой задержке передачи сообщений. В худшем случае вся связь прерывается посредством кадров ошибок. Чтобы избежать этого, протокол CAN вводит два счетчика ошибок: один для полученных сообщений (REC) и один для переданных сообщений (TEC). Они увеличиваются и уменьшаются в соответствии с правилами, указанными в ISO 11898-1, стандарте протоколов канального уровня CAN.

Если один из счетчиков достигает 127, узел переходит в пассивное состояние ошибки. В этом состоянии узел передает пассивные флаги ошибок, состоящие из шести рецессивных битов. Этот флаг перезаписывается доминантными битами передающего узла. Это означает, что пассивный к ошибкам узел не может сообщить другим узлам о неправильно принятом кадре. Это критическая ситуация с точки зрения системы. Если передающий узел постоянно выдает флаги ошибок, это также приведет к задержке, а в худшем случае (сообщение с высоким приоритетом) заблокирует другую связь. Следовательно, узел принудительно переходит в состояние отключения шины, если TEC достигает 256. В состоянии отключения шины узел передает только рецессивные биты. Для перехода в активное состояние ошибки требуется два условия: сброс и появление 128 на 11 битов. Это означает, что оставшиеся узлы могут передать 128 кадров данных до того, как узел, находящийся в состоянии отключения шины, восстановится и снова интегрируется в сеть в качестве узла, активного при возникновении ошибки.

person Lundin    schedule 18.02.2019