Отключаемые счетчики электроэнергии на пульте. Все с документами пломбами, гарантией и без посредников!

DDS генератор

DDS генератор

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

Я разработал простой генератор синуса на микросхеме от Analog Devices AD9832. Схема генерировала синусоиду от 0.005 до 12 МГц с шагом 0.005 Гц. Но, пока я ждал доставки микросхемы AD9832, был разработан простой DDS генератор с использованием микроконтроллера AT90S2313 и резистивной матрицей.

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

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

Схемотехника устройства тоже простая, в ней есть 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 Гц. Вполне достаточная точность для радиолюбителя.

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

Скачать исходник на ассемблере и программу под Windows


Категория: Микроконтроллеры
Метки:

Написать коментарий

*
= 5 + 2

Добавить изображение

Последние статьи