Бесплатная техническая библиотека
Функциональный 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.02.2026
Животноводство, особенно разведение крупного рогатого скота, часто обвиняют в значительном вкладе в глобальное потепление из-за мощного парникового газа - метана, который выделяется при пищеварении у жвачных животных. Это вызывает острые политические споры и призывы к сокращению потребления мяса. Однако ученые напоминают, что полная картина климатического воздействия отрасли не ограничивается только выбросами от животных: огромную роль играет окружающая экосистема - пастбища, почва и растительность, которые способны активно поглощать углекислый газ из атмосферы.
Исследователи из Университета Небраски-Линкольна решили глубже изучить этот баланс. Группа под руководством профессора Галена Эриксона сосредоточилась на том, как правильно организованные пастбища накапливают углерод в растениях и грунте благодаря естественным процессам, стимулируемым выпасом скота. Ученые подчеркивают, что при достаточном уровне осадков и грамотном управлении такие луга превращаются в мощные природные погло ...>>
NASA тестирует инновационную технологию крыла
15.02.2026
Коммерческая авиация ежегодно расходует колоссальные объемы керосина, что сказывается не только на бюджете авиакомпаний, но и на состоянии окружающей среды. В 2024 году глобальные затраты на авиационное топливо достигли 291 миллиарда долларов, и эта сумма продолжает расти. Чтобы справиться с этими вызовами, NASA активно работает над технологиями, способными заметно повысить аэродинамическую эффективность самолетов. Одним из самых перспективных направлений стало создание специальной конструкции крыла, которая максимизирует естественный ламинарный поток воздуха и минимизирует сопротивление.
В январе 2026 года специалисты NASA Armstrong Flight Research Center успешно провели важный этап наземных испытаний концепции Crossflow Attenuated Natural Laminar Flow (CATNLF). Для эксперимента под фюзеляж исследовательского самолета F-15B закрепили вертикально ориентированную масштабную модель высотой около 0,9 м (3 фута), напоминающую узкий киль. Такая компоновка позволила подвергнуть прототип р ...>>
Забота о внуках очень полезна для здоровья мозга
14.02.2026
Общение между поколениями приносит радость всей семье, но мало кто задумывается, насколько активно бабушки и дедушки, заботящиеся о внуках, поддерживают свою умственную форму. Регулярное взаимодействие с детьми стимулирует мозг пожилых людей, помогая сохранять память, скорость мышления и общую когнитивную активность.
Новые научные данные подтверждают, что такая добровольная помощь не только важна для общества, но и может замедлять возрастные изменения в мозге.
Исследователи из Тилбургского университета в Нидерландах провели анализ, чтобы понять, приносит ли уход за внуками реальную пользу здоровью пожилых людей. Ведущий автор работы Флавия Черечес отметила, что многие бабушки и дедушки регулярно присматривают за детьми, и оставался открытым вопрос, насколько это положительно сказывается на их собственном благополучии, особенно в плане когнитивных функций.
Ученые поставили цель выяснить, способен ли регулярный уход за внуками замедлить снижение памяти и других умственных способ ...>>
Случайная новость из Архива Санитарки будут драить медяшку
19.05.2005
Золотистый стафилококк, устойчивый к антибиотикам, выведен усилиями врачей и пациентов, применявших антибиотики где нужно и не нужно. Он встречается на коже и на слизистой оболочке носовой полости примерно у трети здоровых людей и никак им не вредит. Но в организме, ослабленном болезнью, стафилококки могут размножиться, вызвав устойчивые инфекции кожи, костей, легких или заражение крови.
По английской статистике, такое бывает почти у 10% пациентов больниц, и число смертельных случаев выросло в Англии с 1995 года в 15 раз. Если же брать все случаи стафилококковой инфекции, в том числе закончившиеся благополучно, то их число увеличилось с 210 до 5309.
Профессор университета Саутгемптона Билл Кивил, занимающийся изучением антисептических свойств меди, предлагает заменить в больницах нержавеющую сталь сплавами меди, ядовитыми для микробов. Нержавеющая сталь считается самым гигиеничным и антисептическим материалом для медицинских инструментов, мебели, сантехники и фурнитуры клиник.
Однако, как показали исследования профессора, при комнатной температуре высохшие стафилококки могут сохранять жизнеспособность на поверхности стали до 72 часов. Напротив, на латуни с содержанием меди 55% микробы выживают 4,5 часа, а при содержании меди 99% - всего полтора часа. Для сокращения внутрибольничных инфекций, где это возможно, нержавеющую сталь надо заменить медью и ее сплавами.
Ранее профессор Кивил показал, что бактерии, вызывающие пищевое отравление, выживают на кухонной утвари из нержавеющей стали несколько недель, а на медной - только несколько часов.
|
Другие интересные новости:
▪ Новый способ получения аэрографена
▪ Вечная атомная батарейка
▪ ЭЛТ-мониторы исчезнут быстрее, чем ожидалось
▪ От простуды помогает мытье рук
▪ Переводные солнечные панели
Лента новостей науки и техники, новинок электроники
Интересные материалы Бесплатной технической библиотеки:
▪ раздел сайта Регуляторы мощности, термометры, термостабилизаторы. Подборка статей
▪ статья Поль Анри Гольбах. Знаменитые афоризмы
▪ статья Какому футболисту ожидание конца света помешало сделать отличную карьеру? Подробный ответ
▪ статья Работа на машинах припрессовки пленки. Типовая инструкция по охране труда
▪ статья Бесконтактная защита громкоговорителей. Энциклопедия радиоэлектроники и электротехники
▪ статья Цветочный магазин в платке. Секрет фокуса
Оставьте свой комментарий к этой статье:
Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua
2000-2026