полосочка Логотип РадиоДВ

Радиолюбительские конструкции
и продажа радиоаппаратуры










Как я делал радиомаячок на 1200 МГц

Часть вторая

В самом начале я задался вопросом - а на чём, собственно, делать-то? Как всегда, когда не знаешь, с чего начать, появляется масса вариантов. Недолгие поиски привели меня к интересной конструкции синтезатора на 1200 МГц французского радиолюбителя F4DAY [3], но вот беда - достать микросхему MC145200 фирмы Моторола мне не удалось :-( Со вздохом сожаления пришлось отказаться... Но мне очень понравился его ГУН [2] - вполне реальная конструкция, которую можно полностью сделать и настроить за 1-2 вечера.

Но пришлось немного переделать схему, в частности, сделать отдельные входы для перестройки частоты и для модуляции ГУНа. Вот окончательная схема:

Далее сел я за печатную плату ГУНа на 1200 МГц. До этого самым высокочастотным генератором, который я делал, был генератор на 70 МГц, да и тот я делал почти 20 лет назад - вещал в Советском ещё Союзе в УКВ диапазоне 66-73 МГц, было дело :-). Смутно понимая нутром, что методы навесного монтажа на частоте почти 1.3 ГГц ничем хорошим не закончатся, решил делать планарный монтаж, никогда ранее мною не использовавшийся.

Почесав репку, открыл я Corel Draw и вручную обвёл фото печатной платы ГУНа Жана-Франсуа, вот что у меня получилось (с моими изменениями):

Потом ещё раз почесав то же самое место, разместил детальки на рисунке платы, дабы паять было потом проще:

Как ни странно, печатная плата ГУНа, сделанная методом ЛУТ, получилась с первого раза и очень хорошего качества. Размеры 31*18 мм. Вот как она выглядела после протравки хлорным железом:

А вот так - сразу после промывки ацетоном, зачистки нулёвкой и сверления отверстий:

А вот так - сразу после залуживания дорожек серебросодержащим припоем:

Всё, плата ГУНа готова! Припаивание планарных деталюшек типоразмера 0805 - процесс, который меня тоже приятно удивил своей лёгкостью и быстротой. Пожалуй, даже проще, чем паять обычные, навесные детали. Рекомендую. Страшного нету ничего, главное здесь - иметь хороший паяльник с острозаточенным жалом мощностью не более 25 ватт и нетрясущиеся руки :-). К сожалению, фотографии готовой платы ГУНа на 1200 МГц у меня не сохранилось. В принципе, всё выглядит примерно так же, как у Жана-Франсуа. Экран тоже сделал из белой жести от банки из под сгущёного молока.

Далее приступил я к настройке. Весьма геморройный процесс, скажу я вам - частота никак не хотела подыматься выше 1100...1200 МГц и, лишь сильно уменьшив ёмкость разделительного конденсатора между базой Т1 и катушкой L1, мне удалось добиться пределов перекрытия частоты 1185-1340 МГц при напряжении питания 6 вольт. На этом этапе мне очень помог портативный частотомер ROGER RFM-13, купленный в своё время в каком-то интернет-магазине за 6000 рублей:

Этот прибор имеет высокую чувствительность (порядка 2 мВ), высокую разрешающую способность (10 герц на частоте 1.3 ГГц), встроенный S-метр, что позволяет использовать его в качестве индикатора напряжённости поля и делает его весьма удобным при налаживании различных радиоустройств.

Итак, заставив ГУН работать как надо, запаяв наглухо его экран, я сел за схему собственно маячка. Путём скрещивания схем из [1] и [2], у меня получился такой гибрид:

Самый, пожалуй, ответственный узел в схеме синтезатора здесь - это фильтр петли ФАПЧ (обведён пунктиром). Попробовав ставить его элементы "от балды" ничего хорошего не получил. Если сделать частоту среза фильтра слишком низкой, то получим очень сильные боковые шумы синтезатора. Если же она будет слишком высокая - то полезут палки слева и справа от основной частоты с шагом опорной частоты синтезатора (так называемые "спуры"). Вообще, для расчёта параметров этого фильтра есть специальная программа на сайте Analog Devices. Для фильтра 3-го порядка у меня получились такие параметры:

Про фильтрацию и хорошие развязки по питанию тоже забывать не стоит.

Спаял я всё это, значит, проверил - ошибок вроде нет. Прошил микроконтроллер, включаю маячок - естейственно, не работает. Частота нестабильна и гуляет где-то в районе 1200 МГц. Начинаю искать ошибки в прошивке, поскольку плату уже проверил ранее. Нашёл довольно быстро - на радостях задал шаг частоты 25000 Гц, но при этом коэффициент деления счётчика B (NB_CNTR) получился 1618, а счётчик-то B у нас 10 разрядный! Следовательно, туда можно записать число не более 1023. Быстренько поправив шаг на 50000 Гц и получив коэффициент деления счётчика B равным 809, залил прошивку в микроконтроллер. И оно заработало!

Для дальнейшего понимания материала мне здесь нужно вкратце описать внутреннюю структуру LMX2346: в общем, у неё есть 3 счётчика: прескалер с коэффициентом деления 32, 5-битный поглощающий счётчик A (с программируемым коэффициентом деления от 0 до 31) и 10-битный двоичный счётчик B с коэффициентом деления от 3 до 1023. Вкратце это всё. Вообще, даташит на LMX2346 приведён в [4]. Если решитесь делать что-нибудь на LMX2346 - изучайте его :)

Расчёт коэффициентов деления счётчиков A и B

Для начала условные обозначения:

Шаг частоты на единицу кода счётчика B:

Коэффициент деления счётчика B:

Коэффициент деления счётчика A:

Для примера рассчитаем коэффициенты деления для частоты 1295000000 Гц. Итак:

Fout = 1295000000

MIN_STEP = 50000

P = 32

Подставив заданные числа в формулу (1), получаем: dFDFFD = 50000 * 32 = 1600000

Формула (2): NB_CNTR = 1295000000 / 1600000 = 809,375, округляем до 809 и запоминаем

Формула (3): NA_CNTR = (1295000000 / 1600000 - 809) * 32 = 12

Итак, коэффициенты деления равны 809 и 12. В принципе, по этим же самым формулам можно рассчитать коэффициенты деления и для любой другой частоты, но нужно помнить, что коэффициент деления для счётчика A не должен превышать 31, а для счётчика B - 1023. Если коэффициенты получаются больше указанных - увеличивайте шаг сетки частот и пересчитывайте.

Как уже упомяналось выше, исходная программа написана целиком на Си в Atmel AVR Studio 4.17 для микроконтроллера ATTiny2313 в режиме AT90S2313 и приведена в [5]. Комментариев в коде предостаточно, так что разберётесь, я думаю :-)

Про "ATTiny2313 в режиме AT90S2313" нужно сказать особо. Жила значит была такая фирма Atmel. И был у неё замечательный микроконтроллер, хит продаж, неубиваемый, знаменитый AT90S2313 (бурные аплодисменты!). И решила как-то раз фирма Atmel ещё больше увеличить продажу этих микроконтроллеров. А как это сделать? Думала фирма Atmel, думала, и придумала: выпустила этот микроконтроллер в новом соусе под другим названием - ATTiny2313. Типа всё улучшено было в новом контроллере по сравнению со старым: и тактовая частота выше, и команд больше стало и ещё куча всяких вкусняшек. Но при этом, как это часто водится, не могла фирма Atmel обойтись без маленькой гадости пользователям (ибо именно для этого все эти изменения обычно и затеваются): новый микроконтроллер сделан несовместимым по режиму прошивки со старым. Попытки прошить ATTiny2313 как AT90S2313 приводили к гарантированному выходу новых микроконтроллеров из строя - они зашивались и больше признаков жизни не подавали. Вернуть к жизни даже на параллельном программаторе удавалось потом лишь 50% трупиков, остальные приходилось просто выкидывать. Причём, что интересно, у оживлённых наблюдались, выражаясь медицинскими терминами, различные осложнения: одни работали только от внешнего кварца (и не хотели работать от внутреннего RC-генератора), у других переставал работать режим последовательного программирования SPI (т.е. шились только в параллельном программаторе), у третьих - переставали работать некоторые выводы портов и т.д. Причём, весь этот букет глюков можно было получить и просто прошив новый контроллер при несколько заниженном напряжении питания (напрмер, 4 вольта (это в пределах нормы!)) - у меня прошивались неправильно фьюзы и очередной контроллер отправлялся в мусорное ведро. При этом при напряжении 5 вольт всё успешно шилось. Главное здесь то, что цель была достигнута: продажи резко возросли...

Короче говоря, поматерившись изрядно и выкинув горсть ATTiny2313, решил всё же оставить ATTiny2313 в режиме AT90S2313, поскольку переписывать программу специально под ATTiny2313 мне было лениво, да и новые 90S нигде не купишь. Выкрутился же я таким образом: перед прошивкой объясняю Tiny, что он именно Tiny, а после прошивки - что он 90S. Для этого в файле "flash.e2s" (смотрите проект) есть строчки: "WRITE-FUSE 0x209B" и "WRITE-FUSE 0x202B". Да, чуть не забыл - шью Пони-Прогом, но надо запускать Пони-Прог не напрямую, а через файл "flash.bat" (лежит там же, в директории проекта). Естейственно, Пони-Прог надо установить заранее в директорию "C:\Program Files\PonyProg2000". Если у Вас он лежит в другом месте - правьте файлик "flash.bat" под себя.

Предвидя возможные возражения скептиков, что это мол Пони-Прог убивает микроконтроллеры, а Atmel тут не при чём, задам этим скептикам встречный вопрос: как вы считаете, фирма-производитель могла бы снабдить Tiny2313 защитой от убиения при прошивке, чтобы они не умирали в 50% случаев при ошибочной зашивке фьюз-битов или даже просто при 4 вольтах вместо 5? Или нет, не могла? Если могла, то почему не снабдила? А если не могла - то тут сразу нечто нехорошее на ум приходит...

Вопрос даже не в том, почему Пони-Прог убивает ATTiny2313, а почему вообще эти новые контроллеры в отличие от старых так легко убиваются, буквально при малейшей ошибке в процедуре прошивки? Ну даже если SPI и запретился, что с того? Казалось бы, берём параллельный программатор и расшиваем SPI обратно - так ведь нет, контроллеры умирают, как мухи осенью, а у воскрешённых часто остаются различные умственные патологии.

Ну и в заключение приведу здесь ещё парочку скриншотов из AVR Студии с настройками конфигурации:



Полезные ссылки по теме:
1. Передатчик для слушания пения птиц.
2. ГУН для синтезатора на 1.2 ГГц.
3. Синтезатор на 1.2 ГГц.
4. Даташит на LMX2346.
5. Проект для Atmel AVR Studio.

Если что ещё вспомню интересное, то допишу эту статью.


Вадим, UAØLTB
г.Владивосток
13.07.2010г.

вернуться к первой части.