Меню

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. Ещё раз коротко нажмите кнопку CAL
    MAX DDS FREQ.
    Это максимальная частота генератора. Она должна быть где-то 38 MHz или выше.
  6. Ещё раз коротко нажмите кнопку CAL и увидите минимальную частоту приёма
    MIN RX DDS FREQ 9.000000 MHz.
    Из этой частоты вычитается промежуточная частота. Рекомендуется устанавливать здесь частоту в 9.5 MHz, чтобы не залазить на радиовещательный диапазон. Если очень хочется послушать АМ, то можно поставить что-нибудь вроде 8.5 MHz.
  7. Ещё раз коротко нажмите CAL кнопку и увидите смещение для SSB
    SSB OFFSET 0.000000 MHz.
    Установите его в 0.001400 MHz.
  8. Ещё одно короткое нажатие и вы попадете в частоту настройки смещения для телеграфа
    CW OFFSET 0.000700 MHz.
    Если у вас там ноль, то поставьте свои значения. В нашем случае это 700 Герц.
  9. Ещё одно коротко нажатие и дисплей покажет SAVING.
    Это значит, что ваши настройки будут сохранены.

Если вы запутались, вы всегда можете начать заново, просто подождите немного, DDS сам выйдет из режима настройки. Затем выключите питание и включите снова с зажатой кнопкой CAL.

Читайте также:  Установить генератор в многоквартирном доме

На этом настройка генератора завершена и уже можете перестраиваться по диапазону.

Источник

SDR радио на Arduino и DDS модуле AD9850

Программно определяемое радио/радиосистема (Software-defined radio, SDR) – радиопередатчик и/или радиоприёмник, использующий технологию, позволяющую с помощью программного обеспечения устанавливать или изменять рабочие радиочастотные параметры, включая, в частности, диапазон частот, тип модуляции или выходную мощность, за исключением изменения рабочих параметров, используемых в ходе обычной предварительно определённой работы с предварительными установками радиоустройства, согласно той или иной спецификации или системы (Википедия).

SDR выполняет значительную часть цифровой обработки сигналов на обычном персональном компьютере или на ПЛИС. Целью такой схемы является радиоприёмник или радиопередатчик произвольных радиосистем, изменяемый путём программной переконфигурации (отсюда происходит альтернативное наименование таких систем — программно конфигурируемые). В настоящее время подобные радиосистемы находят широкое применение, одним из их основных достоинств является возможность обслуживания большого количество радиопротоколов. Ряд экспертов полагают, что в будущем технология SDR станет доминирующей среди всех радиосистем.

Оборудование для SDR обычно состоит из супергетеродинного приёмника, который преобразует сигнал с радиочастоты на промежуточную, аналого-цифрового и цифро-аналогового преобразователей (АЦП и ЦАП).

В данной статье мы рассмотрим реализацию технологии SDR на основе платы Arduino и DDS модуле AD9850.

Необходимые компоненты

  1. Плата Arduino Nano (купить на AliExpress).
  2. ЖК дисплей 16х2 (купить на AliExpress).
  3. DDS модуль AD9850 (купить на AliExpress).
  4. Инкрементальный энкодер c кнопкой (Rotary Encoder) (купить на AliExpress — не уверен в том, что в нем есть кнопка, но она точно есть в этом лоте — купить на AliExpress № 2, но он продается, к сожалению, только по 5 штук).
  5. Микросхема 74HC4066 (купить на AliExpress).
  6. Транзистор BF494 (2 шт.) (купить на AliExpress).
  7. Транзистор BC547 (2 шт.) (купить на AliExpress).
  8. Варикап BB212 (2 шт.).
  9. Резисторы, конденсаторы, катушки индуктивности согласно далее представленной схемы.

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

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

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

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

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

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

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

Аналоговая часть схемы нашего 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 наш проект обеспечивает немного более худшие результаты, но зато как приятно будет многим насладиться приемом коротких волн на радиоприемнике, собранным своими руками.

Исходный код программы (скетча)

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

Скетч в файле AD9850_LCD_ROTARY_WMENUS.ino используется для формирования сигнала на выходе схемы в диапазоне от 1 до 30 МГц. Начальная частота устанавливается при помощи внесения изменений в строку: int_fast32_t rx=7200000. Значение частоты на выходе проекта отображается на экране ЖК дисплея 16х2. Если у вас есть возможность воспользоваться калиброванным частотомером, то его с помощью вы можете настроить частоту int32_t freq = frequency * 4294967295/125000000;» чтобы на выходе модуля AD9850 обеспечить более точное значение частоты. При использовании данного скетча вам не нужно подключать переключатель и резистор к контакту A5 платы Arduino.

Также в скачанном архиве проекта вы найдете скетч с именем AD9850_LCD_ROTARY_WMENUS_IF . С помощью этого скетча на выходе устройства также формируется частота в диапазоне от 1 до 30 МГц. Но данный скетч также использует и промежуточную частоту (Intermediate frequency, IF). Начальная частота настраивается также, как и в предыдущем скетче. В случае использования данного скетча вам необходимо подключить переключатель и резистор к контакту A5 платы Arduino как показано на представленной выше схеме проекта. Промежуточная частота (IF) в данном скетче задается с помощью строки: int_fast32_t iffreq = 4192000. Это значение частоты будет вычитаться из частоты нашего основного сигнала. Когда контакт A5 платы Arduino будет замкнут на землю (на нем будет low), то выходная частота и частота, отображаемая на ЖК дисплее, будут равны. А когда на контакте A5 платы Arduino будет напряжение высокого уровня (high), то выходная частота устройства будет равна разности частот, отображаемой на ЖК дисплее, и промежуточной частоты.

Источник

DDS генератор сигналов на базе AD9850 (1Hz-40MHz)

  • Описание товара

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

    Читайте также:  Ремень генератора лексус rx330

    Более подробное описание генератора сигналов AD9850 смотрите в нашей статье

    Архитектура AD9850 позволяет формировать выходные сигналы на частоте до половины частоты опорного тактового сигнала (то есть, до 62.5 МГц), а значение частоты может перестраиваться со скоростью до 23 миллионов значений в секунду. Компонент обеспечивает возможность фазовой модуляции с цифровым управлением 5-разрядным кодом, которая позволяет вносить в выходной сигнал сдвиг по фазе на 180°, 90°, 45°, 22.5°, 11.25° и любую комбинацию вышеперечисленных значений. Также в состав AD9850 входит быстродействующий компаратор, при помощи которого синусоидальный выходной сигнал ЦАП (после внешней фильтрации) может быть преобразован в прямоугольное колебание с малым дрожанием фазы, что упрощает применение компонента в задаче формирования тактовых сигналов. AD9850 производится по усовершенствованной КМОП технологии, которая позволяет обеспечить столь высокий уровень характеристик и обширный набор функциональных возможной при рассеиваемой мощности всего 155 мВт (напряжение питания +3.3 В).

    Частота тактового сигнала 125 МГц, максимальная генерируемая частота равна половине частоты тактового сигнала (62,5 МГц, выше 40 МГц амплитуда сигнала ослабевает)

    Интегрированные высококачественный ЦАП и быстродействующий компаратор

    SFDR ЦАП > 50 дБ при частоте выходного сигнала 40 МГц

    32-разрядное слово настройки частоты

    Упрощенный интерфейс управления: параллельный байтовый или последовательный форматы загрузки

    Возможность фазовой модуляции

    Работа от одного напряжения питания 3.3 В или 5 В

    Малое энергопотребление: 380 мВт при 125 МГц (5 В) и 155 мВт при 100 МГц (3.3 В)

    Функция пониженного энергопотребления

    Слова управления, настройки частоты и фазовой модуляции загружаются в AD9850 в параллельном байтовом или последовательном формате. В параллельном формате каждая операция записи состоит из итеративной загрузки пяти 8-битных управляющих слов (байтов). Первый байт управляет фазовой модуляцией, форматом загрузки и режимом пониженного энергопотребления; байты 2-5 включают в себя 32-разрядное слово настройки частоты. При загрузке в последовательном формате данные передаются в виде последовательного 40-битного потока по одному выводу. Удобнее всего использовать последовательный ввод данных, так-как он требует меньше выводов микроконтроллера (четыре) и работает по интерфейсу SPI.

    При использовании последовательного интерфейса данные (слово длиной 40 бит) подают на вход D7 (продублирован выводом DATA) микросхемы. Каждый бит данных сопровождают импульсом положительной полярности на входе синхронизации WCLK. После загрузки управляющего слова по импульсу положительной полярности на входе FQ_UD происходит изменение параметров генерации на новые.

    Слово из 40 бит имеет следующую структуру:

    • первые 32 бита содержат значение частоты
    • следующие 2 бита — служебные, должны быть установлены в 0
    • бит спящего режима: 0 — спящий режим отключен, 1 — спящий режим включен
    • последние 5 бит устанавливают фазу.

    Значение частоты не отправляется в генератор в привычном для нас числовом виде. Для расчета используется следующая формула: Fout=D*Fq/232 , где Fq — тактовая частота установленного на плате кварцевого резонатора, D — 32 бита информации о частоте. Для расчета 32-битного значения частоты эта формула преобразуется в следующий вид: D=Fout*232/Fq и в таком виде используется в программе. Стоит отметить, что в расчетах присутствует значение тактовой частоты, измерив которую и подставив в формулу, можно добиться очень высокой точности генерируемой частоты.

    На плате установлен кварцевый резонатор на 125 мегагерц, который позволяет устанавливать частоту в диапазоне от 0 до 62,5 мегагерц с шагом 0,029 Герц.

    Работа с генератором на AD9850 не сложна и доступна даже новичкам, осваивающим программирование микроконтроллеров при помощи Arduino. Для демонстрации простоты работы приведен следующий «скетч», в котором демонстрируется работа с AD9850 безо всяких библиотек, используются лишь встроенные функции arduino.

    Для работы с генератором частоты в среде ArduinoIDE также можно использовать библиотеку AD9850SPI (работоспособность проверена) и AD9850 (принцип работы аналогичен скетчу, приведенному выше).

    Подробнее о технических характеристиках можно узнать в DataSheet.

    Источник

  • Adblock
    detector