一、应用背景
按键一般在电子产品属于人机交互部分。用户一般可以通过按键作为某些功能的触发按钮,触发指定的功能。在消费类电子产品中,手机,电脑都存在按键部分,手机可以通过按键调节音量的大小功能等,笔记本电脑可以通过按键进行打字功能等。由于生产成本低使用寿命长,在嵌入式产品中得到了广发的应用。
二、按键消抖控制原理介绍
按键开关是一种电子开关,属于电子元器件类。一种是轻触式按键开关,一种是自锁式开关。使用时以向开关的操作方向施加压力使内部电路闭合接通,当撤销压力时开关断开,其内部结构是靠金属弹片受力后发生形变来实现通断的;第二种是自锁按键,自锁按键第一次按下后保持接通,即自锁,第二次按下后,开关断开,同时开关按钮弹出来。本次应用实例主要对轻触开关的控制原理进行讲解。
轻触式按键在按下和释放的瞬间存在抖动的现象,按键机械触点断开、闭合时,由于触点的弹性作用,按键开关不会马上稳定接通或一下子断开,使用按键时会产生图按键抖动说明图 中的带波纹信号,需要用软件消抖处理滤波,不方便输入检测。
在FPGA控制检测按键按下的过程当中,通过FPGA内部延时的方式,将前抖动和后抖动的滤除掉,使FPGA能够稳定的检测到稳定的时间段。FPGA代码通过三段式状态机的形式实现对按键消抖功能进行实现。应用实例的硬件原理图部分如下图所示:
三、总结
本节主要介绍按键触发和释放过程当中抖动产生的原因,FPGA软件部分消抖过程的原理,应用实例硬件的原理图介绍。下一节主要对按键消抖代码讲解和板上验证。