Главная » Измерения
Призовой фонд
на ноябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Тестер компонентов LCR-T4
Паяльник
4. 200 руб.
От пользователей

Похожие статьи:


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 МикроконтроллерAT90S2313P1 Поиск в LCSCВ блокнот
IC2 Линейный регулятор
MAX603
1 Поиск в LCSCВ блокнот
IC3 ИС RS-232 интерфейса
MAX202
1 Поиск в LCSCВ блокнот
D1 Выпрямительный диод
1N4148
1 Поиск в LCSCВ блокнот
C1-C4 Конденсатор4 Поиск в LCSCВ блокнот
С5, С6 Конденсатор22 пФ2 Поиск в LCSCВ блокнот
С7 Конденсатор0.1 мкФ1 Поиск в LCSCВ блокнот
С8, С11 Электролитический конденсатор10 мкФ 16 В2 Поиск в LCSCВ блокнот
R1 Резисторный блок10/20 кОм1 Поиск в LCSCВ блокнот
R2 Резистор
470 Ом
1 Поиск в LCSCВ блокнот
R5 Резистор
4.7 кОм
1 Поиск в LCSCВ блокнот
Q1 Кварцевый резонатор11.0592 МГц1 Поиск в LCSCВ блокнот
X1 РазьемRS2321 Поиск в LCSCВ блокнот
Х2 Разьем выхода сигнала1 Поиск в LCSCВ блокнот
Добавить все

Скачать список элементов (PDF)

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

Теги:

none Опубликована: 2010 г. 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (10) | Я собрал (0) | Подписаться

0
ITmaker #
Было бы гораздо удобнее если бы прилагался hex файл готовый для прошивки.
Ответить
0
ITmaker #
В виду прекращения производства и отсутствия AT90S2313P, приходится использовать ATtiny 2313. Лично моя попытка реплицировать сей девайс, не увенчалась успехом. Мне удалось связаться с автором схемы, но и его прошивка не подошла.
Ответить
0
Мазай #
Сделал сей девайс. Прошивку пришлось компилить в Атмеловском ассемблере т.к. GCCишного нет. Ассемблерный файл пришлось подправить. В итоге генератор заработал. Но вот управляющая программа для компа совершенно непонятно, что устанавливает. С ее помощью удалось установить 1 кГц (по частотомеру) только выставив значение в программе около 900 гц и поставив тактовую частоту "синтезатора" в 10 раз меньше, т.е. 1.10592е+006
Ответить
0
virus-error #
Мазай, помоги своим асемблеровским файлом. Собрал девайс, даже корпус не работает, тоже попровлял исходник, комп генератор видит, а частоту реально не выдает на компе ерунду пишет, а не частоту
Ответить
0
virus-error #
Достал и микруху AT90S2313 правда в SMD. Подскажите, фьюзы какие ставить?
Ответить
0
sanyok #
У кого заработало? Выложите прошивку и фьюзы плиз.
Ответить
0
Slava #
Скажите пожалуйста, а что это за число в формуле разрешения 150994944 и откуда оно взялось, с 24 битами аккумулятора никак не могу связать.
Ответить
0
AGE #
150994944 это коэффициент, полученный умножением диапазона фазового аккумулятора (2^24=16777216) на 9 тактов MCU за реальный цикл DDS.
Ответить
0
virus-error #
Вот моя подправленная
Прикрепленный файл: minidds.hex
Ответить
0
Кот #
Можете пожалуйста прикрепить файл протеуса этой схемы?
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Конструктор: DDS генератор сигналов
Конструктор: DDS генератор сигналов
Программатор Pickit3 Конструктор - темброблок на LM1036
вверх