Основная статья здесь
http://www.radiokot.ru/konkursCatDay2015/42/ После всех доработок и исправления ошибок получилось следующее.
Что может этот генератор:
- два независимых выхода аналоговый и логический (одновременная работа двух генераторов);
- генерация синуса и треугольника на аналоговом выходе;
- генерация прямоугольника с раздельной регулировкой длительности высокого и низкого уровней;
- генерация качающейся частоты с раздельной регулировкой начала и конца диапазона (синхро при этом на цифровом выходе);
- диапазон частоты на аналоговом выходе 1 Гц - 5 МГц;
- диапазон длительности импульсов на цифровом выходе 1 мкс - 10 сек;
- независимая регулировка амплитуды для обеих выходов, 0 - 2 В для аналогового и 1.2 - 5 В для цифрового;
- сохранение всех текущих настроек при отключении;
- выходное сопротивление на обеих выходах 50 Ом.
Мега328 разогнана до 25 МГц и питается 3 Вольтами, что оказывается для неё вполне себе штатным режимом (работала вплоть до 1.8 В). Такой режим позволил использовать общий генератор для тактирования всей схемы. Также можно не задумываться о согласовании уровней для 3-х вольтовой периферии. Также при 25 МГц стало возможным установка минимальной длительности 1 uS.
AD9833 может синтезировать синусоиду, треугольник с амплитудой 0.6 В и меандр - с 3 В (напряжение питания). Нормализуем к выходному значению с помощью двух ОУ на AD8052, в добавок на втором ОУ реализован аттенюатор с цифровым потенциометром MCP4011. Чтобы минимизировать шумы, фильтр Баттерворта сделан пассивным, первый ОУ только усиливает сигнал.
Чтобы иметь регулируемый меандр до 5 Мгц с TTL/CMOS выходом, ключом отводим сигнал на цифровой выход.
Цифровой выход реализован на буфере с двумя питаниями, т.е всем известный преобразователь уровня 74LVC8T245 (используется 74LVC2T45 на два порта). Регулятор амплитуды цифрового выхода сделан на LDO (ОУ МСР6001 и IRLML6402) и управляется ШИМом с Меги. Генератор питается от стабилизированного БП 5В. Дисплей, так называемый Nokia5110. Управление простое, одним энкодером с кнопкой, которой переключается вид курсора. При тонком курсоре крутилкой выставляем нужный разряд или режим. Нажимаем в нужном месте - курсор толстый, теперь крутилкой изменяем значение в выставленном разряде. Длительное нажатие отправляет в режим установок дисплея.
Возможно потребуется настройка общего коэф. усиления ОУ, чтобы на выходе стало 2 В в размахе, резистором R14.
По сравнению с первоначальной статьёй, изменилась схема. Пустить прямоугольный сигнал через ОУ в линейном режиме, даже минуя фильтр, была плохой идеей. Присутствует звон фронтов из-за фазового сдвига самого ОУ, который искажает меандр до неузнаваемости. Поэтому решено отказаться от этого режима, на аналоговом выходе присутствует только синус и треугольник. Меандр через 74НС4066 и буфер отведён на цифровой выход.
FUSE: EXTENDED-0xFE, HIGH-0xDF, LOW-0xB7. Вариант с общим кварцем.
FUSE: EXTENDED-0xFE, HIGH-0xD1, LOW-0xE0. Вариант с общим генератором.
В архиве схема, плата, прошивка и исходник для последнего варианта.
- Вложения
-
- проект DDS.zip
- (242.69 KiB) Скачиваний: 1966