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

ШИМ-генератор

Широтно-импульсная модуляция сравнением с порогом

Задача

Сформировать ШИМ-сигнал со скважностью, задаваемой 8-разрядным числом duty.

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

Последовательная схема: свободно бегущий 8-битный счётчик и компаратор.

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

Счётчик считает 0…255 по кругу; выход pwm активен, пока значение счётчика меньше duty. Отношение duty/256 задаёт скважность.

Код на AHDL

ahdl_10_shim.tdf↓ скачать .tdf
% Проект 10: ШИМ-генератор с 8-разрядным заданием %
SUBDESIGN ahdl_10_shim
(
    clk, clrn : INPUT;
    duty[7..0]: INPUT;
    pwm       : OUTPUT;
)
VARIABLE
    cnt[7..0] : DFF;
BEGIN
    cnt[].clk  = clk;
    cnt[].clrn = clrn;
    cnt[].d    = cnt[].q + 1;
    pwm        = cnt[].q < duty[];
END;

Пояснения

Сравнение групп cnt[].q < duty[] в AHDL синтезируется как компаратор. Разрядность счётчика определяет число градаций скважности.

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

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

Что дальше

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