Каталог товаров

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

Цена:

1390 р.
Уже в корзине
Код товара: 12384
Оригинальное название:
AD9850 DDS sinus generator 1Hz-40MHz

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

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

//назначаем используемые выводы
const int RESET_PIN = 8;
const int DATA_PIN = 9;
const int FQ_UD_PIN = 10;
const int W_CLK_PIN = 11;
//необходимы некоторые переменные
double freq = 2; //устанавливаем частоту
uint32_t deltaphase = 0; //эта переменная понадобится позже
uint8_t phase = 0; //устанавливаем фазу

//эта функция на короткое время подтягивает указаный в аргументе вывод к 1
//делать это необходимо периодически и разными пинами, поэтому выведено в отдельную функцию
void pulsePin(uint8_t pin)
{
  digitalWrite(pin, HIGH);
  digitalWrite(pin, LOW);
}

//функция расчитывает 32-битное значение частоты из 10-ричного
void setFreq (double f, uint8_t p) {
  deltaphase = f * 4294967296.0 / 125000000;
  phase = p << 3;

  //отправляет в AD9850 32-битное значение частоты
  for (int i = 0; i < 4; i++, deltaphase >>= 8) {
    shiftOut(DATA_PIN, W_CLK_PIN, LSBFIRST, deltaphase & 0xFF);
  }
  //отправляет значение фазы
  shiftOut(DATA_PIN, W_CLK_PIN, LSBFIRST, phase & 0xFF);
  //кратковременная подтяжка FQ_UD к 1 заставляет AD9850 установить принятые значения на выходе
  pulsePin(FQ_UD_PIN);
}

void setup() {
  //все используемые выводы микроконтроллера используются как выходы
  pinMode(W_CLK_PIN, OUTPUT);
  pinMode(FQ_UD_PIN, OUTPUT);
  pinMode(RESET_PIN, OUTPUT);
  pinMode(DATA_PIN, OUTPUT);
  //инициализация AD9850, по очереди подтягиваем выводы к 1 и отпускаем к 0
  pulsePin(RESET_PIN);
  pulsePin(FQ_UD_PIN);

  setFreq (freq, phase); //вызываем функцию установки частоты с аргументами частоты и фазы

}

void loop() {

}

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

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

Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2021г https://compacttool.ru
Связаться с нами 8-495-752-55-22 zakaz@compacttool.ru