DDS генератор

Часто, в практиці радіолюбителів необхідний простий функціональний DDS (прямий цифровий синтез частоти) генератор. Для отримання певної частоти...

Я розробив простий генератор синуса на мікросхемі від Analog Devices AD9832. Схема генерувала синусоїду від 0.005 до 12 МГц з кроком 0.005 Гц. Але, поки я чекав доставки мікросхеми AD9832, був розроблений простий DDS генератор з використанням мікроконтролера AT90S2313 і резистивною матрицею.

Генератор управляється через RS232 невеликою Windows-програмою і може генерувати такі форми сигналів: синус, трикутник, пила, прямокутник в діапазоні частот, починаючи з 0.07 Гц до 200-300 кГц з кроком 0.07 Гц (залежить від застосовуваного кварца).

Програма DDS-генератора

Я не хочу вдаватися в деталі роботи DDS-генератора. Исходний код додається, він дуже простий і в ньому легко розібратися.

DDS-генератор

Схемотехніка пристрою також проста, в ній є 4 головні деталі: регулятор напруги, приймач-передавач RS232, мікроконтролер AT90S2313P та резистивна матриця (R2R). Матриця R2R підключена до виводів МК portB, тим самим утворюючи простий ЦАП і дозволяючи отримати 256 рівнів напруги.

Мікросхема MAX603 також використовується для реалізації функцій вмикання/вимикання генератора, через послідовний інтерфейс RS232 (сигнал DTR). Коли ви закриваєте програму генератора на комп'ютері, то й DDS-генератор по надійшовшому сигналу вимикається, таким чином, економлячи батарейки.

Принципова схема DDS-генератора

Програмний код написаний на асемблері. Код невеликий і відрізняється великою швидкістю виконання головного циклу. Це серце коду генератора. Головний цикл містить 7 рядків коду.
Решта коду — таблиці форм сигналів і комунікаційний код.

Акумулятор фази — 24 біти, за допомогою нього встановлюється роздільна здатність. Максимально генерована частота і роздільна здатність також залежить від використовуваного кварца:
Роздільна здатність = Частота кварца/150994944
fOut = Акумулятор * Роздільна здатність
В моєму випадку кварц був на 11.059200 МГц, тобто роздільна здатність склала 0.073242188 Гц.
Для того, щоб отримати вихідну частоту 1 кГц, необхідно в акумулятор фази записати значення 0x003556 (13654 dec). Це дасть 1000.048835 Гц. Цілком достатня точність для радіолюбителя.

Комунікаційний код програми також простий і дозволяє записувати значення в акумулятор фази і вибирати тип форми сигналу.

Форми сигналів генератора: синус, прямокутник, пила

Нижче ви можете завантажити вихідний код на асемблері та програму під Windows

Список радіоелементів

Обозначення Тип Номінал Кількість Примітка
IC1 Мікроконтролер AT90S2313P 1
IC2 Лінійний регулятор
MAX603
1
IC3 ІС RS-232 інтерфейсу
MAX202
1
D1 Випрямляючий діод
470 Ом
1
C1-C4 Конденсатор 4
С5, С6 Конденсатор 22 пФ 2
С7 Конденсатор 0.1 мкФ 1
С8, С11 Електролітичний конденсатор 10 мкФ 16 В 2
R1 Резисторний блок 10/20 кОм 1
R2 Резистор
470 Ом
1
R5 Резистор
4.7 кОм
1
Q1 Кварцовий резонатор 11.0592 МГц 1
X1 Роз'єм RS232 1
Х2 Роз'єм виходу сигналу 1

Прикреплені файли:

Top