Как передаваемые сообщения CAN подтверждаются на шине CAN другими узлами? - PullRequest
0 голосов
/ 13 февраля 2019

Я знаю, что доминирующий бит подтверждения отправляется получателем сообщения, которое передается другим узлом.

Что я не могу понять, так это то, отправляет ли получатель один доминирующий бит после получения всего сообщения или же получатель отправляет то же сообщение с битовым полем ACK в качестве доминирующего?

Или приемник выводит поле ACK на другой уровень напряжения, когда передатчик передает фрейм данных?

Кроме того, могут ли два узла CAN подтвердить одно и то же сообщение?Если да, то как?Если нет, то почему?

Мне нужно разъяснить это.

1 Ответ

0 голосов
/ 13 февраля 2019

Или приемник выводит поле ACK на другой уровень напряжения, когда передатчик передает кадр данных?

Это правильный ответ.

В слоте подтверждения кадра CAN передатчик устанавливает шину на рецессивный уровень.

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

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

...