Arduino библиотека за управление на AD9851 / AD9851 Arduino Library
/kn34pc.com/справочник/...

Analog Devices AD9851 - CMOS, 180 MHz DDS/DAC Synthesizer

Features:

- 180 MHz Clock Rate with Selectable 6 x Reference Clock Multiplier
- On-Chip High Performance 10-Bit DAC and High Speed
- Comparator with Hysteresis
- SFDR > 43 dB @ 70 MHz AOUT
- 32-Bit Frequency Tuning Word
- Simplified Control Interface: Parallel or Serial
- 5-Bit Phase Modulation and Offset Capability
- Comparator Jitter < 80 ps p-p @ 20 MHz
- 2,7 V to 5,25 V Single-Supply Operation
- Low Power: 555 mW @ 180 MHz
- Power-Down Function, 4 mW @ 2,7 V

***


AD9851, China module - принципна електрическа схема


AD9851, China module


AD9851 - тестова схема

Библиотека за управление на AD9851 под Arduino / AD9851 Arduino Library:
ad9851_lib_v0.2.zip

Тестовият Arduino sketch е за една постоянна изходна честота: (напр. 10 000 000 Hz).

AD9850 и AD9851 са еднакви по управление. Разликата между двата DDS-а е в множителя REFCLK Multiplier, който за AD9850 е равен на 1 (максимална честота на опорния генератор Fmclk max = 125 MHz), а при AD9851 е равен на 6 (максимална честота на опорния генератор Fmclk max = 30 MHz х 6 = 180 MHz) => следва DDS се различават и по своята максимална възможна изходна честота. За AD9850: Fmax = 125/2 = 61,5 MHz, а за AD9851: Fmax = 180/2 = 90 MHz, но имайки предвид параметрите на изходния сигнал, би било добре изходната честота да не превишава Fmclk/3 [2] - за AD9850: Fmax = 125/3 = 41,6 MHz, за AD9851: Fmax = 180/3 = 60 MHz.

За AD9850 и AD9851 бих могъл да използвам една библиотека на управление, но в конструкциите си искам да диференцирам управлението на двата DDS чипа. Затова предпочитам библиотеките да са отделни.

***

Library constructor:

AD9851(uint8_t, uint8_t, uint8_t);

Arduino изводи към FQ_UD, W_CLK, DATA на AD9851

***

Публични процедури:

void init(uint32_t xt);
инициализация на библиотеката

xt - честота на опорния кварцов генератор, в Hz (напр. 180000000 Hz)

void set_freq(uint32_t frequency);
установяване на изходната честота

frequency = 0 ... Fxtal/2, в Hz (0 ... 90000000 Hz)

void power_control(uint8_t state);
режим, изходно състояние

state = 0
power-down, DDS не работи, изходът е изключен

state = 1
power-up, DDS работи, изходът е включен (по подразбиране)

***

Пример 1: VFO генератор за два обхвата
ad9851_lcd_enc_80m_20m.zip

- VFO генератор за два обхвата: 80m: (3,500 ... 3,800) MHz и 20m: (14,000 ... 14,350) MHz
- с/без корекция на честотата с +/- IF (хетеродинен приемник / приемник с пряко преобразуване)
- механичен енкодер с 24 стъпки/оборот с бутон
- стъпки на изменение на честотата: 1 kHz, 500 Hz, 50 Hz
- "кръгово" превключване на стъпките: с кратко задържане бутона на енкодера: 1 kHz -> 500 Hz -> 50 Hz -> 1 kHz ...
- "кръгово" превключване на обхватите: с дълго задържане бутона на енкодера: 80m -> 20m -> 80m ...
- изходен сигнал за управление на реле/релета при превключване на обхватите: лог. 0 - 80m, лог. 1 - 20m

***

За тест съм избрал VFO генератор за QRP на два обхвата: 80m и 20m с междинна честота IF = 9001500 Hz (кв. филтър XF-9B):

Fhet 80m = IF - Fin = (5501500 ... 5201500) Hz
Fhet 20m = IF + Fin = (23001500 ... 23351500) Hz

При това разпределение на честотите, превключване LSB/USB в BFO не е необходимо (за 80m: LSB, за 20m: USB). За BFO използвам един кварцов резонатор (в случая: с честота 9001500 Hz).

Двата обхвата, границите им, междинната честота, математическата функция между Fприемник/Fхетеродин/Fмеждинна честота, стъпките на енкодера и др. в програмния код са примерни. Конструкцията е подходяща за сигнал-генератор, хетеродин, QRP и др.

Добре би било в изхода да се добави допълнителен нископропускащ филтър и буфер/усилвател към смесителя.


AD9851, пример 1 - VFO генератор за два обхвата

Препратки и материали:
1. AD9851, Analog Devices - CMOS, 180 MHz DDS/DAC Synthesizer [pdf][773kb]
2. ADIsimDDS (Direct Digital Synthesis), AD9851
3. AD7C AD9850 DDS VFO, www.ad7c.com
4. Homebrew Radio JA2NKD
5. JA2GQP’s Blog
6. AD9851 module sch [jpg][171kb]
7. Arduino библиотека за управление на AD9850, kn34pc.com

LZ2WSG, Силистра
16 октомври 2018 година