Проверка временных меток сообщений, отправленных по CAN-шине

Для обеспечения актуальности сообщения в CAN-шине к сообщению может быть добавлена ​​метка времени. Затем получатель может проверить отметку времени (может быть усеченной) и сравнить ее со своим собственным локальным таймером, чтобы решить, хочет ли он продолжить сообщение.

Мой вопрос: какое правило использует получатель (на практике), чтобы проверить отметку времени на свежесть? Кажется, что просто смотреть на абсолютное значение разницы не идеально, так как продолжительность отправки сообщения по CAN-шине непостоянна (обработка коллизий/арбитраж шины).


person Benjamin    schedule 08.01.2019    source источник


Ответы (1)


Определение «свежести» сообщения является чисто логикой прикладного уровня, и, таким образом, решение не является стандартным протоколом. Это сильно зависит от вариантов использования, в которых участвует приложение. Например, ADAS может потребоваться пакет данных объекта радара со свежестью 20 мс.

Протокол TimeSync является одним из вспомогательных механизмов, используемых для обеспечения высокоточной связи узлов, чувствительных ко времени.

В TimeSync локальные часы ведомых узлов настраиваются на часы ведущего. Через сообщения SYNC+FUP также учитывается продолжительность отправки сообщения от триггера до обнаружения ACK на шине.

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

Примечание: время отклика CAN на сообщение при передаче по CAN со скоростью 1 Мбод составляет не более 300 мкс, и в зависимости от применяемой архитектуры ПО время от принимающего трансивера до приложения не должно превышать 5-10 мкс.

person VioletVynil    schedule 09.01.2019