Какая ОС для Cortex-M4 предлагает NTPd или аналогичный, чтобы включить синхронизацию времени с GPS-PPS

Я получил эти 3 доски в подарок.

STM32F407 ВЫСОКАЯ СОВЕРШЕННАЯ СОВЕТ ОТКРЫТИЯ http://www2.mouser.com/Search/ProductDetail.aspx?R=STM32F4DISCOVERYvirtualkey51120000virtualkey511-STM32F4DISCOVERY

STMicroelectronics STM32F411 Nucleo Board http://www2.mouser.com/Search/ProductDetail.aspx?R=NUCLEO-F411REvirtualkey51120000virtualkey511-NUCLEO-F411RE

STM32F429 Плата набора для обнаружения http://www2.mouser.com/Search/ProductDetail.aspx?R=STM32F429I-DISCOvirtualkey51120000virtualkey511-STM32F429I-DISCO

У них есть эти процессоры:

STM32F407 @ 168 МГц STM32F411 @ 100 МГц STM32F429 @ 180 МГц

У меня также есть хороший модуль GPS с последовательным и PPS выходом. Мне интересно, существует ли небольшая версия Linux для одной из этих процессорных плат / плат, позволяющая мне настроить службу NTPd для синхронизации внутренних часов с GPS, как это видно на других платах, таких как Raspberry PI.

Насколько я понимаю, обычно NTPd также использует сетевой интерфейс для связи с другими серверами времени или публикации информации в сети. Эти платы не имеют сетевых чипов / разъемов, и на самом деле я не заинтересован в их соединении с внешним миром. Я бы использовал синхронизированные часы только на самой выбранной плате.

В качестве альтернативы небольшой версии для Linux, будет ли это возможно с другой встроенной ОС или ОС реального времени?

или только с портом NTPd?

благодарю вас

Добавлен текст:

Я хотел бы найти лучший подход для повторного использования любого существующего кода для получения времени от GPS, записи в RTC и синхронизации с PPS.

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

Мне нужно сэкономить деньги и я не могу купить готовые устройства. если бы я мог избежать использования ОС и придерживаться чего-то меньшего, например, ОСРВ, встроенного или пользовательского кода... ну, я был бы счастлив:-)

я упомянул NTPd, потому что это единственное, что я знаю (мое ограничение), что позволяет эти вещи (плюс другие).

кто-то другой уже "убрал" части кода, связанные с синхронизацией PPS? или они на самом деле являются ядром NTPd, а PPS просто подключен к дополнительному источнику, как сетевые серверы?

обратите внимание, что я новичок во внутренней работе NTPd. Я только что настроил синхронизацию gps-pps-ntpd на raspberry pi, следуя инструкциям, доступным в Интернете, чтобы проверить концепцию, но это не делает меня... экспертом по NTPd:-)

1 ответ

Решение

Я полагаю, что вы можете прочитать вывод GPS, чтобы получить время, а затем вы должны использовать вывод PPS приемника GPS в качестве триггера для RTC - таким образом, вы будете использовать фактическое "значение" только один раз, тогда таймер RTC будет увеличиваться каждый раз. время, когда возникает граница на линии PPS. Чтобы сделать это, просто подключите этот сигнал ко входу OSC32_IN, настройте RTC на использование "внешних часов" (не "внешнего кристалла"!) И установите предварительное масштабирование на 0. Я не думаю, что вы можете быть более точным, чем это...

Другие вопросы по тегам