Ad9850 модуль dds функция генератор сигналов

Содержание

6-ти диапазонный AD9850 DDS.

Прошли те времена, когда создание синтезатора частоты любительского
трансивера было под силу самым квалифицированным радиолюбителям.
С появлением микросхемы AD9850 задача упростилась.
За несколько долларов DDS модуль на её основе без проблем можно
приобрести на eBay. Кроме этого нам необходим контроллер, для
управления DDS, буквенно-цифровой индикатор и валкодер.
Я не стал изобретать велосипед и приобрёл готовый, разработанный
индийским радиолюбителем C.V. Niras / VU3CNS
6-ти
диапазонный DDS, который производится фирмой Indo-ware
Electronics и
используется в SSB
6.1 трансивере.

Этот синтезатор предназначен для работы в составе простых КВ
приёмников
и трансиверов, или же просто как генератор частоты.
Микросхема AD9850 фирмы Analog
Devices, применённая в данном синтезаторе, представляет собой полный
DDS (Direct Digital Synthesis) с встроенным компаратором.
Такие синтезаторы уникальны своей точностью, практически не подвержены
температурному дрейфу и старению.
Благодаря высоким техническим характеристикам DDS синтезаторы в
последнее время вытесняют обычные аналоговые синтезаторы частоты.
Их основное преимущество — очень высокое разрешение по частоте и фазе,
управление которыми осуществляется в цифровом виде.
Цифровой интерфейс позволяет легко реализовать микроконтроллерное
управление.

В настоящее время поддержка проекта, скорее всего, прекращена,
информацию по DDS VFO необходимо искать по форумах на радиолюбительских
сайтах.
В конце статьи, в разделе «Литература» можно найти ссылки на найденную
мной информацию по этому синтезатору.

Внешний вид синтезатора.

Передняя панель.Назначение кнопок синтезатора.

  • CAL: калибровка.
  • STEP: шаг перестройки частоты.
  • SSB: режим модуляции: USB, LSB, AM, CW.
  • RIT: сдвиг частоты при работе CW.
  • VFO: выбор между VFO A и VFO B.
  • MEM: запись в память/ извлечение из памяти.

Обратная сторона и подключение синтезатора.

Настройка синтезатора.

Подключите DDS.
Установите промежуточную частоту, например, 8.000000 MHz. Делается это
так:

  1. Выключите питание. Нажмите на кнопку CAL и держите её. Включите
    питание удерживая эту кнопку нажатой. Далее вы увидите следующее:DDS REF MULT CLK
    X1 REFCLK
  2. Отпустите кнопку. На экране вы видите значение множителя
    частоты.
    Если у вас синтезатор на AD9850, то должно быть X1.
    Если на AD9851, то должно быть X6
    (покрутите ручку энкодера, чтобы
    сменить коэффициент умножения частоты)
  3. Нажмите ещё раз коротко на кнопку CAL и вы увидите опорную
    частоту тактового генератора для AD9850 (180 MHz для AD9851). Если у
    вас есть возможность точно измерить частоту, вы можете ввести ее сюда:SYSTEM CLK
    125.000000 MHz
  4. Ещё раз коротко нажмите на кнопку CAL и вы увидите:OFFSET FREQ 0.000000 MHz.
    Это частота смещения генератора относительно промежуточной частоты. В
    нашем случае наша частота ПЧ 8 MHz, значит нужно будет установить ее
    отрицательное зачение: -8.000000 MHz. Используйте кнопку STEP, чтобы
    сменить шаг энкодера: зажмите ее и крутите ручку энкодера шаг будет
    мигать словно подчеркивание.
  5. Ещё раз коротко нажмите кнопку CALMAX DDS FREQ.
    Это максимальная частота генератора. Она должна быть где-то 38 MHz или
    выше.
  6. Ещё раз коротко нажмите кнопку CAL и увидите минимальную
    частоту
    приёмаMIN RX DDS FREQ 9.000000 MHz.
    Из этой частоты вычитается промежуточная частота. Рекомендуется
    устанавливать здесь частоту в 9.5 MHz, чтобы не залазить на
    радиовещательный диапазон. Если очень хочется послушать АМ, то можно
    поставить что-нибудь вроде 8.5 MHz.
  7. Ещё раз коротко нажмите CAL кнопку и увидите смещение для
    SSBSSB OFFSET 0.000000 MHz.
    Установите его в 0.001400 MHz.
  8. Ещё одно короткое нажатие и вы попадете в частоту настройки
    смещения
    для телеграфа CW OFFSET 0.000700 MHz.
    Если у вас там ноль, то поставьте свои значения. В нашем случае это 700
    Герц.
  9. Ещё одно коротко нажатие и дисплей покажет SAVING.
    Это значит, что ваши настройки будут сохранены.

схеме

Литература.

Владимир, EW7AS

Pulståget

Här kan man se alla 40 clockningarna överlagrade med data som kommer från PIC 16F684, som styr frekvensen i DDS :en

Ungefär så här ser $5 kortet ut. Lågpassfiltret är lite för högt för våra applikationer

För att testa DDS:en så byggdes en labbplatta med direktkoppling till PIKkit2 programmeraren.

Styrkoden till DDS:en är Phase = freq × 2³²/crystalfreq . Eller Phase = 3.500 × 4294967296/125 =120259084 = eller 072B020Ch i hexformat vilket skall klockas in i DDS:en för frekvensen 3.500MHz.

Eftersom potentiometern endast täcker 100kHz bandbredd så går det att skifta «band» med en omkopplare till andra 100kHz segment

Med en 10-varvig potentiometer och skala 0…100 så blir frekvensen exakt enligt skalan efter lite justering i programmet. 100000/1024= 97.656625Hz/steg. Detta eliminerar behovet av en LCD-display. BFO-ratten justerar frekvensen -5kHz…0…+5kHz. En upplösning med 10 Hz/steg. Det var ”lediga” ingångar på PIC-processorn. Där satte jag en omkopplare så att det går att göra bandskifte, 3500, 3600 och 3700 kHz. Det är inget som hindrar att ta fler ingångar till hjälp. Då går det att täcka alla amatörband i 100 kHz bandvidd. Eller varför inte bygga den som kristallersättare i sändare??
Det finns en nackdel, krestsen tar över 120mA, och med bufferten hamnar det kring 170mA. Kristalloscillatorn och AD9850 kretsen blir varma.
Programmet till PIC-processorn är under ständig utveckling… men är du nyfiken så finns det här … öppnas med en texteditor.

Eftersom hela kortet tar ca 180mA med buffertförstärkaren så gjorde jag en test med en 30.720MHz kristall, som låg liggandes. Strömförbrukningen sjönk 50%.. till ca 90mA. Delningstalen fick naturligtvis räknas om.

Схема проекта

Аналоговая часть схемы нашего SDR приемника на основе платы Arduino и DDS модуле AD9850 представлена на следующем рисунке.

На входе схемы стоит приемник прямого преобразования (Direct Conversion receiver), на входе которого находится аттенюатор, роль которого выполняет потенциометр 1 кОм. Далее в схеме идет преселектор (входная цепь), переключаемый между диапазонами 7-14 МГц и 14-30 МГц. Настройка преселектора осуществляется с помощью потенциометра. Напряжение настройки стабилизируется с помощью варикапов BB212, но вместо них можно использовать и стабилитрон (zener diode) на 6.8 V или 8.2 V.

Далее в схеме располагается усилитель радиочастоты (УРЧ), который улучшает чувствительность приемника и предотвращает просачивание сигнала гетеродина (смесителя) в антенну. Смеситель построен на основе переключателя 74HC4066. С помощью потенциометра 5 кОм производится обнаружение самого слабого AM сигнала от мощных вещательных станций. Чаще всего это производится на критической (граничной) частоте, которую можно найти при помощи перестройки преселектора по диапазону частот. За смесителем следует однотранзисторный усилитель, выход которого подключается ко входу звуковой карты компьютера.

Цифровая часть схемы SDR приемника на основе платы Arduino и DDS модуле AD9850 представлена на следующем рисунке.

Аудио фильтрация выполняется одной из бесплатных программ для цифровой обработки сигналов (DSP), например:

  • HDSDR «http://www.hdsdr.de»;
  • SDRadio «https://www.sdradio.eu/weaksignals/sdradio/index.html».

Автор проекта использовал программу SDRadio как самую простую для обработки радиосигналов. Также с нашим приемником можно использовать бесплатную программу «MULTIPSK» (http://f6cte.free.fr/index_anglais.htm), с помощью которой можно декодировать различные цифровые радиосигналы, например, от WeatherFAX – это можно посмотреть на представленном ниже видео проекта.

Во время записи видео условия для распространения коротких волн (SW) были достаточно плохими, по сравнению с RTLSDR наш проект обеспечивает немного более худшие результаты, но зато как приятно будет многим насладиться приемом коротких волн на радиоприемнике, собранным своими руками.

ECH81

Försök med att göra en direktblandad mottagare med röret ECH81 och använda DDS-VFO:n som oscillator. Det blir högtalarestyrka med ett rör. Heptoden blandar och trioden förstärker. Genom det gamla knepet med att använda transformator mellan stegen blir det «gratis» extraförstärkning innan signalen kommer in i trioden.

Heptoden ville ha ca 20Vpp på oscillatoringången innan det blev ordning på signalerna. En enkel transformator på en toroidkärna fixar upp spänningen. Det är viktigt att koppla transfomatorn T1 fasriktigt, det självsvänger annars. En S-Match på antenningången sköter avstämningen. Nu har jag bara provat på 3,5MHz. På kvällen vill BC-stationer bryta in med för stor antenn.. Glöden matas med likström. Det ville brumma!

DDS-TX

Labbkoppling till en enkel sändare med ca 400mW uteffekt. Mikrobrytaren uppe till vänster är nyckeln. Frekvensen ställes med den blå trimpotentiometern till vänster.

Sändaren nycklas med hjälp av «POWER DOWN» biten som klockas över till DDS:en från 12F683 processorn. Frekvensen, mellan 3500 … 3600kHz ställes med potentiometern, vilken bör vara av 10-varvig typ. Klicka på bilden för större schema. Kristalloscillatorn är bytt från 125MHz till en från junkboxens 30.72MHz. Strömförbrukningen sjunker, värmeutvecklingen sjunker och naturligtvis maxfrekvensen sjunker. Men här jobbas det endast mellan 3500 till 3600 kHz.

Ca 400 mW uteffekt.

Fin sinus på utgången, ca 12V över 50 ohm.

Sändardelen med 2N3866. Arbetspunkten inställes med trimpotentiometern. Alla spolar är av «färdiglindade typer» som liknar motstånd.

Detta är en test med PIC 12F683 och en DDS9850 att göra en enkel sändare. Det finns mer att göra med programmet. Frekvensen kan «hoppa» 100Hz om potentiometern står i ett mellanläge. Det tar jag för närvarande inte hand om. Den som är intresserad kan ta del av programmet AD9850_683.asm här.

Основные принципы работы проекта

«Сердцем» проекта является DDS модуль AD9850, подключенный к плате Arduino. Аббревиатура DDS (Direct Digital Synthesis) означает прямой цифровой синтез. При этом способе любой сигнал можно сформировать в цифровом виде, а затем преобразовать его в аналоговый вид с помощью цифро-аналогового преобразователя (ЦАП). Ранее на нашем сайте мы рассматривали эту технологию в проекте генератора сигналов на Arduino и DDS модуле AD9833.

AD9850 – это устройство с высокой степенью интеграции, в котором используется комбинация усовершенствованной технологии прямого цифрового синтеза (DDS, direct digital synthesis), высококачественного цифро-аналогового преобразователя и компаратора, обеспечивающая функции синтеза частоты с цифровым программным управлением и генерации тактовых сигналов. При работе от точного опорного источника тактового сигнала AD9850 формирует стабильный аналоговый выходной синусоидальный сигнал с программируемыми частотой и фазой. Этот синусоидальный сигнал может быть использован непосредственно в качестве источника частоты или преобразован внутренними средствами компонента в прямоугольное колебание. Более подробно о данном модуле можно прочитать на сайте .

Внешний вид DDS модуля AD9850 показан на следующем рисунке.

Ранее автор данного проекта (ссылка на оригинал приведена в конце статьи) создавал на основе модуля AD9850 и платы Arduino простой генератор переменной частоты (VFO), работу которого можно посмотреть в следующем видео:

https://youtube.com/watch?v=upxaa2QvQxo

Этот проект генератора переменной частоты он и использовал в качестве основы для создания данного проекта SDR радио на Arduino и DDS модуле AD9850.

Генератор качающейся частоты на AD9850

Доводилось ли вам когда-либо настраивать фильтры? А лазать по каскадам, выискивая, в котором происходит завал частоты? А делать всё это, не имея при этом измерителя АЧХ? Мне вот доводилось и не раз, штука, скажу я вам, крайне неприятная.

На выручку, конечно, приходят конструкции генераторов из старых журналов радио, но как показала практика, у них целый ряд недостатков, с которыми мирится попросту невозможно, а именно: очень маленький диапазон перестройки, очень узкая полоса качания, нестабильность частоты на ВЧ, слишком высокий нижний предел частоты (ЗЧ не покачаешь), точность установки частоты и диапазона качания желает лучшего, габариты и энергопотребление… ну и те..де…

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

  1. Простота в сборке и минимум компонентов.
  2. Использование того, что было под рукой.
  3. Небольшие габариты (так как на столе для приборов место не бесконечно).
  4. Простота управления (отсутствие лишних кнопок и бредовых функций).
  5. Интуитивно понятный интерфейс.
  6. Диапазон генератора от 20 Гц до 40 МГц.
  7. Полоса качания от 255 Гц до 39 МГц.
  8. Минимальный шаг перестройки 1 Гц.

Пошуршав по сусекам с радиодеталями, были выбраны следующие компоненты:

  1. Микроконтроллер PIC16F73
  2. Дисплей символьный, 1 строка, 16 символов.
  3. Китайский модуль DDS на базе AD9850 и опорника на 125 МГц (стоит

10$ на AliExpress).

Энкодер 24 шага на один оборот.
Регистр защёлка для ЦАП 74HC573.

Определившись с компонентами и выкурив даташит на DDS, а так же набросав схемку,

приступил к программированию прошивки.

Скажу сразу, тут я выкладываю прошивки версии от 1.3, так как всё, что было до этого, получалось не совсем удобным и не везде функциональным.

Собственно, что же должен представлять из себя прибор? В первую очередь он должен быть обычным генератором с возможностью качания, то есть режим качания неплохо бы отделить от всего остального, но при этом (вспоминаем задачу номер 4) не иметь дополнительных переключателей режима. Что и было сделано. При включении генератор работает как обычный генератор, энкодером изменяется частота,

после кратковременного нажатия на кнопку «select» можно поменять шаг перестройки

(как бы ничего лишнего).

При удержании кнопки «select» в течение 2х секунд, активируется дополнительное меню, позволяющее настроить параметры качания частоты.

После чего по нажатию «select» уже будут доступны:

полоса качания (в плюс от той, что указана как F),

скорость качания частоты с вариантами 1000ms, 500ms, 200ms, 100ms,

а так же пункт включения качания частоты.

Все настройки можно изменять онлайн, то есть прямо в процессе качания можно покрутить любой параметр.

Если режим качания более не требуется, то его можно отключить,

после чего качание прекратится, а при очередном нажатии «select» на экране появится надпись,

и устройство вернётся в режим обычного генератора.

Естественно, для наблюдения самой АЧХ нам понадобится ВЧ детектор, схем которых в интернете пруд пруди, например вот:

Ну и, конечно же, осциллограф. Сразу встаёт вопрос «а как синхронизировать осциллограф с генератором?», давайте разберём:

На самом деле существует всего два варианта.

Первый — переключать осциллограф в ждущий режим и запускать развёртку по импульсу от генератора.

Второй способ — это когда мы с генератора подаём «пилу» на вход «Х» осциллографа.

Недолго думая, решил я реализовать оба этих способа, так как осциллограф у меня не в единственном экземпляре имеется, а на каком, как будет красивее и удобнее смотреться, гадать совершенно не хотелось. Да и при повторении конструкции люди сами выберут как им лучше.

По итогу получился такой вот прибор:

На самом деле, написать эту статью меня сподвигла общественность, потому как в процессе бета-тестинга, который мне помогли выполнить несколько коллег по хобби, появились модификации печатных плат и несколько вариантов прошивок (прошивки отличаются только подключаемым дисплеем (1 или 2 строчечным) и разводкой энкодера (чтобы при кручении ручки по часовой стрелке, частота шла в плюс).

От себя я хочу выразить огромную благодарность этим людям, без их участия конструкция не получилась бы настолько интересной и универсальной. Ну, и конечно, фотографии прилагаются.

При желании данный генератор можно дополнить выходным усилителем и перестраиваемым аттенюатором, но это уже будет свобода творчества людей, которые захотят повторить для себя этот прибор.

Файлы прошивок, печатных плат и схема прилагаются.

Источник