Хотите иметь точные часы на компьютере и не боитесь его сломать?
Может работаете любительской цифровой связью?
Интересно почитать о GPS генераторе точной частоты?
Тогда вам под кат!
Мотивация
При работе цифровыми видами связи на коротких волнах чрезвычайно важно иметь очень точное время на компьютере, иначе у вас будет плохо получаться.
Насколько точное? Ну, 1 секунда погрешности — уже очень плохо.
Желательно быть точным в пределах десятой доли секунды. Вот как это выглядит на практике:
В столбце DT видна разница во времени между часами моего компьютера и часами компьютера корреспондента в секундах.
Пытливый ум читателя возразит: так поставь синхронизацию времени по NTP и радуйся жизни. Да, синхронизация у меня установлена. Но во время синхронизации, если работает приложение, скачёк времени назад(в моем случае) приводит к потере принимаемых пакетов данных.
Т.е. важна не только синхронизация точного времени, а и правильный его счёт.
Насколько всё плохо?
В моем случае стоковая материнская плата ASUS PRIME H310M-C R2.0/CSM в постоянно включенном состоянии каждые 12 часов спешила на +750мс. Т.е. за два часа работы время легко уходит в +0,12с и, если выставлять автоматическую синхронизацию по NTP каждый час, то у меня каждый час будут потери пакетов на прием.
Первая кровь — кварц на 32768Гц
Заменил кварц на RTC:
И… через 12 часов работы я увидел все те же +750мс.
Стало понятно, что компьютер во время работы не использует RTC для подсчета времени.
Я наивно полагал что Win 7 не считает время сама, как это делает Linux, но ошибался.
Система при старте берёт точное время из RTC и далее считает его сама, а RTC считает время отдельно.
При завершении работы системы — ОС записывает системное время в RTC и выключает/перезагружает компьютер.
Жертва номер два — кварц PCH
Я изучил материнскую плату и нашел ещё два кварцевых резонатора: на 25МГц для встроенной сетевой платы Realtek и 24МГц возле моста PCH.
Выпаял кварц:
Впаял цанговый разъем:
Взял из коробочки другой кварц на 24МГц и он занял место предыдущего:
Через 12ч работы системы я получил отставание на 2300мс, и это была радостная весть — ведь это он, искомый кварц!
Проба номер раз: GPS-опорный генератор
Достал из коробочки десятидолларовый GPS модуль с антенной u-blox NEO-7 и подключил его к компьютеру через USB-COM переходник.
Скачал u-center 21.09 и подключился к GPS модулю. Нажал view-configuration view-TP5 и вот так это настроил, нажав снизу Send:
Запитал GPS модуль от повербанка, а выход PPS через конденсатор 10нФ подал на одну из ножек PCH:
Компьютер включился, прошел POST но не смог обнаружить ни один диск. Ни SATA ни NVME :)
Заглядываю осциллографом(если что, то это должен быть меандр):
Конечно, на такое точное по частоте но безобразное по форме нечто ни один уважающий себя PLL не залочится :)
Вообще странно как он запустился…
Ищу TCXO
TCXO — Temperature compensated crystal oscillator или температурно-компенсированный кварцевый генератор.
Если очень просто на пальцах — это кварцевый резонатор и электроника вокруг него, которая обеспечивает стабильную выходную частоту при изменении окружающей температуры.
В шапке ссылка на генератор с точностью ±1.5ppm. Был куплен и доставлен на следующий день.
Полное наименование: I538-2O7-24.000 MHZ
Вид сверху:
Вид снизу:
Интеграция генератора и тест
К материнской плате был припаян ещё раз цанговый разъем так, чтобы посередине была припаяна земля, а по краям — два вывода экс-кварца. На второй такой же цанговый разъем был припаян генератор с двумя конденсаторами 0603: 100нФ по питанию и 10нФ от выхода генератора к одной из ножек кварца. А также был припаян провод для питания генератора.
Вид снизу:
Вид сверху:
Питание +3.3В взял от 8-й ножки микросхемы BIOS-а и установил это дело в панельку:
Форма сигнала:
Всё заработало как нужно.
За 12 часов получилась разница в -1мс с NTP сервером используя Net Time 3.14
Всем добра!
мой ntp настроен синхронизироваться в 14ю секунду первой четной минуты каждого нечетного часа… ;-)
в ft8 ничего не пропадает. ft4 там хуже… но если не соревнования, то меня не напрягает пропуск одного периода.
использую jtdx и ставлю задержку времени начала передачи 0.1 сек.
а при ЕМЕ связях dt вообще 3 секунды быть може, и ничего — декодируется все.
Я помню в советские времена были стрелочные часы и рядом вообще стоял переменный конденсатор, так у меня была задача его настроить максимально точно. Помню добился пары минут в год…
Указанное вами различие — это различие между дубовой реализацией SNTP (Simple NTP), которая лишь регулярно синхронизирует время (штатная синхронизация времени в Windows, также systemd-timesyncd), а полноценной реализацией NTPd вроде изначального NTPd, OpenNTPD, Chrony итд.
Да и виновник рассинхронизации не обязательно Ваша система. Вы предлагаете в системах всех корреспондентов такую переделку устроить?
А за идейку спасибо, может быть где-нибудь и пригодится, где требуется именно точность соответствия с мировым временем, например управлением дроидом через спутник, а не исключительно между двумя системами на определённый короткий период времени исключительно для передачи данных.
Линк
Вообще тема подключения генераторов за место кварцев сама по себе интересна.
У этого GPS модуля есть выход PPS, который можно использовать для полей.
Я сейчас ваяю NTP сервер c PPS-ногой на RPI4 для дома, чтобы точное время было в локальной сети, ну и RPI можно принести в поле с повербанкой.
И если в поле идти с нотиком, у которого влепить RTC кварц 32768 c ±2ppm и иметь TCXO для системы с ±1.5ppm то точное время можно принести в поле из дома, и даже отнести из поля назад домой :)
Обзор замечательный, не ожидал, что замена даст такой эффект
Где тут КВАРЦ?!
Ntpdate — это периодическое соединение с опорным NTP сервером, которое просто ударно ставит вам новое текущее время
Ntp — это демон (серверный процесс в Linux), который постоянно держит связь с опорными серверами и добавляет или задерживает тики таймера, чтобы ваше время пошло синхронно с мировым. Там нет такого прикола, чтобы время пошло назад — просто ваша локальная секунда идет чуть дольше или чуть быстрее пока не синхронизируется. Недостаток — при большом разбеге времени синхронизация или вообще не начинается, или идет очень долго (несколько суток).
Кажется, что правильная настройка ntp-синхронизации должна была отменить упражнения с паяльником и моддинг материнской платы. :-)
Хотя за прямоту рук и найденное аппаратное решение — респект однозначно!
Да, я знаю толк в извращениях)))
По крайней мере оба вышеуказанных умеют вести время по внешним источникам с компенсацией дрифта и абсолютно монотонно. Обычно где-то за сутки-двое дрифт выравнивается и точность стабилизируется в пределах 10-20 мксек. Это если комп стоит постоянно включенный при стабильной температуре. Мы так у себя виндовые серверы синхронизировали.
Конечно, пикосекундной стабильности так не получить — там начинаются уже более серьезные заморочки, но даже сейчас некоторые достаточно дорогие серверные сетевые карты умеют высокостабильные осциляторы и PTP.
Для дома это, конечно, оверхед, но для компании уде вполне доступно.
как часыотлично.Досталось на шару, тоже буду пилить GPSDO
Кстати, в одном месте, где я работал, там уже давно используются White Rabbit-ы от Seven Solutions. Классная вещь, и 10МГц выход есть. Кстати детище CERN
Остальное мало кого интересует, либо с доставкой проблемы (нужны посредники в европе или США), или нет доставки 2 штук, как российские кварцы к примеру.
А по поводу седых лысин — так никто не мешает работать по привлечению молодёжи…
тут в 2х цитатах весь ответ тем кто брюзжит про CW и SSB.
вы попробуйте и потом говорите.
73. GL.
Теперь, совсем скоро, будут новые старушки с тату над пятой точкой. Новая парадигма :)
Даже сейчас ATSC дальне принимают из Америки сидя в Канаде…
Если бы всё так было, то не стали бы люди паять на плисах радиолюбительские трансиверы, HackRF-ы всякие. Но ведь разрабатывают и паяют… Причем сбылась мечта идиота — без единой катушки практически…
Вот продукт программиста :) Да и вы держа мобилку имеете внутри SDR, который общается с SDR на базовой станции :) Радио-продукты-программистов.
Вы как-бы аккуратнее с поисками смыслов в хобби. Ещё скажите охотникам, что они дблы-блд из средневековья, ведь всё можно купить в супермаркете :)
Ничего не умирает. То что радио маргинализируется в RU/UA вовсе не значит аналогичных тенденций на западе. Я как выходец из UA и живущий в CAN могу это подтвердить.
Я вот смотрю вокруг и как-то не могу сказать, что в Канаде или США радио прерогатива олдмэнов…
У нас радио было как элемент готовности к ЧП. Холодная война закончилась и смысл как-бы потерялся. Но не для всех. Почитайте препперов в Америке, там умение радио ценится сразу на втором месте после умения обращаться с оружием.
Вы бы стали в Монреале на частоту APRS, там яблоку негде упать от трафика. Да, не морзянка, но новая парадигма.
Это Ваше мнение, вы к нему пришли из-за каких-то факторов в Вашей жизни, и оно будет валидным для Вас.
А в то время возильщики с айфонами будут говорить, что ваши прямые телепорты подслушивает правительство, а айфоны — надежно и безопасно, лол :)
да, муторно и сложновато, зато весьма точно. и расстоянием до окна не особо ограничено.
Если ОС не RT то странно расчитывать что она будет давать точное время в пределах секунды.
Аудиофилы вон тоже страются в этом направлении и то все недовольны :)
Самый точный кварц на digikey +-5ppm
ds3231 из Китая +-2ppm, потому лучше всего применить её. У неё есть выход 32768
Нужен был точный генератор для юстировки кварцев в часах (множестве). Взял модуль «ds3231 из Китая». Смотрю частоту, а уход в 4 раза больше, чем пределы регулировки.
«Картина маслом»
(при этом, купленные 2 года назад, там-же, вполне вписывались в пределы регулировки, да почти и не требовали)
это сам батник,+ его можно обернуть чтобы на экран не выводилось окно консоли.Эти же команды можно запустить в power shell.
Далее нужно настроить планировщик заданий, чтобы дёргал исполнительный файл с нужным интервалом.
p.s. вообще я ранее делал два скрипта для контроля времени нахождения за пк.
одна продвинутая версия считала кол-во часов, когда достингнут лимит например в 3 часа, выходило предупреждение и отрубался интернет. Если вручную включить интернет, то через минуту скрипт опять потушит его. Начнутся новые сутки — снова заработает, так как обнулится счётчик, ну и ещё ряд защит был, в том числе контроль времени компа, чтобы в ручную не подстроить.
вторая, более простая, тупо тушила инет в 23 часа, и включала в 8, чтобы школьник не сидел за компом ночью. Всё это работало скрытно.
Спасибо за развернутое обсуждение данного вопроса.
Много нового почерпнул!
На фоне её стоимости купленный TCXO просто супер дорогая вещь :)
несколько раз слышал про нее но так чтото ниразу и не натыкался чтоб изучить подробнее
«Охота на лис» — это не подвид радиогубительство, а скорее подвид ориентирования. Которым в одного заниматься не получится, только для соревнования подходит.
Теоретические, конечно можно добиться приемлемого уровня излучения от передатчика, ценой серьёзных усилий. Только вот, далеко не у всех есть прямые руки, знания, желания и возможности. А большинство считает, что если опасности не видно, значит её нет, и поэтому ничего не предпринимают.
По теме, на ебейках и али есть куча дисциплинированных ГНСС подогретых тримбловских опорников на 10 МГц не так дорого, их выковыривают с демонтируемых БС.
Кррпусированные в два раза дороже некорпусированных.
www.ebay.com/sch/i.html?_nkw=GPS+Disciplined+OCXO&_trksid=m5467.l1311
У вас очень странная реализация NTP. Классический ntpd не допускает скачков ни вперёд ни назад, кроме как при загрузке системы (и то если его очень об этом отдельно попросить, по-умолчанию и при загрузке системы не допускает).
Это постоянный процесс, он не происходит «каждый час». ntpd работает в фоне и замедляет или ускоряет системные часы (но не переводит их скачком!) постоянно, по результатам (постоянного!) обмена с серверами точного времени.
GPS с односекундным импульсом по точной границе секунды надо подключать тем или иным способом не к PCH или вместо любого другого кварца а к тому же ntpd, который будет уже, ориентируясь на эти импульсы, подтормаживать или разгонять системные часы. Раньше это делали через COM или LPT, как сейчас — я не задумывался (боюсь, переходник USB2COM в силу специфики работы USB убьёт всю точность). На одноплатниках это делают через GPIO с разрешённым прерыванием, а вот на PC/x86 — вопрос хороший, но решение точно должно быть.
С GPS вы не поняли концепта. Я заказал на pps выходе не герц, а 24миллиона герц. Если бы не корявая форма, то всё бы вышло. Обратите внимание на частоту на осциллограмме в правом верхнем углу. Как советовали в комментах — прилеплю триггер Шмидта для исправления формы сигнала и всё пойдёт как надо.
У меня есть LPT на этой машине, но я пойду по пути одноплатника с gpio/int и может сделаю GPSDO для этого генератора 24МГц
Я всё понял про GPS, просто это гланды автогеном со спины, на мой взгляд :-) И некоторый риск нестабильности самой матплаты, фиг знает, что там получится, они капризные. Хорошо что получилось, но очень нетрадиционный подход :-)
С GPS все ещё интереснее, у него внутри есть генератор, так вот можно настроить его выдавать ппс стабилизированный по генератору, а как lock произойдет на спутники, то этот выход ещё и будет стабилизирован уже не набортным генератором, но и временем со спутников, так что решение вполне жизнеспособное, если бы не форма сигнала.
Я игрался с частотой, идеальная прямоугольная до пары мегагерц, потом завалюшки…
Самое интересное, что по даташиту pps программируется до 10МГц, а в реале смог выдать и больше. Нужно будет сорвать крышку жпс-ке да посмотреть путь pps, может там есть где емкостя лишние…
Или как сделать так чтобы ардуина это делала, то есть я так понимаю оцифровать его сигнал и подать на вход?
Нужен осциллограф, или частотометр, или что-то что может мерять частоту и сделать генератор на кварце.
Если просто купить, то вот красная или желтая плата ebay.com/itm/223262822481
Если нужна точность, то уже сложнее
Кстати, цена на компонент в магазине подросла:
Сделаю мелкую платку
Если у вас обоих есть компьютеры — общайтесь в Скайпе…
Интернета нет… Нынешнему поколению это чуждо.