Что будет в CAN?

У меня было интервью. Интервьюер спросил меня:

Если два узла отправляют два сообщения с одним и тем же идентификатором (0x100) с разными данными, кто выиграет арбитраж? Какое сообщение будет в автобусе?

Если победит узел 1, то как насчет сообщения узла 2? Когда будет отправлено сообщение узла 2?


person Rasmi Ranjan Nayak    schedule 28.05.2012    source источник


Ответы (3)


Здесь есть два случая

  1. Тот же идентификатор и одно и то же поле ДАННЫХ
  2. Тот же идентификатор с другим полем ДАННЫХ

СЛУЧАЙ 1: когда два узла пытаются передать один и тот же идентификатор и одно и то же поле данных, CAN увидит это как одно сообщение и отправит его по шине CAN. Здесь вы действительно не можете сказать, отправляет ли узел 1 или узел 2, потому что оба имеют одинаковый идентификатор и данные.

СЛУЧАЙ 2: здесь другое поле данных. До арбитражного поля проблем не будет. Поскольку данные для обоих узлов различаются, вы получите ошибку шины. Это связано с тем, что ваше поле данных защищено CRC, и добавление битов также будет иметь место.

person Kiran.vanam    schedule 01.10.2012

В сети CAN N / W, если 2 устройства имеют одинаковые идентификаторы узлов, оба устройства не обнаруживают и повторный запрос / ответ сообщений не происходит. (Ничего не будет работать ... например, Bit Stuffing, Arbitration, Error Detection, Bit monitoring, ACK, CRC).

В сети, если у нас разные идентификаторы, мы можем передавать одинаковые или разные сообщения. Чтобы взять под контроль CAN N / W, мы используем концепцию арбитража.

person neerati goutham neerati goutha    schedule 27.01.2016

Я нашел ответ в Controller Area Network - CAN Information .

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

person Rasmi Ranjan Nayak    schedule 29.05.2012