zvs 0 24 марта, 2005 Опубликовано 24 марта, 2005 · Жалоба Грубо говоря есть такая цепь: + питания | резистор | | земля------кнопка-------о------нога ПЛИС Кнопка что-то в духе МПК1-4В и дребезжит при нажатии со страшной силой. В ПЛИС она заведена на асинхронный сброс всего что только можно. Вопрос: насколько этот дребезг может повлиять на работу схемы и как с ним можно бороться? Я на счет устранения изобразил конструкцию из нескольки последовательно включенных д-триггеров, вход каждого из которых объединен по "И" с пином на который приходит сигнал с кнопки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexandr 0 24 марта, 2005 Опубликовано 24 марта, 2005 · Жалоба Если место в ПЛИСе есть, то советую сброс от кнопки завести на D-триггер с асинхронным сбросом. По первому же фронту от кнопки триггер защелкнется и запустит счетчик (настроеный на время 200-300мС, хотя нужно экспериментировать с конкретной кнопкой) который потом сбросит входной триггер и все что еще нужно сбросить. Правда окончательный сброс произойдет при отпускании кнопки. Можно поиграться и не отпускать сброс пока не отпустят кнопку - в общем решайте как лучше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 24 марта, 2005 Опубликовано 24 марта, 2005 · Жалоба Грубо говоря есть такая цепь: + питания | резистор | | земля------кнопка-------о------нога ПЛИС Кнопка что-то в духе МПК1-4В и дребезжит при нажатии со страшной силой. В ПЛИС она заведена на асинхронный сброс всего что только можно. Вопрос: насколько этот дребезг может повлиять на работу схемы и как с ним можно бороться? Я на счет устранения изобразил конструкцию из нескольки последовательно включенных д-триггеров, вход каждого из которых объединен по "И" с пином на который приходит сигнал с кнопки. <{POST_SNAPBACK}> 1) У Altera в MAX+PLUS II был пример антидребезга. Посмотрите там. 2) У MAXIM есть микросхемы для этого - смотрите на их сайте. 3) Интересный вариант использовать watchdog, например Analog Devices ADM706 (у него Master Reset с антидребезгом) да и еще Power Fail Indicator и еще как сам wathcdog :-) 4) Регистр сдвига, на вход кнопка+pullup, выходы регистра объединить по ИЛИ, выход ИЛИ - нужный сигнал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
M_A 0 25 марта, 2005 Опубликовано 25 марта, 2005 · Жалоба Про устранение дребезга есть кое-что здесь Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alhen 0 25 марта, 2005 Опубликовано 25 марта, 2005 · Жалоба Если есть переключающая группа контактов, то всегда стараюсь использовать RS триггер для антидребезга. Единственный недостаток перерасход входов на ПЛИС т.е. по две ноги на одну кнопку, зато работает железно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Romanello 0 25 марта, 2005 Опубликовано 25 марта, 2005 · Жалоба Поставь конденсатор, одной ногой соединив с выводом кнопки, другой ногой соедини с землей. Емкость конденсатора выбирается исходя из номинала резистора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 25 марта, 2005 Опубликовано 25 марта, 2005 · Жалоба 2 Alexandr. Первым делом почти так и сделаю, только... У меня схема должна работать по нажатию кнопки, т.е. когда она отжата - вес в сбросе, нажата - в работе. Но мысль со счетчиком отработаю. 2 Victor® 1) Гм... А как хоть по аглицки этот "антидребезг" должен звучать? Я так понял смотреть нужно в хелп? 2) 3) Микросхему влепить уже не смогу - места на плате маловато, но буду иметь в виду. Особенно watchdog. 4) Тоже интересно, спасибо 2 Alhen А можно поподробнее насчет двух ног? Торможу видимо... 2 Romanello Вот это по-нашему!! Всем спасибо, пошел пробовать :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 25 марта, 2005 Опубликовано 25 марта, 2005 · Жалоба 2 Victor® 1) Гм... А как хоть по аглицки этот "антидребезг" должен звучать? Я так понял смотреть нужно в хелп? <{POST_SNAPBACK}> антидребезг - debounce Микросхемы смотреть здесь: http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1896 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alhen 0 25 марта, 2005 Опубликовано 25 марта, 2005 · Жалоба to Гяук Вот пример на AHDL TITLE "EPR"; Subdesign EPR ( CLK32x :input; -- PIN 54 Button_S :input; -- PIN 49 Button_R :input; -- PIN 47 ....... ) Variable C[1..0] :TFF; PScaler[18..0] :TFF; DEBOUNCER :SRFF; BEGIN PScaler[].clk = CLK32x; PScaler[0].t = VCC; -- 16 MHz ....... PScaler[15].t = PScaler[0] & PScaler[1]...... DEBOUNCER.clk = PScaler[15]; DEBOUNCER.s = !Button_S; DEBOUNCER.r = !Button_R; ....... END; Ну и на рисунке схема Кстати есть опыт использования MAX6816. Микросхема не плохая, даже очень, но заметили что немного тормозная т.е. если где в приложении надо будет сделать дабл клик как на мышке то наврядтли получится, она не успеет очухаться от первого клика. Но это не испортило впечатления. цену не знаю досталась по случаю, вдруг это испортит картину. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LV26 0 26 марта, 2005 Опубликовано 26 марта, 2005 · Жалоба Здесь есть на VHDL (debouncer) + еще несколько IP http://www.alse-fr.com/English/ips.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 28 марта, 2005 Опубликовано 28 марта, 2005 · Жалоба 2 Victor® По поводу дебоунсера корка какая-то маловнятная (пользуясь всеми подсказками данными на форуме мне проще что-то свое сваять), но за ссылку спасибо :) 2 Alhen Идею понял, спасибо. И, это, можно вопрос... А Вы правда из КАРАГАНДЫ??? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Димыч 0 28 марта, 2005 Опубликовано 28 марта, 2005 · Жалоба Да, со счетчиком все работает весьма сладко: // debouncer reg [3:0] debouncer; parameter hold_time = 10; always @(posedge clk) if(in_to_debouncing) debouncer <= hold_hime; else if(debouncer > 0) debouncer <= debouncer - 1; wire in_debounced = (debouncer != 0); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alhen 0 29 марта, 2005 Опубликовано 29 марта, 2005 · Жалоба 2Гяук, я однозначно из Караганды "мы ррузские дрругх друха не обманываем", а что? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DLR 0 29 марта, 2005 Опубликовано 29 марта, 2005 · Жалоба Поставь кондер! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zvs 0 31 марта, 2005 Опубликовано 31 марта, 2005 · Жалоба 2Гяук, я однозначно из Караганды "мы ррузские дрругх друха не обманываем", а что? <{POST_SNAPBACK}> Гм, да нет, ничего, просто соратник на работе глазастый попался - пригляделся: "Вот, говорит, народ стебается" - а я решил спросить :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться