📜  数字电路中的开关去抖动

📅  最后修改于: 2021-09-16 10:41:24             🧑  作者: Mango

我们都知道开关或按钮的工作原理,您只需按下它即可切换其状态。在电子学中,开关被用来驱动或代表很多东西,它们主要以不同电压电平的形式存在,从而使系统二进制化,即要么ON要么OFF,电压电平为High或Low。因此,这些电压电平(例如 5 伏 = 高 = 开 = 闭路,0 伏 = 低 = 关 = 开路)有助于我们表示 0(零)和 1(一)的二进制逻辑。

图 –正常开关图

但是在我们键盘和其他各种设备上的简单按钮下发生了很多事情。一个简单的按钮基本上是在用户输入下触摸的两个金属触点,即按钮上的按压动作。这些金属触点然后使底层电路完整并通知传感元件(在大多数情况下是微控制器)按钮被按下。

图 –开关弹跳图

这种接触金属触点的动作在物理上以不同的方式工作,即金属触点相互弹跳,在用户的按压动作冲击后使开关接通和断开一段时间。因此,如果传感元件足够灵敏,它会从单个动作中记录多个按钮按下。这可能会在您使用的系统中引入错误,并会阻碍许多进程。

因此,为了避免对按钮按下的这种错误解释,需要开关去抖动的概念。这有助于正确注册交换机的操作。开关去抖可以通过软件编程和硬件电路的使用来实现。让我们简要地研究一下这些方法。

软件开关去抖动:
在这种方法中,使用各种算法和滤波器消除了开关的弹跳状态效应。程序员可以设计一种使用移位寄存器和计数器的算法,以便在延迟后注册开关的状态。另一种方法是对来自开关的采样输入使用滤波器算法,并根据这种数字滤波器的输出确定开关的状态。所有这些都可能使软件效率稍低,如果未正确实施,则会增加性能延迟。

硬件开关去抖动:
在此类别中,有多种电路实现方式可用于在硬件级别消除开关去抖动的影响。使用的不同类型的电路是:

图 –使用 SR 触发器锁存器的开关去抖

使用 SR Flip Flop Latch 电路。该电路在开关的输出部分引入时,将保持输入的电压电平作为输出状态。因此,当引入状态变化时,锁定输入。这种方法很有用,但增加了简单电路的体积。

图 –使用 RC 滤波器的开关去抖动

RC电路的使用。该电路包括一个电阻器和一个电容器电路的组合,用作滤波器来平滑开关的输出毛刺。

使用专用IC。市场上有各种专门设计用于消除开关弹跳动作的集成电路。这些实现了使用组合电路来消除开关的波动输出。