DDS генератор

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

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

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

генератора

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

RS232

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

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

генератора

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

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

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

RS232

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