去抖动可以分为硬件去抖动和软件去抖动:硬件去抖动使用积分器或低通滤波器滤除关键抖动,而软件去抖动则通过编程解决。基于此,本文介绍了基于VHDL语言的计数器型防抖动电路、D触发器型防抖动电路和状态型防抖动电路的工作原理、相关程序、波形仿真和结果分析,并已下载到EP中,但必须注意的是,此防抖动电路仅用于物理电路。
消除抖动有两种方法:硬件和软件。最后,我们必须进行滤波:硬件滤波、软件滤波硬件-应在采样端口和AD端口之间添加一个滤波电路。一般来说,电容很少用于消除抖动。使用电容器来消除抖动不仅增加了硬件成本,而且如果不合适,还会增加电容器的电容值。目前,滤波方法主要有维纳滤波和卡尔曼滤波。自适应滤波中的LMS实际上是可变系数的维纳滤波,维纳滤波本身是线性滤波,FIR和IIR是传统的频域滤波方法。
硬件抖动消除是做一个积分滤波器(简单做一个RC电路)滤除严重抖动;如果用软件消除抖动,原理是连续检测。如果检测到按键信号输入,它将延迟一段时间(例如,电容器可以消除按键抖动。利用电容器两端电压不会突然变化的特性,将其并联在机械触点两端,以消除触点抖动引起的毛刺电压。滤波效果较差,片上验证表明抗抖动效果良好,性能稳定,可广泛应用于FPGA的关键电路中。
最简单的RC滤波也是可行的。以下为按键输出电平示意图:可以看出,去抖动是为了避免按键按下或抬起时电平剧烈抖动的影响,方法:设置一个过滤计数器,将每个采样值与当前有效值进行比较:如果采样值=当前有效值,则计数器清零;如果采样值是电流有效值,则计数器、电容F、电感H。
文章TAG:消抖 电路 抖动 硬件 软件