Схема «монтажное И»/кадр данных
Чтобы понять, как осуществляется арбитраж, необходимо знать, что в шине CAN используется так называемая схема «монтажное И». Это означает, что все узлы одновременно отправляют и принимают сигнал. Любой узел, отправляющий сообщение, одновременно проверяет наличие сигнала и сравнивает его с отправляемым сигналом. Как происходит передача сообщения.
Подготовка: контроллер CAN обрабатывает данные, полученные от микропроцессора, и подготавливает их к отправке.
Отправка сообщения: трансивер CAN получает данные от контроллера CAN, преобразует их в электрические сигналы и отправляет их на шину передачи данных.
Получение сообщения: все остальные узлы, подключенные к шине, и сам отправитель получают данные.
Выбор: каждый блок управления проверяет содержимое полученного сообщения и определяет, релевантно оно или нет.
Принятие:
Если сообщение является релевантным для блока управления, оно принимается на обработку.
Бит начала кадра сообщает всем блокам управления о том, что начинается новое сообщение.
Поле арбитража играет важную роль, поскольку эта последовательность битов определяет приоритет сообщения. Подробно процесс арбитража будет рассмотрен далее. Поле запроса передачи (RTR) длиной 1 бит больше не используется. Ранее этот бит использовался для запроса информации от другого ЭБУ. Контрольное поле содержит сведения об общей длине сообщения, поскольку она может быть переменной. Это один из признаков, используемых для проверки правильности приема. Поле данных содержит сведения, которые требуется передать. Длина поля данных может быть разной. Максимальная длина составляет 8 байт = 64 бита. Еще одним средством проверки правильности приема сообщения служит поле циклического избыточного кода. Поле подтверждения является сигналом подтверждения правильности и полноты приема сообщения. Конец кадра указывает на конец сообщения. В настоящее время в основном используются 2 версии высокоскоростной шины CAN, 2.0 A и 2.0 B, различающиеся количеством бит, выделенных для идентификатора: 11 бит в версии 2.0 A и 29 бит в версии 2.0 B.
Арбитраж
Процесс арбитража происходит следующим образом. В данном примере два ЭБУ (узла) одновременно начинают передавать сообщение. Узел A отправляет доминантный бит (0) и получает от шины сигнал 0. Аналогичное верно и для узла B. Если оба узла обнаружат на шине то же самое значение, которое они отправили на шину, оба узла продолжат отправку сообщения. Затем оба узла отправляют/получают сигнал 1. Как и ранее, они продолжают отправку. Это будет продолжаться до тех пор, пока оба узла отправляют одинаковое значение. Однако затем узел A отправляет 0, а узел B — 1. Узел A продолжит отправку, поскольку отправляемый и получаемый сигналы совпадают. Однако на узле B возникнет другая ситуация. Этот узел отправил 1, а получает 0. Поскольку 0 имеет более высокий приоритет чем 1, узел B распознает, что на шине имеется более важное сообщение, прекратит передачу и перейдет в режим только приема. Основное преимущество этого метода заключается в том, что «победитель» арбитража просто продолжит отправку своего сообщения без каких-либо задержек. Это называется доступом к информации без ее разрушения (NDA). После такого арбитража передача данных будет продолжаться даже в том случае, если на шине появится сообщение с более высоким приоритетом. Процесс арбитража обеспечивает предсказуемое максимальное время задержки важного сообщения
(это время примерно равно времени передачи одного сообщения).
Дата добавления: 2021-09-07; просмотров: 355;