Бесплатная техническая библиотека
Функциональный DDS генератор. Энциклопедия радиоэлектроники и электротехники

Энциклопедия радиоэлектроники и электротехники / Измерительная техника
Комментарии к статье
Данный DDS функциональный генератор (версия 2.0) сигналов собран на микроконтроллере AVR, обладает хорошей функциональностью, имеет амплитудный контроль, а также собран на односторонней печатной плате.

Данный генератор базируется на алгоритме DDS-генератора Jesper, программа была модернизирована под AVR-GCC C с вставками кода на ассемблере. Генератор имеет два выходных сигнала: первый - DDS сигналы, второй - высокоскоростной (1..8МГц) "прямоугольный" выход, который может использоваться для оживления МК с неправильными фузами и для других целей.
Высокоскоростной сигнал HS (High Speed) берется напрямую с микроконтроллера Atmega16 OC1A (PD5).
DDS-сигналы формируются с других выходов МК через резистивную R2R-матрицу и через микросхему LM358N, которая позволяет осуществить регулировку амплитуды (Amplitude) сигнала и смещение (Offset). Смещение и амплитуда регулируются при помощи двух потенциометров. Смещение может регулироваться в диапазоне +5В..-5В, а амплитуда 0...10В. Частота DDS-сигналов может регулироваться в пределах 0... 65534 Гц, это более чем достаточно для тестирования аудио-схем и других радиолюбительских задач.
Основные характеристики DDS-генератора V2.0
- простая схема с распространенными и недорогими радиоэлементами;
- односторонняя печатная плата;
- встроенный блок питания;
- отдельный высокоскоростной выход (HS) до 8МГц;
- DDS-сигналы с изменяемой амплитудой и смещением;
- DDS-сигналы: синус, прямоугольник, пила и реверсивная пила, треугольник, ЭКГ-сигнал и сигнал шума;
- 2×16 LCD экран;
- интуитивная 5-ти кнопочная клавиатура;
- шаги для регулировки частоты: 1, 10, 100, 1000, 10000 Гц;
- запоминание последнего состояния после включения питания.
На представленной ниже блок-схеме, приведена логическая структура функционального генератора:

Как вы можете видеть, устройство требует наличие нескольких питающих напряжений: +5В, -12В, +12В. Напряжения +12В и -12В используются для регулирования амплитуды сигнала и смещения. Блок питания сконструирован с использованием трансформатора и нескольких микросхем стабилизаторов напряжения:
(нажмите для увеличения)
Блок питания собран на отдельной плате:

Если самому собирать блок питания нет желания, то можно использовать обычный ATX блок питания от компьютера, где уже присутствуют все необходимые напряжения. Разводка ATX разъема.
LCD-экран
Все действия отображаются через LCD-экранчик. Управление генератором осуществляется пятью клавишами

Клавиши вверх/вниз используются для перемещения по меню, клавиши влево/вправо для изменения значения частоты. Когда центральная клавиша нажата - начинается генерирование выбранного сигнала. Повторное нажатие клавиши останавливает генератор.
Система меню генератора:

Для установки шага изменения частоты предусмотрено отдельное значение. Это удобно, если вам необходимо менять частоту в широких пределах.
Генератор шума не имеет каких-либо настроек. Для него используется обычная функция rand() непрерывно подающиеся на выход DDS-генератора.
Высокоскоростной выход HS имеет 4 режима частоты: 1, 2, 4 и 8 МГц.
Принципиальная схема
Схема функционального генератора простая и содержит легкодоступные элементы:
- микроконтроллер AVR Atmega16, с внешним кварцем на 16 МГц;
- стандартный HD44780-типа LCD-экранчик 2×16;
- R2R-матрица ЦАП из обычных резисторов;
- операционный усилитель LM358N (отечественный аналог КР1040УД1);
- два потенциометра;
- пять клавиш;
- несколько разъемов.
(нажмите для увеличения)
Плата

Функциональный генератор собран в пластиковом боксе

Тестовый запуск

Программное обеспечение
Как я уже говорил выше, в основе своей программы я использовал алгоритм DDS-генератора Jesper. Я добавил несколько строчек кода на ассемблере для реализации останова генерирования. Теперь алгоритм содержит 10 ЦПУ циклов, вместо 9.
void static inline Signal_OUT(const uint8_t *signal, uint8_t ad2, uint8_t ad1, uint8_t ad0){
asm volatile( "eor r18, r18 ;r18<-0″ "\n\t"
"eor r19, r19 ;r19<-0″ "\n\t"
"1:" "\n\t"
"add r18, %0 ;1 cycle" "\n\t"
"adc r19, %1 ;1 cycle" "\n\t"
"adc %A3, %2 ;1 cycle" "\n\t"
"lpm ;3 cycles" "\n\t"
"out %4, __tmp_reg__ ;1 cycle" "\n\t"
"sbis %5, 2 ;1 cycle if no skip" "\n\t"
"rjmp 1b ;2 cycles. Total 10 cycles" "\n\t"
:
:"r" (ad0),"r" (ad1),"r" (ad2),"e" (signal),"I" (_SFR_IO_ADDR(PORTA)), "I" (_SFR_IO_ADDR(SPCR))
:"r18″, "r19″
);}
Таблица форм DDS-сигналов размещена во флэш памяти МК, адрес которой начинается с 0xXX00. Эти секции определены в makefile, в соответствующих местах в памяти:
#Define sections where to store signal tables
LDFLAGS += -Wl,-section-start=.MySection1=0x3A00
LDFLAGS += -Wl,-section-start=.MySection2=0x3B00
LDFLAGS += -Wl,-section-start=.MySection3=0x3C00
LDFLAGS += -Wl,-section-start=.MySection4=0x3D00
LDFLAGS += -Wl,-section-start=.MySection5=0x3E00
LDFLAGS += -Wl,-section-start=.MySection6=0x3F00
Библиотеку для работы с LCD можно взять на winavr.scienceprog.com.
Не хочу вдаваться в подробное описание кода программы. Исходный код хорошо прокомментирован (правда на английском языке) и если будут какие либо вопросы по нему, то всегда можете воспользоваться нашим форумом по МК, forum.cxem.net.
Тестирование
Я тестировал генератор с осциллографом и частотомером. Все сигналы хорошо генерируются во всем диапазоне частот (1...65535 Гц). Регулирование амплитуды и смещения работает нормально.
(нажмите для увеличения)
В следующей версии генератора думаю реализовать сигнал нарастающей синусоиды.
Последнюю версию ПО (WinAVR20071221), исходник, файлы EagleCAD и Proteus можете скачать здесь.
Автор: Колтыков А.В.; Публикация: cxem.net
Смотрите другие статьи раздела Измерительная техника.
Читайте и пишите полезные комментарии к этой статье.
<< Назад
Последние новости науки и техники, новинки электроники:
Индекс нижнего белья раскрыл состояние швейцарских почв
15.09.2026
Почва кажется обычной частью окружающего нас ландшафта, однако под ее поверхностью существует сложная экосистема, от состояния которой напрямую зависит жизнь человека. Миллиарды микроорганизмов, черви, грибы и другие обитатели почвы перерабатывают органические вещества и участвуют в круговороте питательных элементов. Чтобы привлечь внимание общества к этой мало заметной проблеме, исследователи из Цюрихского университета придумали весьма необычный эксперимент: они закопали более 2000 пар хлопкового нижнего белья в садах, на лугах, полях и газонах по всей Швейцарии.
Проект получил название "Доказательство в виде нижнего белья" и представлял собой не массовую шутку, а научный эксперимент, позволяющий наглядно оценить биологическую активность почвы. Исследователи помещали хлопковые изделия в землю, а примерно через два месяца извлекали их и сравнивали степень разрушения ткани. Некоторые образцы за это время практически исчезали, оставляя лишь отдельные фрагменты швов, тогда как на други ...>>
Гибкий алмаз вырабатывает электричество
15.09.2026
Алмаз традиционно воспринимается как исключительно твердый и практически неподвижный материал, поэтому возможность получать из него электричество при механической деформации долгое время казалась невероятной. В начале XX века алмаз относили к непьезоэлектрическим материалам, то есть считалось, что при сжатии или изгибе он, в отличие от кварца, не способен создавать электрический заряд. Однако исследователи из Университета Гонконга обнаружили, что при определенных условиях это представление требует пересмотра.
Проблема заключалась прежде всего в физической природе самого минерала. Обычный алмаз настолько тверд, что заметно согнуть его практически невозможно. Поэтому специалисты использовали другой подход и изготовили из алмаза чрезвычайно тонкую гибкую мембрану. После механического воздействия на такую конструкцию измерительные приборы зарегистрировали устойчивые электрические сигналы. Эксперименты неоднократно повторяли и проводили в различных условиях, чтобы исключить случайное про ...>>
Найдена химическая причина возрастных изменений запаха кожи
14.09.2026
Запах человеческого тела меняется на протяжении всей жизни, и особенно заметные изменения могут происходить в пожилом возрасте. Речь идет не только о привычном запахе пота или особенностях гигиены: старение сопровождается целым комплексом биохимических процессов в коже, способных влиять на ее естественный запах. Ученые обнаружили одно из веществ, которое связывают с характерным ароматом, часто называемым "запахом старости".
Исследователи установили, что важную роль в этом процессе играет 2-ноненаль - органическое соединение из группы ненасыщенных жирных альдегидов. Это вещество обладает характерным запахом, который нередко описывают как сочетание прогорклого масла и затхлого картона. Его количество в коже увеличивается по мере старения организма, поэтому концентрация 2-ноненаля рассматривается специалистами как одна из биохимических причин возрастного изменения запаха.
По словам дерматологов, заметные изменения начинают становиться более вероятными после 40 лет. Доктор Сонал Чоуд ...>>
Случайная новость из Архива Неатомная подводная лодка Тайгэи
08.08.2021
Первая японская дизель-электрическая подводная лодка нового поколения "Тайгэи" вышла на заводские ходовые испытания. Это стало возможным спустя всего 14 месяцев после ее спуска на воду. Передать "Тайгэи" Морским силам самообороны Японии должны в марте следующего года.
Корпорация Mitsubishi Heavy Industries разрабатывала дизель-электрическую подводную лодку нового поколения с начала 2010-х годов по проекту 29SS. Она должна заменить устаревающие кораблям типа "Сорю". "Сорю" могут развивать скорость до 20 узлов. Их подводное водоизмещение - 4,2 тысячи тонн при длине 84 метра и ширине 9,1 метра.
По проекту 29SS планируется построить серию из семи кораблей. Первый из них, "Тайгэи", спустили на воду в октябре прошлого года. Его отличает уменьшенные размеры рубки, частично интегрированной в корпус корабля. Это должно уменьшить гидродинамическое сопротивление при движении в подводном положении и уменьшить расход заряда аккумуляторных батарей.
При длине 84 метра и ширине 9,1 метра водоизмещение "Тайгэи" - три тысячи тонн. Как и два последних корабля типа "Сорю", она оснащена литий-ионными аккумуляторными батареями вместо традиционных свинцово-кислотных. Из вооружения у "Тайгэи" есть шесть трубных пусковых аппаратов калибра 533 миллиметра для торпед и крылатых ракет.
Спустя 14 месяцев после спуска на воду "Тайгэи" вышла за заводские ходовые испытания. Это второй этап испытаний любого корабля. На нем проверяют бортовое оборудование в реальных условиях и соответствие судна проектным характеристикам, таким как скорость, остойчивость и ходкость. "Тайгэи" станет 22 кораблем японского подводного флота. Морские силы самообороны Японии должны получить ее в марте следующего года.
|
Другие интересные новости:
▪ Построен самый большой в мире 3D-принтер
▪ Дисплей HDR для смартфонов
▪ IGBT-модули для трехуровневых инверторов UPS
▪ Телевидение и школьные оценки
▪ Когда объезд не помогает
Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки:
▪ раздел сайта Регуляторы тембра, громкости. Подборка статей
▪ статья Буревестник революции. Крылатое выражение
▪ статья Какая связь между великим драматургом и пиратом? Подробный ответ
▪ статья Фига. Легенды, выращивание, способы применения
▪ статья USB программатор микроконтроллеров AVR и AT89S, совместимый с AVR910. Энциклопедия радиоэлектроники и электротехники
▪ статья Тайна семерки. Секрет фокуса
Оставьте свой комментарий к этой статье:
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua
2000-2026