Advertisement

FPGA设计:按键去抖

阅读量:

按键去抖处理,指的是在按键闭合或释放的瞬间产生的连续抖动现象,这种抖动会对系统设计的稳定性造成影响,并削弱其响应灵敏度。因此,必须采取相应措施来消除这种抖动带来的干扰。在实际工程应用中,存在多种消抖方法,例如利用RS触发器进行消抖、通过电容充放电实现消抖以及采用软件方式进行消抖。本章将基于FPGA内部资源进行消抖设计,具体采用软件方式实现。

按键的机械特性决定了其抖动持续时间,通常该时间范围为5ms至10ms。所谓消抖,即是在按键闭合或释放的过程中,跳过这一段不稳定的时间区间以检测其最终状态。通过设置适当的延时操作即可完成对按键抖动的有效抑制。

1.硬件系统架构概述

本设计中配置了两个用户操作按键,分别标识为BTN0与BTN1。其中BTN0的功能为系统复位,而BTN1则用于操控四个用户LED灯的状态。每当BTN1被按下一次,对应的LED灯状态将发生一次反转。具体而言,需检测按键是否存在闭合与断开的动作过程,若检测到该过程,则首次触发时LED灯将被点亮,再次触发时则会熄灭。

1.2 时序设计

鉴于按键本身的物理特性,每次完成闭合与断开动作时,均会经历抖动、稳定、再次抖动以及再次稳定的阶段。因此,在判断按键是否被按下时,必须实施两次消抖操作。通过对按键输入信号的检测,当发现BTN1处于低电平状态时,启动计数器并进行10毫秒的延时处理,随后再次检测BTN1的状态

全部评论 (0)

还没有任何评论哟~