基于VHDL语言的几种消抖电路的设计

EDA/PCB 时间:2011-04-13来源:网络

主要程序结构如下:
g.JPG
图4为D触发器型消抖电路波形仿真图,由图可见,当按键操作时间大于或等于clk时钟周期的3倍时,输出一个正脉冲,正脉冲的宽度比key_in少2个clk时钟周期。

i.JPG


D触发器型消抖电路与计数器型消抖电路(一)相似,计数器型消抖电路(一)输出脉冲宽度是固定的,D触发器型消抖电路输出脉冲宽度随着按键操作时间长短变化。

3 状态机型消抖电路
状态机型消抖电路采用有限状态机的设计方法来描述与实现,状态机有S0,S1,S2三种状态,在S0状态下key_out输出为低电平,并以clk时钟信号的频率采样按键输入信号,如果key_in=‘0’,则保持在S0状态,并继续采样按键输入信号的状态,如果key_in=‘1’,则转入S1状态;在S1状态下key_out输出仍为低电平,继续采样按键输入信号的状态,如果key_in=‘1’,则转入S2状态,如果key_in=‘0’则转入
S0状态;在S2状态下继续采样按键输入信号的状态,如果key_in=‘1’,则保持在S2状态,key_out输出正脉冲,如果key_in=‘0’,则转入S0状态,key_out输出低电平。
主要程序结构如下:
j.JPG
图5为状态机型消抖电路波形仿真图,由图可见,该状态机型消抖电路与D触发器型消抖电路仿真结果一致。

k.JPG



4 结束语
采用VHDL语言实现按键的消抖电路的方法有很多,本文介绍的几种消抖电路都通过仿真分析及实验验证,消抖效果良好,性能稳定,而且各有自己的优势与缺点,设计者可以根据设计需求选择使用。

1 2 3

关键词: VHDL 消抖电路

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版