PPS: как настроить системные часы от PPS? - PullRequest
0 голосов
/ 16 февраля 2019

В документации Linux PPS говорится:

PPS означает «импульс в секунду», а источник PPS - это просто устройство, которое каждую секунду выдает сигнал высокой точности, чтобы приложение могло его использовать.чтобы настроить время системных часов.

Но я не нашел, как сделать эту настройку таймера системных часов (hwclock).Я скорее не использую ntp, просто для синхронизации системного таймера с PPS.

Можно ли настроить системный таймер из PPS (без использования ntp)?

Я также не до конца понимаю время pps, которое можно прочитать из пользовательского пространства.с помощью команды time_pps_fetch (см. пример ppstest.c)

Как получается, что linuxpps обеспечивает наносекундное разрешение, если это тактовая частота, равная только «импульсу в секунду»?

Ответы [ 2 ]

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

Самое простое решение - использовать ntpd, когда необходимо подключить системные часы к PPS.

Любые другие альтернативы требуют написания реализации с использованием adjtimex ().

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

Ну, вам нужно и устройство pps (например, / dev / pps0) внутри вашей системы.

Вы можете сделать это с помощью ldattach команды типа ' sudo ldattach pps /dev / ttyS0 ', если у вас уже есть источник PPS (например, GPS-приемник), подключенный к последовательному порту (/ dev / ttyS0).После этого вы можете передать / dev / pps0 в функцию time_pps_fetch как путь к устройству.Или для консольного приложения pps_test .Вы можете прочитать более подробное описание (с правилами udev, автозапуск через сервис systemd) здесь .

Надеюсь, это поможет вам;)

...