Перейти к содержанию
    

Генератор единичного импульса по приходу разрешающего сигнала

Доброго времени суток! Есть потребность в генераторе единичного импульса по приходу разрешающего сигнала! Нашел схему на двух триггерах, она работает, но генериться импульс длительностью импульса clk, а мне бы надо, чтобы генерился единичный импульс длительностью период clk, чтоб его можно было считать нормально. Ибо с генерацией импульса длиной импульс clk считать его нормально по clk не получается, либо я, возможно, чего-то не понимаю.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ни слова не понял. Переформулируйте понятным, технически грамотным языком ...

А такие одновибраторы, вроде как, делают на NE555 ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Безусловно, суть построения мне объяснили, вопрос теперь у меня в другом, а именно в формирователе единичного импульса по фронту метки.
В предыдущей теме единичные импульсы сказали посылать на синхронные входы RS-триггера.

Скорее всего, я чего-то не понимаю, поэтому и решил создать эту тему.

Я нашёл в инете схему формирователя на двух триггерах, который по фронту генерит импульс. Этот импульс по длительности равен длительности импульса clk. И я вот не понимаю как мне его по этому самому clk считать, а схему формирователя единичного импульса, который бы генерил единичный импульс длительностью период clk, чтоб его можно было считать нормально в триггере.

Либо я чего-то не понимаю и импульс длительностью импульс clk спокойно можно считать в триггере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подайте ваши импульсы временные на входы clk D-триггеров, сами триггера в счетном режиме(D=~Q). Выходы D-триггеров пересинхронизируете на частоту ПЛИС. Эти уже синхронизованные выходы управляют стейт машиной, где в каждом состоянии значение счетчика отсылается куда надо, затем сбрасывается в 0 и счет времени начинается заново. Таким образом вы сможете посчитать интервалы длительностью не менее примерно десятка тактов рабочей частоты ПЛИС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

process (Clk)
begin  
   if (Clk'event and Clk = '1') then
       Data_Shift <= Data;
   end if;
end process;

Rise        <=     Data and not Data_Shift;
Fail        <= not Data and     Data_Shift;
Front       <=     Data or not  Data_Shift;
ShiftData   <=                  Data_Shift;
Data_plus1  <=     Data or      Data_Shift;
Data_minus1 <=     Data and     Data_Shift;

Генерилка ништяков:

Rise - единичный импульс по переднему фронту 0->1

Что делают остальные можно посмотреть в симуляторе :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предложенное в той теме решение безусловно мне помогло и я сделал предложенный измеритель, но на асинхронном RS-триггере из-за особенности единичных импульсов. Самостоятельно придумать схему генерации импульсов длительностью в период clk я не смог, поэтому и задал вопрос уже в теме для новичков, вдруг кто-нибудь сталкивался с этим или знает как это сделать. Хочется все-таки сделать на синхронном RS-триггере.

17 минут назад, Herz сказал:

Так в той теме Вы указали, что вопрос решился.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

36 минут назад, oleg679976 сказал:

вопрос теперь у меня в другом, а именно в формирователе единичного импульса

Вам там расписали 5-битный автомат, который уже определял в т.ч. и событие "измеряемый интервал длиной ноль", но не фиксировал его, потому как для этого логично требуется добавить ещё один бит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

24 минуты назад, MegaVolt сказал:

process (Clk)
begin  
   if (Clk'event and Clk = '1') then
       Data_Shift <= Data;
   end if;
end process;

Rise        <=     Data and not Data_Shift;
Fail        <= not Data and     Data_Shift;
Front       <=     Data or not  Data_Shift;
ShiftData   <=                  Data_Shift;
Data_plus1  <=     Data or      Data_Shift;
Data_minus1 <=     Data and     Data_Shift;

Генерилка ништяков:

Rise - единичный импульс по переднему фронту 0->1

Что делают остальные можно посмотреть в симуляторе :)

Front на фронт не похож. :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 минут назад, ViKo сказал:

Front на фронт не похож. :-)

Точно :) xor должно быть. Мой косяк.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 31.01.2019 в 11:32, MegaVolt сказал:

process (Clk)
begin  
   if (Clk'event and Clk = '1') then
       Data_Shift <= Data;
   end if;
end process;

Rise        <=     Data and not Data_Shift;
Fail        <= not Data and     Data_Shift;
Front       <=     Data or not  Data_Shift;
ShiftData   <=                  Data_Shift;
Data_plus1  <=     Data or      Data_Shift;
Data_minus1 <=     Data and     Data_Shift;

Генерилка ништяков:

Rise - единичный импульс по переднему фронту 0->1

Что делают остальные можно посмотреть в симуляторе :)

Большое спасибо за помощь, очень помогли!
Так же большое спасибо всем проявившим участие!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И к чему эта картинка?

а) Автор свою проблему решил, и его, как видно, интересовало решение на ПЛИС,

б) приведенная Вами схема известна из букварей,

в) если уж демонстрируете скрин из симулятора, то потрудитесь пояснить график: что это за линии, чему соответствуют, о чём говорят.

Без легенды, без размерности по осям это просто мусор.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хорошо, что Вы уже все буквари прочитали, очень завидую. Тут как бы темы для начинающих, я не центр ядерных исследований. Картинки подправил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...