标题: 请问在FPGA中如何消除机械开关造成的脉冲抖动? [打印本页]
作者: xbao 时间: 2006-8-18 11:07 标题: 请问在FPGA中如何消除机械开关造成的脉冲抖动?
请问在FPGA中如何消除机械开关造成的脉冲抖动?
有一个按钮接到FPGA的一个引脚上,理想情况是:按钮被按下一次产生一个很纯净的脉冲,但实际情况是:当手按下按钮时,会由于抖动产生一个稳定脉冲和许多窄的脉冲,现在就是想将窄脉冲滤掉,只取稳定脉冲。
如果用VHDL语言,能否实现呢?谢谢各位了 !
作者: stone133 时间: 2006-9-2 10:51
可以实现,消抖电路是一种比较典型的电路,他完成两个作用:按钮按下一次只产生一个脉冲,并且脉冲的宽度是固定的(一般是一个时钟周期的宽度);
做一个计数器,检测到按钮被按下后开始计数,如果在一段时间内(大概几十个毫秒)这个按钮还处于按下的状态,说明确实有按钮按下,就可以产生一个高电平,将这个高电平延时一个时钟周期并取反再与未延时的相与,就可以得到一个时钟周期的宽度的脉冲了;
作者: anotherchen 时间: 2006-9-2 12:01
外部电路也可以加大电容滤滤波吧
作者: stone133 时间: 2006-9-3 18:19
外围电路也有消抖电路,一般是一个双稳态触发器;
如果用软件(单片机或者fpga)来做这个工作,一般的方法就是延时然后再检测,这个实际上是根据工程上的经验来的,因为人按键的速度是有个极限的,而且有一个范围,如果延时调整的好,绝大多数抖动都能够消除
作者: newbeesile 时间: 2006-9-4 11:15
ISE language template里有典型的消抖电路
作者: xbao 时间: 2006-9-4 11:32
谢谢楼上的朋友们!!
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |