смоделируйте эту схему - схема, созданная с помощью CircuitLab
Я создал вышеуказанную схему. По сути, есть переключатель, который обычно находится на высоком уровне. Я нажимаю кнопку. Используя шестнадцатеричный инвертор NTE4049T, я создаю переход от низкого к высокому фронту. Это обеспечивает вход clk для D-триггера 74HCT175. Все работает на TTL, 5 вольт. Выход D-триггера подается на другой шестнадцатеричный инвертор NTE4049T, который затем подается на D-вход триггера.
В идеале при нажатии кнопки я бы создал переключение линии вывода Q.
Этого не происходит. На самом деле на выходе сигнала есть некоторое колебание, но нет конечного перехода состояния.
Я понимаю, что это результат постоянного переключения/плохого дизайна. Как решается эта проблема? Если бы я соединил выход D-триггера с другим триггером, также синхронизированным с тем же фронтом, чтобы затем сгенерировать инвертированный выход для первого триггера, разрешило бы это колебания состояния? Могу ли я передать вывод через серию буферов, чтобы создать временную задержку?
Первая картинка — это сигнал коммутатора с RC-сетью. При нажатии переключателя происходит мгновенное падение. Это падение через инвертор является причиной того, что мой сигнал clk становится высоким.
На рисунках ниже показан вид высокого уровня выходного сигнала Q, а также увеличенное изображение хвоста, где сигнал Q затем возвращается к низкому уровню. Я считаю, что в этой хвостовой части заряжается конденсатор. Я не уверен, почему это может привести к тому, что d-триггер снова сработает. Не должно быть восходящего фронта?
Светло-голубая линия представляет собой сигнал перехода тактового сигнала на триггере. Желтая линия представляет сигнал D, подаваемый на триггер. Темно-синяя линия представляет собой сигнал добротности триггера непосредственно перед входом в инвертор. Инвертированный выход снова подаст на триггер D.
Как такая проблема решается на практике, если я не могу решить ее в приведенном выше дизайне? Спасибо
Чтобы немного заполнить комментарии, проблема (я подозреваю) заключается в том, что ваша схема устранения дребезга RC имеет неправильный размер. С и дает постоянную времени . Ваши следы показывают, что когда вы замыкаете переключатель, вы получаете хороший чистый край (как и следовало ожидать). Когда вы отпускаете переключатель, конденсатор начинает заряжаться. Используя уравнение , вы можете переставить, чтобы найти . Используя значения (максимальный логический НИЗКИЙ вход) и (минимальный логический ВЫСОКИЙ вход) из таблицы инвертора показывает, что вход инвертора находится в неопределенном состоянии ( ) около 460 мс. Это согласуется с тем, что вы видите дополнительный переход в середине задней кромки. Попробуйте уменьшить значение либо или в 10 раз, а в идеале также использовать входной инвертор с триггером Шмитта, как предлагается в комментариях.
авжлоган
НержавеющаяСтальКрыса
авжлоган
Джеффри Эдвард Мессикян
авжлоган