Настройка сервера точного времени на контроллере Wiren Board 6 с модулем WBE2R-R-GPS

Материал из Wiren Board
Это утверждённая версия страницы. Она же — наиболее свежая версия.
Другие языки:


СТАТЬЯ В ПРОЦЕССЕ РЕДАКТИРОВАНИЯ И НАПОЛНЕНИЯ!


Модуль WBE2R-R-GPS позволяет автономно синхронизировать точное время контроллера по сигналам GLONASS/GPS и использовать контроллер в качестве источника точного времени NTP в сети. Модуль поддерживает вывод сигнала pps на GPIO процессора контроллера. На уровне ядра модуль поддерживается модулем pps_gpio.


В дальнейшем предполагается, что модуль установлен в контроллер, сконфигурирован и правильность его работы проверена (смотрите раздел Wiren_Board 6:_WBE2R-R-GPS_GPS/GLONASS_Extension_Module

NMEA и PPS

В контроллере модуль представлен двумя устройствами -- последовательным портом /dev/ttyMOD3 и устройствоv передачи сигнала pps: /dev/pps2 Порт /dev/ttyMOD3 передает данные от модуля по стандартному протоколу NMEA, включающего сообщения о положении, скорости приемника, а также времени и дате. Обычно информация обновляется один раз в секунду. Модуль выполнен на микросхеме SIM68, отладочный UART-порт недоступен в текущей аппаратной модификации.

Импульс pps точно синхронизирован с началом каждой секунды, что дает возможность повысить точность определения времени на контроллере с микросекундной точностью.

Проверяем наличие сигнала pps

В командной строке выполните команду ppstest /dev/pps2.

Проверка наличия сигнала pps

Команда будет последовательно выводить на экран метки времени в формате UNIX-time с десятичной частью (метки можно прочесть в файле /sys/class/pps/pps2/assert).

Проверяем наличие данных в формате NMEA

Чтобы убедиться в том, что система может получать данные от GPS-модуля в формате NMEA, выполните команду

cat /dev/ttyMOD3
Проверка поступления NMEA-данных

На рисунке красным выделены фрагменты NMEA-сообщений, показывающие, что GPS-модуль достоверно зафиксировал свою позицию и получает верные данные. Подробно смотрите описание NMEA-сообщений.

NTPD

В качестве прикладного ПО используется служба ntpd. По умолчанию сервер ntpd настроен на получение времени от других серверов в интернете по протоколу ntp. Для использования сигналов времени от GPS/GLONASS-модуля необходимо выполнить ряд шагов по настройке (см. далее).

Текущие источники точного времени для NPTD

Ntpqp inint.png

Источники точного времени помечены специальными символами:

Символ Значение
* используемый в настоящее время источник
# источник выбран, но слишком удален
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.