EdigE
← ЛЕНТА
MCU · 07.07.2026

AVR16EB28 как точный генератор 2 Гц–33,5 МГц с шагом 2 Гц

Цифровой генератор на AVR16EB28 выдаёт прямоугольный сигнал от 2 Гц до 33.5 МГц, причём каждая соседняя уставка отстоит ровно на 2 Гц. Сетку задаёт 24-битный таймер TCF в режиме NCO, тактируемый PLL от кварца 4.194304 МГц. Цена такой дискретности проявляется в распределении периодов входного такта между отдельными фронтами.

David Johnson-Davies собрал Digital Signal Generator на восьмибитном AVR16EB28, использовав периферию микроконтроллера как синтезатор частоты. Устройство формирует прямоугольный сигнал в диапазоне от 2 Гц до приблизительно 33.5 МГц с дискретностью 2 Гц, выводит значение на OLED-дисплей 128×32 и управляется цифровой клавиатурой с энкодером. На выводах таймера доступны две линии WO0 и WO1 с противофазным переключением.

Опорой служит кварц 4.194304 МГц. Эта частота попадает в допустимое для PLL AVR EB окно 2.5–5.5 МГц, поэтому внутренний умножитель ×16 поднимает тактовую частоту TCF до 67.108864 МГц. Выбор кварца здесь определяет всю арифметику прибора: при работе 24-битного Timer/Counter F в NCO fixed-duty режиме частотный шаг равен частоте тактирования, делённой на 2^25. Получается ровно 2 Гц.

Внутри NCO работает 24-битный аккумулятор. В него на каждом такте прибавляется программируемое значение increment; переполнение меняет состояние выхода. Средняя частота описывается произведением частоты TCF на increment, делённым на 2^25. Максимальное значение increment даёт около половины частоты таймера, то есть 33.554432 МГц. Верхняя граница, указанная как 33.5 МГц, следует непосредственно из этого предела.

Такой подход избавляет прошивку от таблиц коэффициентов деления и позволяет получать равномерную шкалу по всему диапазону. Перестройка частоты сводится к записи нового значения в регистр таймера. Для низких частот это также сохраняет разрешение, которое было бы трудно получить простым делителем от десятков мегагерц: на выходе 2 Гц один полный период соответствует 33 554 432 тактам TCF.

David Johnson-Davies — схема проекта; Electronics For You публикует её как «The Circuit Diagram».

Однако сетка по средней частоте не описывает временную структуру каждого фронта. NCO способен разместить переходы только на границах тактов 67.108864 МГц, с периодом около 14.9 нс. Для большинства значений increment идеальный интервал между переключениями содержит дробное число таких тактов. Аккумулятор чередует соседние целые интервалы, сохраняя правильную среднюю частоту. Документация AVR EB указывает для этого режима периодический джиттер до ±1 периода TCF.

Следствие заметно при использовании прибора как источника тактового сигнала, цифровой опоры или генератора для проверки счётчиков и логики: частота на длительном интервале определяется кварцем, а мгновенное положение фронтов несёт детерминированную модуляцию. Абсолютная точность наследует начальную ppm-погрешность, температурный дрейф и старение конкретного кварца. Дискретность 2 Гц характеризует программируемую сетку, а не гарантированную абсолютную ошибку 2 Гц.

Выходы WO0 и WO1 являются CMOS-линиями микроконтроллера. Для измерительного ВЧ-тракта потребуются согласование с нагрузкой, буфер либо аттенюатор, фильтрация гармоник и отдельная проверка спектра. Показанный прибор ориентирован на цифровой прямоугольный сигнал; параметры амплитуды, фазового шума, фронтов под нагрузкой и электромагнитных помех для готовой сборки не нормированы. Именно граница между точной средней частотой NCO и качеством отдельного фронта определяет применимость такого генератора в лабораторной оснастке.