Блог UA3REO
Строим цифровой DDC/DUC трансивер своими руками (часть 1)
Статья является продолжением цикла записей о создании цифрового DDC приёмника. Теперь поговорим о передающем тракте и сборке проекта во что-то более-менее автономное и законченное.
Первым делом был реализован ЦАП на DAC904E, конструкция пока не закончена — необходимо поменять трансформатор на ADT1-1WT, отладить и закрыть в экран. Схема и плата доступны тут.
Также, был реализован весь код передачи в FPGA, по сути это тот же процесс приёма, только перевёрнутый назад. Переключение происходит через блоки MUX по команде CPU.
Но тут же и ждало разочарование, на первую передачу ушло все 22к логических блоков, доступных мне FPGA. Фильтры получились с достаточно посредственной АЧХ, а о расширении функционала не могло быть и речи.
Поэтому было решено в очередной раз заменить управляющую плату, в этот раз с Arduino DUE на Cortex-M4 STM32 STM32F407VET6 (купил в китае тут).
Для работы с ним я использовал IDE Keil и STM32CubeMX (необходимо установить как минимум, чтобы посмотреть распиновку подключения между платами и собрать проект).
Суть модификации заключается в следующем:
- Это более мощный процессор, соответственно отзывчивость интерфейса на максимуме.
- Аппаратная работа с DSP, что позволяет вынести низкочастотную часть по фильтрации, преобразованиям Гилберта и прочим в CPU, освободив место в FPGA.
- Поддержка шины FSMC, что позволяет подключить 16ти битный параллельный LCD экран ILI9341, где можно очень быстро выводить всю нужную информацию, в том числе и FFT анализатор с водопадом.
На текущий момент реализовано взаимодействие между CPU и FPGA, и в STM32 поступает IQ аудио-поток дискретизацией в 48кГц, который используется для построения FFT и водопада. Но само преобразование и вывод аудио-сигнала пока лежит на плечах FPGA, это будет следующий этап разработки. Но уже сейчас работает передача, вывод TUNE сигнала, АРУ и прочие основные фишки полноценного трансивера.
Источник
Duc ddc трансивер своими руками
Часть 2
Формат записей в блоге на сайте подразумевает конечный размер текста, который был исчерпан в 1-й части. Продолжаю освещать процесс сборки DDC/DUC трансивера из модулей с Алиэкспресс.
За выходные чуть поработал по макетному корпуса, поставил переднюю и заднюю панели, оптимизировал монтаж, на сколько это возможно. На самом деле, в процессе работы с этим вариантом корпуса я пришёл к выводу, что коробочка нужна всё-таки по-больше, т.к. ещё необходимо разместить плату диапазонных полосовых фильтров, аттенюатор и предусилитель. Не знаю, чем вся эта идея закончится, но пока решение такое:
В принципе, если заменить четыре разъёма на угловые (уже заказал и получил) и два других разъёма на плате коммутации входа-выхода убрать, то вся конструкция аккурат умещается в коробку от CD-ROM. Единственное, что из-за большого кол-ва элементов, которые неплохо греются, понадобится серьёзная перфорация верхней и нижней крышки коробки. Пока не решил, в каком направлении буду продолжать работу с корпусом.
По питанию всей конструкции. Поставил преобразователь DC-DC, на вход конструкции подаю 12В, отсюда же питается первое реле, управляемое оптроном с кросс-платы при включении передачи в программе, после преобразователя подаю 5В на схему и два реле — одно реле коммутирует вход-выход, второе реле управляет включением внешнего усилителя на передачу. Просадка по питанию DC-DC модуля под нагрузкой получилась всего 0,02В!
Была опаска получить большое кол-во наводок по приёму от данного преобразователя, но ничего подобного я пока не заметил, по крайней мере, на диапазоне 40м. В любом случае, как временное решение оно вполне жизнеспособно. А как часто это бывает в жизни — нет ничего более постоянного, чем временное))).
Сегодня занимался входной частью платы АЦП. На фото ниже — исходная часть в канале AD2 (верхняя часть платы) и переделанная в канале AD1 (все картинки кликабельны).
Суть переделки: убрать входной аттенюатор и предусилитель с обвязкой, установить вместо них трансформатор. В данный момент я поставил TC4-1T.
С платы удаляется часть деталей: U1, R1/2/3/7/10/13/15/17/18/21/29, C3/7/8. Устанавливается трансформатор TC4-1T. Капельками олова он припаивается к контактным лепесткам под чип U1 к ножкам 1/8 (первичная обмотка) и 4/5 (крайние выводы вторичной обмотки). Среднюю точку вторичной обмотки я подключил тонким проводом на корпус (левый контакт под резистор R21). Однако, это решение пока рассматриваю, как временное. По этой же причине, я пока не смывал флюс с платы. На контактные площадки под С5 (изначально, конденсаторы С5/С6 не установлены в обоих каналах) я запаял резистор 200Ом. Так же, я установил шесть перемычек 0805 для обеспечения всех необходимых цепей.
Я очень не люблю тратить время на рисование красивых схем и часто рисую для сайта их от руки ручкой на листе бумаги либо правлю в Paint найденные в сети схемы (в данном случае, исходный рисунок был взят в ветке форума этой конструкции). Описанная выше схема переделки выглядит буквально так:
После данных переделок входной части, получил следующий результат:
MDS500 на диапазоне 40м:
Предварительно, разумеется, была произведена калибровка сигналом известного уровня:
Далее — пруф, что так оно и было:
А потом мне стало интересно, как будет работать приём на резонансную антенну 40м без всяких фильтров по входу:
Как видно из скриншотов, при подключении антенны диапазона 40м, в виду большого кол-ва индустриальных помех в мегаполисе, шумовая полка заметно поднялась. Ранее, до переделки входной части АЦП этот эффект был едва заметен и разница составляла от силы пол-бала по шкале S-метра.
В то же время, на квадратурном SDR полученный мной результат MDS500 после калибровки тем же сигналом выглядит гораздее:
Казалось бы, результат по шумам приёмной части у нового радива прямой оцифровки не плохой, но меня смущал момент подключения средней точки вторичной обмотки трансформатора на землю, что гальванически соединяет входы АЦП с корпусом. Ёмкость между средней точкой вторичной обмотки и землёй для связи только по ВЧ я не ставил.
Тогда, сделав невероятное усилие над собой, я полез в дата-шит чипа AD9226 и увидел там следующее:
Не знаю, на сколько я правильно интерпретирую данную эквивалентную схему, но согласно ей, по входам усилителя стоят ёмкости Cs.
Посмотрев различные варианты подачи сигнала на вход АЦП, я решил попробовать в следующий раз вот эту схему:
В частности, здесь сказано о том, что резисторы Rs и входная ёмкость АЦП составляет фильтр нижних частот, что ослабляет ВЧ-шум. Так же, сказано о том, что можно применять не только трансформатор 1:1 а и любой с другим коэф. трансформации по сопротивлению.
Подключая коммутационную макетную плату ко входу переделанного АЦП я обнаружил, что серьёзно возрастают шумы. Т.е. используемое в данный момент решение коммутации антенны между приёмной и передающей частью не годится и его придётся переделывать. Тем не менее, эфир зазвучал более правдоподобно нежели до переделки, когда отчётливо был слышен равномерный белый шум, маскирующий в значительной степени реальный сигнал с антенны.
Сегодня продолжил эксперименты с вариантами исполнения входных цепей платы АЦП. Оказалось, что в варианте с нагрузочным резистором 200Ом по всему диапазону при отключенной антенне наблюдалось большое кол-во спуров. Сначала, для чистоты эксперимента, я отключил преобразователь DC-DC и подал на схему 5В. После большого кол-ва экспериментов оказалось, что спуры пропали после замены данного резистора на конденсатор 18пФ с диэлектриком NP0 (15pF, как на схеме в дата-шит, у меня не оказалось в наличии). Т.е. он подключен между входами VINA и VINB. Вместо перемычек по входу я поставил назад штатные резисторы по 27Ом. Попробовал заменить трансформатор TC4-1T на самодельный 1:1, выполненный на бинокле Amidon BN-43-2402 — результат получился, приблизительно, аналогичный. Этот вариант трансформатора был несколько удобнее в процессе экспериментов.
Трансформатор был выполнен следующим образом: сначала намотана вторичная обмотка из двух скрученных проводов, всего — 2 витка, конец одного провода был соединён с началом другого (средняя точка), первичная (по схеме) обмотка была выполнена одним проводом такого же диаметра, всего — 4 витка, выводы выходят на противоположную сторону.
Резистор в первичной обмотке поставил 56Ом, резисторы RS — родные, по 27Ом, родной конденсатор 0,1uF. Смещение через резистивный делитель в среднюю точку трансформатора пока не подавал. Решение — промежуточное, эксперименты продолжу.
На фото не видно подключения вторичной обмотки, поэтому, опишу словами: крайние выводы вторичной обмотки подключаются к контактным площадкам 4-5 под штатную микросхему AD8132. Эти контакты ведут к резисторам 27Ом. 6-й контакт площадки соединён с массой. Поэтому, к нему припаян конденсатор 0,1uF и уже ко второму выводу конденсатора подключен средний отвод вторичной обмотки. Входной резистор можно поставить 51Ом или 49.9Ом, но в наличии у меня таких не оказалось.
После калибровки, уровень шумовой полки остался на том же уровне, но во всей полосе, вплоть до 61440кГц шумовая полка выглядит равномерно с очень редкими спурами. Подключив назад преобразователь DC-DC я не увидел ухудшения ситуации по шумам, как и заметного прибавления спуров. Т.е. использовать такой преобразователь питания вполне можно.
В следующий раз попробую подать смещение на среднюю точку вторичной обмотки согласно предлагаемым схемам в дата-шит.
Кстати говоря, чтобы оценить влияние штатных входных цепей модуля АЦП (аттенюатор и предусилитель) — можно после калибровки приёмника посмотреть уровень шумовой полки с закороченным входом, отпаять резисторы R13/15 и посмотреть, на сколько понизится уровень шумовой полки. Если потом подключить вместо штатных цепей входной трансформатор, то шум по входу не должен сильно отличаться от варианта с отключенным входом АЦП и кол-во спуров во всём диапазоне должно быть минимальным. При этом, чувствительность по входу не должна снизиться. Тогда, можно считать, что входная цепь выполнена правильно. Калибровку нужно будет произвести заново, соответственно.
Продолжил эксперименты со входным трансформатором. Выполнил трансформатор 1:4 на ферритовом бинокле, 4 витка в три провода по три-четыре скрутки на сантиметр. Все обмотки выходят на одну сторону. В первичной обмотке получается 4 витка, во вторичной — 8 витков со средней точкой. Посмотрел характеристику трансформатора на нагрузке 204Ом (четыре млт-резистора по 51Ом последовательно):
Не сказать, что характеристика идеальная, но со старой калибровкой этот трансформатор показал уровень входного сигнала с генератора на 7дБ больше. Калибровка была произведена заново. Решил пока оставить этот трансформатор, особо не укорачивая выводы обмоток, т.к. эксперименты будут продлжены.
Следующий шаг: проверю характеристику фабричных китайских трансформаторов 1:1 и 1:4. Если характеристика будет лучше — поставлю какой-то из них.
Так же, в коммутационной плате заменил многожильные провода МГТФ в сигнальных цепях на коаксиальные. Удалось значительно снизить уровень шумов примерно до -106дБм по показаниям S-метра программы в полосе 500Гц при отключенном входе. Теперь, при подключении антенны диапазона 40м, шумовая полка значительно поднимается в верх примерно до уровня 8 баллов, что характерно для моего QTH. После аналогичной переделки второго канала АЦП можно будет попробовать функцию фазового подавления шумов Diversity.
Поработал в эфире, застал соседа, уровень сигнала которого после калибровки приёмной части был отображён как S9+60дБ:
Наблюдая за работой данной станции заметил моменты перегрузки АЦП:
Тем не менее, считаю полученный результат — отличным для АЦП 12-бит. Поставив аттенюаторы 10/20дБ, проблему перегрузки по входу можно будет решить в большинстве случаев. Нужно будет только так выполнить всю коммутацию, чтобы не увеличить уровень собственных шумов всей конструкции.
Снял характеристику трансформатора TС4-1T:
На выводы вторичной обмотки был припаян smd-резистор 1206 сопротивлением 200Ом. Честно говоря, не ожидал такого результата. Однозначно, ставлю его!
На картинке продавца по ссылке выше показан трансформатор, выполненный на прямоугольном кольцевом феррите. По факту, присылают трансформаторы, намотанные на биноклях.
После установки данного трансформатора на плату и калибровки приёмника, сделал несколько скриншотов по диапазонам.
Данные результаты получены с отключенным антенным входом. Они меня более чем устраивают. Свои изыскания в этом направлении считаю законченными. Вход второго канала платы АЦП будет переделан по аналогичной методике. После, смою флюс и сделаю более детальные фото.
По ссылке выше есть пара фотографий установленного трансформатора и обвязки из четырёх smd-перемычек 0805. Средняя точка вторичной обмотки подключена тонким проводом ко второму лепестку площадки под чип AD8132. Этот контакт ведёт к конденсатору C3 0.1uF, второй вывод которого сидит на земле. Дополнительно устанавливается конденсатор 18pF, как уже было показано на предыдущих фото.
Сегодня занимался заменой прошивки и анализом функционала первоначально записанной версии прошивки.
В данной версии прошивки для кросс-платы V0.5 работает управление фильтрами по четырём каналам, включение аттенюатора, включение предусилителя, включение аттенюатора с предусилителем, отключение аттенюатора и предусилителя, так же, есть управляющий сигнал для автоматического тюнера. В этой прошивке нет электронного телеграфного ключа. В облаке есть и архив из которого генерировалась эта прошивка.
Просьба, не задавать вопросы автору данного проекта EU1SW по функционалу и работоспособности прошивок, скачанных с этого сайта!
Снял небольшую видео-инструкцию по процессу записи прошивки в случае, если вам не нужно править код в файлах проекта, а необходимо просто зашить в память отладочной платы чью-то готовую прошивку (файл с расширением *.jic).
После прошивки необходимо перезагрузить трансивер по питанию. USB-blaster можно не отключать.
Ссылка на драйвер для USB-blaster. Ссылку на программный модуль для записи прошивки не привожу, но если вам очень понадобится — вышлю в частном порядке.
Если хотите попробовать самостоятельно сгенерировать прошивку из имеющегося файла проекта — можете посмотреть вот эту небольшую демонстрацию данного процесса. Здесь берётся архив проекта *.qar, распаковывается в программной среде Quartus, в некоторые файлы вносятся правки кода (когда это необходимо), потом проект компилируется, проверяются назначения выводов в Pin Planner, генерируется сама прошивка и создаётся архив изменённого проекта.
Далее, по сигналам на разъёме для внешней периферии. Нумерация в схеме отличается от нумерации в программе PowerSDR. Здесь я привожу нумерацию, как в программе. Если смотреть на разъём периферии как на фото выше (не считать квадратный контакт возле болта), вести нумерацию сверху вниз от одного до семи, то ситуация с управляющими уровнями выглядит так:
160м — высокий уровень 3,3В (логическая единица) на 1-м контакте;
80м — высокий уровень на 2-м контакте;
40м — высокий уровень на 3-м контакте;
20м — высокий уровень на 4-м контакте;
15м — высокий уровень на 1-м и 2-м контактах;
10м — высокий уровень на 1-м и 3-м контактах.
ATT 0дБ — высокий уровень на 5-м контакте;
ATT -10дБ — высокий уровень на 5-м и 6-м контактах;
ATT -20дБ — низкий уровень (логический ноль) на контактах 5-6;
ATT -30дБ — высокий уровень на контакте 6;
[TUN] — высокий уровень на 7-м контакте (нижний на фото);
Соответственно, можно настроить и другие бенды, но нужен дешифратор, а у меня нет опыта работы с ним. Поэтому, пока оставлю уровни с 1-го по 4-й контакты для управления транзисторными ключами 4-х бендов со 160м по 20м.
Вот карта настроек в программе:
Подключение телеграфного манипулятора:
В программе выбирается режим CW и включается Jambic для телеграфного манипулятора.
Если отключить Jambic, то к контакту DASH можно подключить вертикальный ключ через тот же разъём (обычно, используют разъём под Audio Jack 6,3mm). Работает в данной версии прошивки. Архив. При использовании манипулятора в режиме CW, сигнал появляется при замыкании одного из контактов DASH/DOT на корпус, параллельно, трансивер переходит на передачу. Вертикальный ключ можно подключить и на 4-й контакт разъёма IO (опция Jambic тоже должна быть включена).
Так же, в этой прошивке работает управление внешними фильтрами, предусилителем, аттенюатором и тюнером. За основу был взят авторский архив проекта из сообщения #627.
Есть ещё мысли об интеграции, предлагаемого коллегами в ветке, кода для работы аттенюатора на PE4306, модуля GPS, КСВ-метра с измерителем мощности и тест опции Pure Signal. Однако, эти опции требуют ещё и аппаратной реализации соответствующих узлов.
Источник