Содержание
1. Вступление
2. Общие сведения
3. Аппаратные методы фильтрации помех
4. Программные методы фильтрации помех
Вступление
Любые контакты, даже самые лучшие, оказывается, замыкаются не сразу. Их надежному соединению препятствует целая серия соударений, которая длится около 1 миллисекунды и даже более. То есть, если мы нажали кнопку и удерживаем ее нажатой в течение половины секунды, это вовсе не значит, что сформировался всего один импульс такой длительности. Его появлению предшествует несколько десятков, а может даже сотен импульсов. Это явление приводит к формированию пачки импульсов (вместо требуемого одиночного импульса), могущих вызвать многократное непредсказуемое срабатывание схемы цифрового устройства.
Помехи, вызванные дребезгом контактов, обычно называют «шумом» или «звоном».
Нечувствительными к дребезгу являются входы начальной установки триггеров, счетчиков и регистров (обнуление по входам R). В этом случае подавление дребезга не требуется.
Общие сведения
Время дребезга лежит в диапазоне от 1 до 100 мс и зависит от конструкции контакта.
Из-за чего же происходит дребезг? Причин тут две:
1) Конструкция механической кнопки, которая не позволяет надежно за короткое время зафиксировать контакт.
2) Контакт, который покрыт тончайшим слоем оксида, не проводящим электричество.
В момент замыкания происходит ионизация промежутка и возникает дуга, спекающая контакты вместе. Чем больше сила тока через контакты, тем быстрее происходит "спекание".
Рис.1 – Процесс нажатия и отжатия клавиши
Чтобы устранить дребезг контактов, используются специальные схемы или программные методы для подавления «шума».
Аппаратные методы фильтрации помех
Аппаратные способы реализуются в виде следующих типов схем:
• схемы на основе RC цепочек
• триггерные схемы
Один из простых схемотехнических способов устранения «звона» состоит в подключении RC-цепи. В этой схеме время, требуемое для заряда разряда конденсатора до порогового напряжения, маскирует «шум» контактов при переключении. Можно также установить триггер Шмитта между схемой ключа и МК, чтобы усилить эффект подавления «шума».
Рис. 2 – RC-цепь с триггером Шмитта
Простейшая триггерная схема для устранения дребезга имеет вид:
Рис. 3 – Антидребезговое устройства на основе RS-триггера
Такая схема применяется в том случае, когда кнопка или датчик выполнены в виде группы переключающихся контактов. Как видно из схемы, на оба входа RS-триггера через токоограничивающие резисторы подано напряжение питания. Благодаря этому, на том входе RS-триггера, который не подключен в данный момент к подвижному контакту, присутствует сигнал логической единицы (входное сопротивление логической микросхемы обычно столь велико, что оно не влияет на величину входного напряжения).
Если подвижный контакт замыкает вход на общий провод, то напряжение на нем падает до нуля. А это соответствует низкому логическому уровню. При нажатии и отпускании кнопки (срабатывании датчика) подвижный контакт соединяет с общим проводом то один, то другой вход RS-триггера. При этом триггер переключается из одного устойчивого положения в другое. Допустим, подвижный контакт переходит в нижнее по схеме положение.
В момент замыкания контактов происходит их дребезг. Как только на вход триггера приходит первый отрицательный импульс из пачки импульсов, обусловленных дребезгом, триггер переключается, и на выходе устройства устанавливается логический ноль. Остальные импульсы уже не изменят состояния триггера.
Это состояние изменится на обратное только тогда, когда подвижный контакт сначала разомкнётся с нижним по схеме контактом, преодолеет расстояние от нижнего контакта до верхнего, а затем замкнется с верхним. Как только на верхний по схеме вход RS-триггера поступит первый отрицательный импульс, наш триггер переключится, и на выходе устройства появится логическая единица. В единичном состоянии триггер будет находиться до тех пор, пока контакт опять не переключится в нижнее положение.
Недостатки аппаратных методов подавления «шума»:
Дополнительные затраты на компоненты, которые должны быть установлены на плате, и дополнительное время, требуемое для заряда/разряда RC-цепи. Все это может затруднить использование аппаратных методов подавления «шума», так как для некоторых ключей с большим уровнем шумов дополнительная задержка может составить десятые доли секунды.
Значительно лучший способ избавиться от «шума» – сделать это программно.