В процессе калибровки температурной кривой для опоры маяка потребовался эталонный источник частоты. Наверное можно было бы обойтись простым термостабилизированным кристаллом стоимостью 200-400 рублей и обеспечивающего точность +-10Гц на 10МГц, но решил заморочиться. Недолгий поиск показал, что б/у рубидиевый стандарт можно взять на ebay за 8-12 тысяч рублей, при этом он уже будет готов к работе, просто подключить питание и на выходе получить стабильные 10МГц.
На деле оказалось всё чуточку сложнее. После подачи питания нормально заработал только сигнал прогрева стандарта, и очень слабый сигнал "1 PPS", в остальном тишина, ни RS-232, ни 10MHz - ничего этого на выходном разъёме не обнаружилось. Поискав поглубже информацию на эту тему, выяснилось, что есть несколько различных модификаций данного устройства, которые называются одинаково, но внутри слегка отличаются. Среди вариантов есть как минимум два, у одного фиксированные 10MHz на выходе, а у другого возможность выставлять произвольную частоту 1Гц до 20МГц, но эта частота наружу не выводится. И у меня оказался второй вариант. В общем, как говорится - вас обманули, вам продали лучшую вещь.
Вскрытие показало, что не только 10MHz выход не подключен физически, но и RS-232. На плате не хватает одного элемента, возможно это изолирующий трансформатор, но за неимением такового, сделал просто перемычки. Но чего-то всё равно не хватало, ВЧ сигнал на выходе был очень низкого уровня. Решил взять его напрямую с платы синтезатора, тем более, что на ней специально для этого уже был предусмотрен разъём типа MCX. Так же решил обойти микросхему конвертера UART-RS232, и подключить выходы для программирования напрямую к UART.
В моём случае на выходе была настроена частота 8.376.805 Гц. Для её изменения необходимо подключиться к RS232/UART к микросхеме синтезатора, и записать в ПЗУ правильные константы. Обмен данными производится на скорости 9600 бод. Для получения текущих констант используется команда "S", для изменения "F=значение", для записи в ПЗУ "E". Например (> означает отправку, < означает получение):
>S
<R=50255055.778813Hz F=2ABB505271A76400
<OK
>F=32F0AB000000
<OK
>E
<OK
>S
<R=50255055.778813Hz F=32F0AB0000006400
<OK
После этого частота на выходе синтезатора будет 10MHz, но сигнал PPS теперь будет срабатывать больше одного раза в секунду. Для того, чтобы получить более широкий диапазон изменения частоты я использовал синтезатор ADF4350. Он позволяет из входной частоты 10-250МГц получить на выходе 137-4400МГц (если взять ADF4351, то нижняя граница будет 35МГц). Готовую плату со всей необходимой обвязкой можно заказать на том же ebay, примерно за тысячу рублей.
Данный синтезатор управляется по шине SPI, питается от напряжения 3.3В, и цифровые шины не дружат с 5В уровнями. В качестве мозгов взял Atmega328 в виде макетной платы Arduino Pro Mini 3.3V. Для отображения информации взял дисплей 2х16 с адаптером для подключения по шине i2c. Для управления решил использовать валкодер. В качестве корпуса взял кожух от старого свича, по размерам как раз подошёл.
Готовых рабочих библиотек под ардуино для ADF4350 найти не удалось, поэтому написал свою, код доступен на
github. В папке example можно найти код для варианта с дисплеем и валкодером. Во время прогрева рубидиевого стандарта на экране отображается надпись "HEAT", если после этого синтезатор захватит частоту, то надпись сменяется на "LOCK", если нет, то "NO LOCK". С помощью валкодера можно настраивать выходную частоту и мощность.
К сожалению, проверить точность получившегося результата мне пока что нечем, но уже в пути детали для сборки стандарта частоты на основе GPSDO и более точного частотомера, чем сейчас имеется у меня в наличии. Кстати FE-5680A на taobao можно попробовать приобрести всего за 2500 рублей, но покупать там не так легко, как на ebay/aliexpress.