Re: Какие есть способы получать более-менее точное время?
От: Ночной Смотрящий Россия  
Дата: 11.03.22 13:33
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>3. GPS. Как я понимаю, принцип работы GPS в том, что спутники посылают сигнал точного времени. Тут тоже не нашёл информацию — насколько сложно такой сигнал принять.


В каком плане сложно?

vsb> Всё же GPS-чипы отдают координаты, а не сигнал.


Время они тоже отдают.

vsb>Также GPS жрёт много энергии,


Современные — не особо.

vsb> требует каких-то альманахов,


Время они, емнип, отдают и без подгрузки альманахов.

vsb>Можно ли уловить сигнал GPS без специальной микросхемы?


Специальной микросхемой будет дешевле и проще.

vsb>4. Краем уха слыхал, что есть какие-то специальные радиостанции, которые рассылают сигнал точного времени.


На территории Казахстана, афаик, ни одной нет. Ближайшая вроде бы где то в Германии.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Какие есть способы получать более-менее точное время?
От: vsb Казахстан  
Дата: 11.03.22 13:39
Оценка:
Здравствуйте, Ночной Смотрящий, Вы писали:

vsb>>3. GPS. Как я понимаю, принцип работы GPS в том, что спутники посылают сигнал точного времени. Тут тоже не нашёл информацию — насколько сложно такой сигнал принять.


НС>В каком плане сложно?


В плане доступности нужного оборудования для приёма радиоволны и извлечения из неё нужной информации. Т.е. подцепить антенну к АЦП-ножке микроконтролера и там чего-нибудь записать-отфильтровать, видимо, не получится.

vsb>> Всё же GPS-чипы отдают координаты, а не сигнал.


НС>Время они тоже отдают.


vsb>>Также GPS жрёт много энергии,


НС>Современные — не особо.


vsb>> требует каких-то альманахов,


НС>Время они, емнип, отдают и без подгрузки альманахов.


vsb>>Можно ли уловить сигнал GPS без специальной микросхемы?


НС>Специальной микросхемой будет дешевле и проще.


Т.е. берём плату, дающую доступ к GPS и курим её интерфейс на предмет этой информации — это нормальный подход, получается. Спасибо.
Re: Какие есть способы получать более-менее точное время?
От: ononim  
Дата: 11.03.22 14:29
Оценка:
vsb> Можно ли уловить сигнал GPS без специальной микросхемы? Просто прицепить антенну на АЦП-вход микроконтролера и дешифровать что он там будет улавливать. Или я слишком наивен?
Можно ловить на RTL SDR донгл с прецизионным кварцем, NESDR например. Но это оверкилл.
Как много веселых ребят, и все делают велосипед...
Re: Какие есть способы получать более-менее точное время?
От: LuciferSaratov Россия  
Дата: 11.03.22 14:37
Оценка: 10 (1)
Здравствуйте, vsb, Вы писали:

можно получать время по RDS https://en.wikipedia.org/wiki/Radio_Data_System
вот тут кто-то пробовал тоже делать часы: http://www.sgitheach.org.uk/nixie7.html
Re[5]: Какие есть способы получать более-менее точное время?
От: watchmaker  
Дата: 11.03.22 17:43
Оценка: 24 (3)
Здравствуйте, vsb, Вы писали:

vsb>Ну мне все эти микросекунды роли не играют, у меня точность 2 секунды, а не микросекунды.


Действительно, непонятно зачем тебе советуют тут решать какие-то уравнения, слушать несколько спутников, вычислять коррекции и поправки, и прочую жесть.

Так как в gps каждая строка данных, переданная со спутника, содержит временную метку в HOW-слове. Для желаемой точности достаточно просто транслировать её наружу с любого из спутников, даже без сравнения с другими.


> Т.е. я бы предпочёл запитать приёмник на 10 мс, поймать первый попавшийся сигнал и потушить его сразу, и пусть там будет точность +- секунда


А вот так не получится.
Хотя временные метки и находятся в каждом subframe, но один subframe занимает 300 бит, а в GPS скорость передачи — 50 бит в секунду. То есть для минимальной порции данных придётся принимать сигнал минимум 6 секунд.

Дальше — хуже. В HOW находится не весь timestamp, а лишь младшая его часть — время с начала gps-недели.
Какая сейчас gps-неделя, конечно, тоже передаётся, но лишь в subframe 1, то есть раз в 30 секунд. И там тоже не все биты, а лишь по модулю 1024 (https://en.wikipedia.org/wiki/GPS_week_number_rollover).

Но и это ещё не всё. Тебя скорее интересует UTC-время. А в нём есть високосные секунды. А gps-time течёт непрерывно.
То есть gps-timestamp нужно скорректировать на несколько целочисленных високосных секунд: а они наступают непредсказуемо. Если эту информацию не обновлять, то каждые несколько лет будет добавляться ошибка ровно в одну секунду.
А обновлять эту информацию можно либо из tzdata, либо из 18-й страницы альманаха (транслируется раз в 12.5 минут, достаточно получать раз в полгода).

Понятно, что если слышно несколько спутников, то можно дождаться первого ответа, кратно уменьшив время ожидания, но даже если тебе откуда-то (например, с предыдущего запуска) уже известна вся нужная информация, то всё равно субсекундного времени приёма не будет достаточно.
Отредактировано 11.03.2022 21:22 watchmaker . Предыдущая версия .
Re[6]: Какие есть способы получать более-менее точное время?
От: vsb Казахстан  
Дата: 11.03.22 17:57
Оценка:
Спасибо, очень интересно, пожалуй на все вопросы ответили, я эту информацию по кускам где-то хватал, но полной картины не было.

Я так полагаю, что текущую неделю мне надо узнать один раз, а после этого RTC её будет помнить (по крайней мере пока батарейку не заменят).

По високосным секундам, думаю, тоже не критично, но учту.

Главное теперь, чтобы GPS-плата выдавала всю эту информацию в достаточно сыром виде по мере поступления, а не где-нибудь внутри пережёвывала, выплёвывая лишь выводы через 15 минут работы (:

W>Понятно, что если слышно несколько спутников, то можно дождаться первого ответа, кратно уменьшив время ожидания, но даже если тебе откуда-то (например, с предыдущего запуска) уже известна вся нужная информация, то всё равно субсекундного времени приёма не будет достаточно.


Ну сколько надо, столько будем принимать, про субсекундное время приёма, это я так, от балды сказал, почему-то думал, что там сигнал передаётся куда плотней. Думаю, если раз в пару недель на 6 секунд включать, чтобы подкорректировать RTC, это не должно быть сильно напряжно для батарейки.
Отредактировано 11.03.2022 17:58 vsb . Предыдущая версия . Еще …
Отредактировано 11.03.2022 17:58 vsb . Предыдущая версия .
Re[3]: Какие есть способы получать более-менее точное время?
От: Ночной Смотрящий Россия  
Дата: 11.03.22 20:07
Оценка: 10 (1)
Здравствуйте, vsb, Вы писали:

vsb>Т.е. берём плату, дающую доступ к GPS и курим её интерфейс на предмет этой информации


Там обычно вариации на тему последовательного терминала. В который приемник просто выдает по таймеру одну и ту же строку, содержащую список спутников, время и координаты. Координаты, понятно, появляются не сразу.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[3]: Какие есть способы получать более-менее точное время?
От: Ночной Смотрящий Россия  
Дата: 12.03.22 10:32
Оценка: 15 (1)
Здравствуйте, vsb, Вы писали:

vsb>Т.е. берём плату, дающую доступ к GPS и курим её интерфейс на предмет этой информации — это нормальный подход, получается. Спасибо.


Вот, кстати, чувак тоже самое делает — https://github.com/00steve00/Super-Accurate-Arduino-Clock
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[2]: Какие есть способы получать более-менее точное время?
От: Ночной Смотрящий Россия  
Дата: 12.03.22 10:34
Оценка: 4 (1)
Здравствуйте, LuciferSaratov, Вы писали:

LS>можно получать время по RDS https://en.wikipedia.org/wiki/Radio_Data_System


По RDS часто совсем неточное время передают, иногда ошибка в минуты.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
Re[6]: Какие есть способы получать более-менее точное время?
От: Sharov Россия  
Дата: 16.03.22 23:29
Оценка:
Здравствуйте, watchmaker, Вы писали:

W>Действительно, непонятно зачем тебе советуют тут решать какие-то уравнения, слушать несколько спутников, вычислять коррекции и поправки, и прочую жесть.

W>Так как в gps каждая строка данных, переданная со спутника, содержит временную метку в HOW-слове. Для желаемой точности достаточно просто транслировать её наружу с любого из спутников, даже без сравнения с другими.

А как же ионосфера и многолучевость? Я честно не знаю сколько они могут добавить, но эта временная метка в
случае не очень хороших условий приема будет устаревшей. Возможно речь идет о микри или милли секундах, что для
ТС не актуально. Опять же, какое железо это умеет делать? Если брать gnss приемник, то зачем тогда
с этим всем мучатся и просто не взять готовое gnss решение (x,y,z,t)?
Кодом людям нужно помогать!
Re[7]: Какие есть способы получать более-менее точное время?
От: Sharov Россия  
Дата: 16.03.22 23:38
Оценка:
Здравствуйте, vsb, Вы писали:

vsb>Главное теперь, чтобы GPS-плата выдавала всю эту информацию в достаточно сыром виде по мере поступления, а не где-нибудь внутри пережёвывала, выплёвывая лишь выводы через 15 минут работы (:


Зачем со всем этим заморачиваться, если таки будете использовать gnss приемник? Тут речь идет чуть ли не о
самодельном gnss приемнике. Вот тут люди практически с нуля приемник делают -- http://www.aholme.co.uk/GPS/Main.htm,
http://lea.hamradio.si/~s53mv/navsats/theory.html
Кодом людям нужно помогать!
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.