Автор: с2. Опубликовано в Измерения
DDS синтезатор на AD9850, привлекает радиолюбителей своей простотой и возможностями.
Обычно цифровые генераторы частоты, в которых требуемое значение частоты устанавливают с помощью клавиатуры, как правило, выполнены на микроконтроллере, диапазон генерируемых частот ограничен несколькими мегагерцами, а получение точного значения частоты в широких пределах затруднительно. Описываемый в статье генератор тоже содержит микроконтроллер, но использован он только для управления специализированной микросхемой — синтезатором частоты AD9850 . Применение этой микросхемы позволило расширить диапазон генерируемых частот от 0Hz до 40 МНz, в пределах которого можно получить любое значение частоты с точностью 1Hz.
Структурная схема синтезатора AD9850 изображена на рис. 1. Его основа — аккумулятор фазы, формирующий код мгновенной фазы выходного сигнала. Этот код преобразуется в цифровое значение синусоидального сигнала, который с помощью ЦАП превращается в аналоговый и подвергается фильтрации. Компаратор позволяет получить выходной сигнал прямоугольной формы. Его частота fout (в герцах) определяется формулой
Fout — выходная частота, Hz ;
Fin — тактовая частота, Hz ;
∆ – 32-битное значение кода частоты.
Максимальное значение Fout не может превосходить половины тактовой частоты.
Основные технические характеристики AD9850 (при напряжении питания 5В).
2 выходных сигнала
Частота тактового генератора, МНz: 1…125
Максимальный потребляемый ток (при fin=125 МГц), мА 95
Число разрядов ЦАП 10
Максимальный выходной ток ЦАП (при Rset=3,9 кОм), мА 10,24
Максимальная интегральная нелинейность ЦАП, МЗР 1
Компаратор имеет подстройку, переменным резистором R13.
Напряжение на выходе компаратора, В:
минимальное высокого уровня 4,8
максимальное низкого уровня 0,4
Для загрузки данных в микросхеме AD9850 предусмотрены параллельный и последовательный интерфейсы.
В последнем случае данные (слово длиной 40 бит) вводят через ее вход DАТА.
Каждый бит данных сопровождают импульсом положительной полярности на входе синхронизации W_CLK.
После загрузки управляющего слова по импульсу положительной полярности на входе F U _ U D происходит замена параметров генерации новыми..
Принципиальная схема управления генератором изображена на рис. 2.
Управляет синтезатором DD2 микроконтроллер DD1.
Управление происходит с помощью энкодера Sk1 с кнопкой Кн0, и дополнительных кнопок Кн1 – Кн6.
Вращая ручку энкодера вправо или влево, производим изменение частоты на экране ЖКИ прибора, и одновременно получаем это же значение частоты в виде прямоугольника и синуса на выходе схемы.
Кн0 * задает шаг установки частоты с помощью энкодера Sk1 (1Hz, 10Hz, 100Hz, 1kHz, 10kHz, 100kHz, 1MHz, выбор значений по «кольцу» , данный режим работы кнопки Кн0 * актуален только в версии программы 1.0).
Значение выходной частоты выставляется с точностью порядка 1Hz, что достаточно для большинства случаев.
Кнопки Кн1 – Кн6, это кнопки быстрого доступа, с их помощью можно устанавливать определенную частоту генератора одним нажатием кнопки.
Каждая кнопка Кн1 – Кн6, это есть ячейка с памятью.
В них прописывается значение частоты следующим образом: сначала устанавливаем нужную нам частоту на экране ЖКИ с помощью энкодера Sk1,
нажимаем и длительно удерживаем Кн0 , на экране появится надпись «record» , не отпуская Кн0, нажимаем любую кнопку Кн1 – Кн6 нужной нам ячейки, на экране это будет отражено надписью «is made», запись в ячейку произведена.
Введенные в ячейки значения частоты сохраняются в энергонезависимой памяти микроконтроллера.
А так же еще следует знать, что при старте МК всегда считывается установка частоты с ячейки Кн1.
А значение, записанное в ячейке кнопки Кн6, управляет выходом РD7(13 ножка МК), которое в свою очередь по цепочке D1 R1 отключает генерацию прямоугольного сигнала генератора AD9850.
К сожалению, DDS выдаёт побочные сигналы, уровень которых зависит от тактовой и выходной частот (при частоте более 5MHz (или любое значение частоты, внесенное в ячейку Кн6) по цепочке D1 R1 можно с МК подать лог . 1 , при этом не будут, вносится искажения в синусоидальный сигнал генератора, это в случае если это требуется пользователю прибора, в противном случае цепочку из деталей D1 R1 не устанавливать).
FUSE:
Программа написана для работы МК на тактовой частоте 8 МГц. МК тактируется от внутреннего RS осциллятора.
Примеры работы генератора, в фотографиях.
Небольшое видео, работы программы управления и генератора, в разных режимах управления частотой.
Сколько я занимаюсь электроникой, всегда хотел заиметь генератор сигналов различной формы. Недавно мне понадобилось получить синусоидальный сигнал с помощью цифровых методов, и я решил что сделаю себе хороший генератор! В итоге я сделал простой, но функциональный генератор сигналов который может генерировать: меандр, треугольник, синус, шум и пилообразный сигналы. Максимально генерируемая частота – 60kHz (килогерц). Пока что в настоящей прошивке, частоту можно устанавливать только при генерации меандра, для остальных сигналов можно устанавливать лишь задержку в микросекундах. Основой устройства является AVR микроконтроллер ATtiny2313, сигнал генерируется с помощью 8 битного цифро-аналогового преобразователя (ЦАП), данные о частоте, сигнале или задержки отображаются на ЖК индикаторе 8×2. Вот собственно принципиальная схема:
Для сборки понадобятся детали:
1. Микроконтроллер Attiny2313 – 1шт.
2. ЖК индикатор WH0802 или с HD44780 совместимом – 1шт.
3. Микросхема LM324 – 1шт.
4. Тактовые кнопки без фиксации – 3шт.
5. Резистор 10 кОм – 1шт.
6. Резистор 300 Ом – 1шт.
7. Резистор 2 кОм – 8шт.
8. Резистор 1 кОм – 9шт.
ЦАП собран на резисторах и подключён напрямую к порту B микроконтроллера, сигнал после ЦАПа усиливается с помощью операционного усилителя LM324. ЖК индикатор я применил WH0802 c HD44780 совместимом контроллером, данный ЖКИ имеет 2 строки по 8 знакомест каждая. Существенно применение любого ЖК индикатора с совместимом контроллером с HD44780. Микроконтроллер применить Attiny2313 можно с любыми буквенными индексами, в любых корпусах. Кнопки можно применить любые тактовые, без фиксации. Кнопкой "Выбор" выбирается тип генерируемого сигнала. Кнопками "Плюс" и "Минус" устанавливается частота или задержка. При включении устройства оно сразу начинает генерировать сигнал, по умолчанию это меандр. Напряжение питания: 5 вольт. Вот осциллограммы генерируемых генератором сигналов:
Меандр
Шум
Пила
Синус
Треугольник
Я собрал свой генератор сигналов в пластмассовом корпусе ZIV, вот что получилось:
Первые испытания вместе с самодельным осциллографом:
Схему я собрал на печатной плате сделанной с помощью ЛУТ, рисунок печатной платы в Sprint Layout 4.0 можно найти в файлах к статье. На плате я использовал детали в SMD корпусах, исключение лишь составляет микросхема LM324, она использована в DIP корпусе. Прошивку для устройства я писал в среде BASCOM-AVR исходник прилагается. Также прилагается проект устройства в программе Proteus. Кстати, после прошивки не забудьте установить следующие фьюз биты (для программы SinaProg):
В первой части статьи рассматривается схемотехническое решение, устройство и конструкция DDS генератора (генератор с прямым цифровым синтезом формы сигнала) на микроконтроллере Atmel ATmega16. В приборе, кроме синтеза сигнала различной формы и частоты, реализуется возможность регулировки амплитуды и смещения выходного сигнала.
Основные характеристики прибора:
- простое схемотехническое решение, доступные компоненты;
- односторонняя печатная плата;
- сетевой источник питания;
- специализированный выход частоты от 1 МГц до 8 МГц;
- DDS выход с регулировкой амплитуды и смещения;
- форма выходного DDS сигнала: синусоида, прямоугольные импульсы, пилообразные импульсы, треугольные импульсы, ЭКГ, шум;
- для отображения текущих параметров используется двухстрочный ЖК дисплей;
- пятикнопочная клавиатура;
- шаг перестройки частоты: 1, 10, 10, 1000, 10000 Гц;
- восстановление последней конфигурации при включении;
- регулировка смещения: –5 В … +5 В;
- регулировка амплитуды: 0 … 10 В;
- регулировка частоты: 0 … 65534 Гц.
За основу прибора, а точнее алгоритм работы микроконтроллера, была взята разработка DDS генератора Jesper Hansen. Предложенный алгоритм был немного переработан и адаптирован под компилятор WinAVR-GCC
Сигнальный генератор имеет два выхода: выход DDS сигнала и выход высокочастотного сигнала (1 – 8 МГц) прямоугольной формы, который может использоваться для «оживления» микроконтроллеров с неправильными установками Fuse-битов или для других целей.
Высокочастотный сигнал поступает непосредственно с микроконтроллера, с вывода OC1A (PD5). DDS сигнал формируется микроконтроллером с использованием цепочки резисторов R2R (ЦАП), регулировка смещения и амплитуды возможна благодаря использованию низкопотребляющего операционного усилителя LM358N.
Блок-схема DDS генератора
Как видно, для питания устройства необходимо три напряжения: +5 В, +12 В, –12 В. Напряжения +12 В и –12 В используются для аналоговой части устройства на операционном усилителе для регулировки смещения и амплитуды.
Принципиальная схема источника питания изображена на рисунке ниже.
В источнике питания используются стабилизаторы напряжения LM7812, LM7805, LM7912 (стабилизатор отрицательного напряжения –12 В).
Внешний вид источника питания для генератора
Возможно использование компьютерного блока питания форм-фактора ATX, для этого необходимо распаять переходник в соответствии со схемой:
Принципиальная схема прибора
Для сборки прибора потребуется:
- микроконтроллер ATmega16;
- кварцевый резонатор 16 МГц;
- стандартный двухстрочный ЖК индикатор на базе контроллера HD44780;
- R2R ЦАП выполненный в виде цепочки резисторов;
- сдвоенный операционный усилитель LM358;
- два потенциометра;
- пять кнопок;
- несколько коннекторов и разъемов.
Рисунок печатной платы
Примененные компоненты, за исключением микроконтроллера и разъемов, в корпусах для поверхностного монтажа (smd).
Прибор смонтированный в корпусе
Тестовый запуск
Загрузки
Принципиальная схема и печатная плата (формат Eagle) – скачать
Проект для симуляции в среде Proteus – скачать
Во второй части статьи рассмотрим алгоритм работы микроконтроллера и его основные отличия от версии, автором которой является Jesper Hansen, понакомимся с порядком работы и опциями меню. Кроме того, будут предоставлены изображения формы сигналов с DDS выхода генератора, снятых с помощью осциллографа.
Дополниельно имеется второй вариант конструкции DDS генератора на микроконтроллере ATmega16.
Перевод: Vadim по заказу РадиоЛоцман