AFON//Радиотехник
AHDL · проект 28/50

DDS-генератор фазы

Аккумулятор фазы прямого цифрового синтеза

Задача

Реализовать аккумулятор фазы DDS: старшие разряды дают адрес таблицы формы сигнала.

Тип схемы и среда

Последовательная схема: 16-битный накапливающий сумматор, выход — старший байт фазы.

Алгоритм работы

Каждый такт к аккумулятору прибавляется слово частоты fword. Скорость перебора фазы пропорциональна fword, старший байт адресует таблицу синуса.

Код на AHDL

ahdl_28_dds_generator.tdf↓ скачать .tdf
% Проект 28: DDS-аккумулятор фазы %
SUBDESIGN ahdl_28_dds_generator
(
    clk, clrn  : INPUT;
    fword[15..0]: INPUT;
    phase[7..0]: OUTPUT;
)
VARIABLE
    acc[15..0] : DFF;
BEGIN
    acc[].clk  = clk;
    acc[].clrn = clrn;
    acc[].d    = acc[].q + fword[];
    phase[]    = acc[15..8].q;
END;

Пояснения

Частота выхода f = fword × fclk / 2^N. Разрядность аккумулятора задаёт разрешение по частоте, разрядность выхода — точность фазы.

Инструменты и справочники по теме

📦 help-user.ru — скупка и ремонт компьютерной техники. Продать ноутбук, ПК, комплектующие — help-user.ru.

Что дальше

Скачайте ahdl_28_dds_generator.tdf, создайте проект в MAX+PLUS II или Quartus, назначьте выводы под свою плату и скомпилируйте. Остальные 49 разработок — в разделе проектов на AHDL.