首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

按键消抖的原理和基于verilog的消抖设计

按键消抖的原理和基于verilog的消抖设计

按键开关是各种电子设备不可或缺的人机接口。在实际应用中,很大一部分的按键是机械按键。在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理。
在系统设计中,有各种各样的消除按键抖动的设计方法,硬件电路和软件设计都很成熟。不过我们这里要从另外一个角度来讨论按键的消抖,并给出一个用verilog给出一个具体的实现。
首先,看一个普通的机械按键的触点在闭合与断开时的波形(用示波器抓取)。
下面的四张图都是按键在闭合的时候抓到的波形。可以看到两个明显的趋势:
1. 按键在几个us之内就可以达到稳定状态,从高电平转换到底电平;
2. 在高电平转换到低电平的过程中,触点有非常明显的抖动。

下面的两张图是按键在断开的时候抓到的波形。也可以看到两个明显的趋势:
1. 按键的变化趋势比较缓慢,从低电平变为高电平需要大概10~20ms的时间;
2. 按键断开时没有闭合时那么大的抖动

下面两张图是用手迅速闭合按键然后就断开时,按键的输出波形。
继承事业,薪火相传
返回列表