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

Как устранить дребезг кнопки? Прочитал, что можно включить Weak Pull-Up Resistor (Assigments -> Assigment Editor) который идет на R3. А на каком пине висит R3?

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


Ссылка на сообщение
Поделиться на другие сайты
Как устранить дребезг кнопки? Прочитал, что можно включить Weak Pull-Up Resistor (Assigments -> Assigment Editor) который идет на R3. А на каком пине висит R3?

От дребезга это не спасет.

В простейшем случае антидребезг кнопки такой:

Есть счетчик со входом управления считать вверх или вниз.

Когда кнопка нажата - счетчик считает вверх.

Когда кнопка отпущена - счетчик считает вниз.

Когда счетчик досчитал до конца - формируется выходной сигнал единичка.

Когда счетчик досчитал до нуля - формируется выходной сигнал нолик.

Длинна счетчика - время интегрирования.

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


Ссылка на сообщение
Поделиться на другие сайты
Как устранить дребезг кнопки? Прочитал, что можно включить Weak Pull-Up Resistor (Assigments -> Assigment Editor) который идет на R3. А на каком пине висит R3?

Пропустить через двух (а лучше трех) разрядный сдвиговый регистр, работающий на частоте, которая много меньше частоты дребезга.

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


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

Спасибо, а вот ещё в мануале MAX II Device Handbook написано про триггеры Шмитта, которые обеспечивают гистерезис на буфере входных сигналов, предотвращая дребезг контактов. Я в Pin Planer включил триггер Шмитта на входном пине, но дребезг остался. Наверное, надо внешний конденсатор повесить?

Изменено пользователем demsp

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


Ссылка на сообщение
Поделиться на другие сайты
Я в Pin Planer включил триггер Шмитта на входном пине, но дребезг остался.

 

Честно говоря не понимаю зачем нужен триггер Шмитта в аппаратуре.

 

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

 

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


Ссылка на сообщение
Поделиться на другие сайты
Честно говоря не понимаю зачем нужен триггер Шмитта в аппаратуре.

 

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

Это почему? Как раз порогами срабатывания и отпускания он и отличается от "обычной логики".

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


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

https://youtu.be/Bbusw6HbfEE

Смотреть с 1:24:27

 

Честно говоря не понимаю зачем нужен триггер Шмитта в аппаратуре.

Для исключения метастабильности же, не?

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


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

Пореже опрашивать.

 

 

Честно говоря не понимаю зачем нужен триггер Шмитта в аппаратуре.

Чтобы на пологих фронтах звона не было.

 

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


Ссылка на сообщение
Поделиться на другие сайты
Пропустить через двух (а лучше трех) разрядный сдвиговый регистр, работающий на частоте, которая много меньше частоты дребезга.

У кнопки дребезг может быть миллисекунды. Как поможет сдвиговый регистр ума не приложу....

 

Для исключения метастабильности же, не?

Нет. От метастабильности он не избавит. Но за счет гистерезиса действительно уменьшит дребезг.

 

https://youtu.be/Bbusw6HbfEE

Смотреть с 1:24:27

Так я то же самое сказал :rolleyes:

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


Ссылка на сообщение
Поделиться на другие сайты
Как устранить дребезг кнопки? Прочитал, что можно включить Weak Pull-Up Resistor (Assigments -> Assigment Editor) который идет на R3. А на каком пине висит R3?

Классика - RS триггер. Это самое тупое. Продвинутый вариант - сдвигун с парой-тройкой триггерков, тактируемый 50-100Гц и схемой совпадения(состояния триггерков, типа все "1" или все "0").

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


Ссылка на сообщение
Поделиться на другие сайты
Продвинутый вариант - сдвигун с парой-тройкой триггерков, тактируемый 50-100Гц и схемой совпадения(состояния триггерков, типа все "1" или все "0").

Вот только нужна схема деления для преобразования входной частоты в частоту 50-100 гц, а потом ещё и цепь синхронизации для переноса в рабочий клоковый домен. И в чем здесь выгода ? :wacko:

P.S. Вот ещё простая схема подавления дребезга. https://eewiki.net/pages/viewpage.action?pageId=4980758 Зачем выдумывать сложности ?

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


Ссылка на сообщение
Поделиться на другие сайты
Вот только нужна схема деления для преобразования входной частоты в частоту 50-100 гц, а потом ещё и цепь синхронизации для переноса в рабочий клоковый домен. И в чем здесь выгода ? :wacko:

P.S. Вот ещё простая схема подавления дребезга. https://eewiki.net/pages/viewpage.action?pageId=4980758 Зачем выдумывать сложности ?

Да, это один из вариантов того, что я предложил. Только низкой частотой тактируются не сдвиговые триггерки, а результат схемы совпадения, что, ИМХО, неправильно. И низкую частоту, таки, придётся получать теми-же триггерками.

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


Ссылка на сообщение
Поделиться на другие сайты
Вот ещё простая схема подавления дребезга

Не простая, а избыточная в большинстве случаев. Кнопок м/б много.

post-9118-1527110040_thumb.jpg

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


Ссылка на сообщение
Поделиться на другие сайты
Не простая, а избыточная в большинстве случаев. Кнопок м/б много.

Ну так есть же красивое решение :rolleyes: : http://embedders.org/blog/gdi/debouncing.html

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти