специальный вид сообщений отметка времени(см. рис. 46.), для коррекции неизбежного
ухода локальных часов.
Суть механизма – в устройстве синхронизаторе сети происходит запрос
прерывания, генерируемый в момент времени t1 окончанием успешной передачи
синхросообщения, фактически прерывание происходит в момент времени t2. После этого
в момент времени t4, он отправляет временную отметку с отметкой времени t1
(корректированное значением времени t2) - момент возникновения индикации об
успешном завершении передачи. Потребитель синхросообщения отмечает при этом время
t3, когда произошло его прерывание на событие, корректирует его и получает время t1
возникновения индикации об успешном завершении передачи, по локальным часам
потребителя. Сравнивая эту величину с временной отметкой t1 полученной по сети, он
имеет возможность произвести подстройку своих локальных часов. При использовании
данного протокола только локальные временные задержки (t2-t1 для генератора и t3-t1 для
потребителя) остаются узкими местами. Данные задержки обусловлены локальными
явлениями(такими как время отклика на прерывание или аппаратные задержки) в
отдельно взятом узле, и теоретически должны определяться эмпирическим путём.
Точность определения локальных задержек определяется реализацией, и накладывает
ограничение на точность высокоточной синхронизации. Заметим что каждый узел должен
знать только своё собственное время задержки, так как генератором синхросообщений
ему сообщается уже исправленная временная отметка(то есть не t2, а t1). Временная
отметка представляется величиной типа UNSIGNED32, и содержит количество
микросекунд, что означает что счётчик времени переполняется через каждые 72 часа. Этот
сервис конфигурируется отображением высокоточной временной отметки внутри
соответствующего PDO??.
Представляется логичным проводить подстройку часов только если максимальный
уход локальных часов превышает точность синхронизации. Для большинства
программно-схематехнических реализаций это означает, что достаточно сопровождать
синхросообщение высокоточной отметкой времени один раз в секунду.
Такое решение позволяет получить лучшую точность синхронизации, которая
может быть достигнута при подстройке через сеть, особенно когда CAN контроллеры
поддерживают отметки времени(автоматически??). Заметим что точность такой настройки
в большой степени независима от скорости передачи. Дальнейшее повышение точности
требует добавочных схемотехнических решений.
Рисунок 46. Дополнительный протокол высокоточной синхронизации.