Wiren Board 6: WBE2R-R-GPS GPS/GLONASS Extension Module:NTPD PPS Setup
THE ARTICLE IS IN PROGRESS!
The WBE2R-R-GPS module allows you to autonomously synchronize the exact time of the controller by GLONASS/GPS signals and use the controller as a source of accurate NTP time on the network.
The module supports PPS signal output to the controller's GPIO processor. Kernel modules are supported by module pps_gpio.
It is further assumed that the module is installed into the controller that is configured and functioning correctly checked (see section Wiren_Board 6:_WBE2R-R-GPS_GPS/GLONASS_Extension_Module/en
NMEA and PPS
В контроллере модуль представлен двумя устройствами -- последовательным портом /dev/ttyMOD3 и устройствоv передачи сигнала pps: /dev/pps2 Порт /dev/ttyMOD3 передает данные от модуля по стандартному протоколу NMEA, включающего сообщения о положении, скорости приемника, а также времени и дате. Обычно информация обновляется один раз в секунду. Модуль выполнен на микросхеме SIM68, отладочный UART-порт недоступен в текущей аппаратной модификации.
Импульс pps точно синхронизирован с началом каждой секунды, что дает возможность повысить точность определения времени на контроллере с микросекундной точностью.
Проверяем наличие сигнала pps
В командной строке выполните команду ppstest /dev/pps2
.
Команда будет последовательно выводить на экран метки времени в формате UNIX-time с десятичной частью (метки можно прочесть в файле /sys/class/pps/pps2/assert
).
Проверяем наличие данных в формате NMEA
Чтобы убедиться в том, что система может получать данные от GPS-модуля в формате NMEA, выполните команду
cat /dev/ttyMOD3
На рисунке красным выделены фрагменты NMEA-сообщений, показывающие, что GPS-модуль достоверно зафиксировал свою позицию и получает верные данные. Подробно смотрите описание NMEA-сообщений.
NTPD
В качестве прикладного ПО используется служба ntpd. По умолчанию сервер ntpd настроен на получение времени от других серверов в интернете по протоколу ntp. Для использования сигналов времени от GPS/GLONASS-модуля необходимо выполнить ряд шагов по настройке (см. далее).
Текущие источники точного времени для NPTD
Источники точного времени помечены специальными символами:
Символ | Значение |
---|---|
* | используемый в настоящее время источник |
# | источник выбран, но слишком удален |
o | источник выбран, используется сигнал PPS |
+ | источник выбран, готов к использованию |
x | источник забракован |
. | источник выбран последним из списка кандидатов |
- | источник забракован алгоритмом выбора |
пробел | источник забракован |
Обратите внимание на то, что драйвер ntpd 28 (shared memory driver), смотрите далее, который позволяет использовать функции gpsd, не отмечается символом 'o', даже если используется PPS. При правильной работе он будет отмечен символом '*'.
GPSD
Демон gpsd представляет собой унифицированный протокол взаимодействия с приемниками спутниковых сигналов GPS/GLONASS. В нашем случае мы будем использовать его как промежуточный слой между модулем и сервером ntpd (драйвер с кодом 28). Демон устанавливается командой
apt-get install gpsd
Настройка
Настройка gpsd
Настройка ntpd
В настройках сервера ntpd нам необходимо указать два новых источника точного времени: NMEА и PPS.