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

Одновибратор

Растяжение короткого импульса до фиксированной длины

Задача

По короткому входному импульсу выдать выходной импульс заданной длительности независимо от длины входного.

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

Последовательная схема: детектор фронта + вычитающий счётчик-таймер.

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

Нарастающий фронт входа загружает счётчик значением длительности. Далее счётчик убывает до нуля, а выход активен, пока счётчик не ноль.

Код на AHDL

ahdl_14_odnovibrator.tdf↓ скачать .tdf
% Проект 14: одновибратор (растяжение импульса) %
SUBDESIGN ahdl_14_odnovibrator
(
    clk, clrn : INPUT;
    trig      : INPUT;
    q         : OUTPUT;
)
VARIABLE
    prev : DFF;
    cnt[7..0] : DFF;
BEGIN
    prev.clk  = clk;
    prev.clrn = clrn;
    prev.d    = trig;

    cnt[].clk  = clk;
    cnt[].clrn = clrn;

    IF trig & !prev.q THEN
        cnt[].d = H"FF";
    ELSIF cnt[].q != 0 THEN
        cnt[].d = cnt[].q - 1;
    ELSE
        cnt[].d = 0;
    END IF;

    q = cnt[].q != 0;
END;

Пояснения

Ждущий мультивибратор в цифре — это загружаемый таймер. Длительность = загруженное значение × период такта.

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

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

Что дальше

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