Технические форумы > Технический форум

Nanocounter - собираем частотомер на FPGA, STM32 и с Bluetooth

(1/1)

R8ACZ:
Оригинальную статью на английском можно прочитать по ссылке. Полностью её переводить я не буду, лишь опишу вкратце что, как и зачем.

Изучая просторы интернета наткнулся на один проект, который показался мне интересным. По относительно небольшой цене можно было собрать довольно точный частотомер. Основным компонентом системы является FPGA Xilinx Spartan 3, он и выполняет подсчёт импульсов опорного и измеряемого сигнала. В качестве опорного сигнала может использоваться как установленный на плате термокомпенсированный кварцевый генератор, так и внешний источник частоты 10МГц. Так как ПЛИС принимает на вход логические уровни 0 либо 1, а входной сигнал имеет синусоидальную форму, то между ними установлен буфер-конвертер LTC6957. Для выбора между внутренним и внешним опорным генератором используется ФАПЧ AD9553, он же умножает частоту на 20, чтобы получить 200МГц, которые затем попадают на вход ПЛИС. Внешние входы имеют гальваническую развязку, защитные диоды от статики, разрядник выполненный на печатной плате. Для управления всеми компонентами на плате используется микроконтроллер STM32, а вместо дисплея информация выводится на экран смартфона или планшета с подключением по Bluetooth. Для упрощения разводки и улучшения экранирования используется 4-х слойная плата, для изготовления которой я воспользовался сервисом jlcpcb.com.



Если прикинуть стоимость основных компонентов, то получается: изготовление печатной платы + доставка - $32 + $11 за 10 штук, LTC6957 - $9.6 за пару, AD9553 - $13, STM32F072 - $1.7, Xilinx XC3S50 - $5,65, Bluetooth HC06 - $3.4. Итого почти $77 только крупными компонентами, а кроме того SMD трансформаторы WBC16-1T, которые не удалось найти в продаже и пришлось выписывать "образцы" у производителя, линейные регуляторы TS1117BCP, TS1117CW, AMS1117, LP5907, защита USB от статики USBLC6 и сам USB коннектор, 10МГц кристалл хорошей добротности (тоже не нашёл в продаже по разумной цене, заменил подходящим по габаритам), и некоторое количество SMD конденсаторов, резисторов, ферритовых колечек, диодов, светодиодов и пары кнопок. Итого на все компоненты было потрачено 6600 рублей, часть из них были куплены с большим запасом (почти все SMD компоненты), но дорогие компоненты брались в единичных экземплярах. Кроме того, потребуется ST-Link V2 программатор, если нет в хозяйстве, то это дополнительно $2.5.



В принципе плата нормально запаивается и обычным паяльником, единственное, что доставляет неудобств - QFN корпус ФАПЧ. Но, к сожалению, сразу же после сборки частотомер не заработал: сильно грелись регуляторы напряжения, потребляя до 3А от USB, и нагревался ПЛИС, который они питали. Сначала грешил на то, что где то коротнули ножки, но просмотрев всё под лупой проблем не нашёл. Потом на регуляторы косился, уж больно часто китайцы их подделывают, но тоже нет. В итоге отпаял ПЛИС и потребление упало почти до нуля. Уж не знаю, либо я его перегрел запаивая, либо китайцы прислали уже мёртвый/поддельный/перемаркированный. Пришлось заказать ещё один, у другого продавца, и с ним плата завелась. Потребляемый ток составил примерно 0.25А при питании от 5.0В.



После прошивки микроконтроллера удалось подключиться к плате с помощью смартфона. От встроенного кристалла частотомер отказался работать, возможно причина в том, что я отбалды выбрал номиналы для фильтра ФАПЧ (что наиболее вероятно), а возможно просто не разобрался в процедуре калибровки. Но так как установленный на плате кристалл обладает неизвестной мне точностью, и кроме того его частота зависит от температуры, то меня это не сильно расстроило, и ко входу внешней опорной частоты я подключил один из приобретённых ранее GPSDO, а к измерительному входу был подключен рубидиевый стандарт частоты. Замер показал, что их частоты не совпадают, и так как на спутниках GPS установлен более точный стандарт частоты, то я решил взять его за эталон и соответственно текущая частота моего рубидиевого стандарта получилась 9.999.992,3Гц. При подключении двух GPSDO приёмников получилось 10МГц +- 0,025Гц.



Наибольшая точность измерений данного частотомера находится в диапазоне до 50МГц. Ограничения по верхней частоте накладывают как конвертер LTC6957 (до 300МГц), так и ФАПЧ (до 700МГц). Для проверки диапазона рабочих частот вход опоры был подключен к выходу 10МГц рубидиевого стандарта, и к нему же был подключен синтезатор частоты ADF4350, выход которого был подключен к измерительному входу частотомера. Замер показал, что до частоты 500МГц частотомер хоть и производит замеры, но с точностью +-1Гц при использовании измерительного окна 1 секунда (максимум 10 секунд). Возможно дрейф в 1Гц получается из-за синтезатора, так как на некоторых частотах ниже он тоже проявляется.  Кроме того, погрешность в измерения могут вносить и внешние наводки (частотомер на данный момент без корпуса), а также наводки по питанию (во время тестов запитывал от простой зарядки для телефона).



Без эпичных фейлов сборка данного частотомера конечно же не обошлась - после того, как в первый раз запаял все компоненты на плату, решил её отмыть от флюса и канифоли. Для этого воспользовался этиловым спиртом, бутылёк которого как раз оказался под рукой. К сожалению, в данном бутыльке был налит лак, знакомый запах которого я почувствовал когда обтёр им добрую половину платы  ;D

R8ACZ:
Несколько замеров частоты с выхода синтезатора ADF4350, вход которого соединён со входом опоры частотомера. На частотах 150, 200, 500МГц. А так же замер частот двух GPSDO, выходного одного из которых подключен в качестве внешней опоры к частотомеру, а выход второго на измерительный вход частотомера.

R8ACZ:
1) частота на выходе рубидиевого стандарта во время разогрева.
2) рубидиевый стандарт после разогрева.
3) на выходе кристалла предположительно неисправного GPSDO.
4) на выходе 10МГц того же самого GPSDO.

Навигация

[0] Главная страница сообщений

Перейти к полной версии