[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Фильтр имеет два входа: сигнала и клоков, и один выход. Фильтр работает так: с появлением сигнала (лог.1) счетчик фильтра начинает отсчет клоков (складывает). Если сигнал пропал (лог.0) до момента конца счета (например, 15, т.е. 4-х битный счетчик), то счетчик считает обратно (вычитает). Если сигнал оставался стабильным и счетчик досчитал до конца, то на выходе формируешь лог 1. По концу вх. сигнала, счетчик считает обратно (вычитает), пока вх. сигнал в лог.0, если он дребезжит и переходит коротко в лог.1, то счетчик снова считает вверх (складывает). Так до тех пор, пока счетчик не досчитает-таки до 0. Тогда на выходе формируешь лог.0.
Естественно, что фильтр вносит задержку, равную времени счета N-го количества клоков.
И еще, для кнопок надо исходить из того, что дребезг может быть в течение грубо 10 мс (в зависимости от качества кнопки). Так что отсюда и выбирай тактовую частоту для счетчика.
Будут трудности с реализацией, сообщи. Помогу.
E-mail: info@telesys.ru