【導(dǎo)讀】簡單的說,進入了電子,不管是學(xué)純模擬,還是學(xué)單片機,DSP、ARM等處理器,或者是我們的FPGA,一般沒有不用到按鍵的地方。按鍵:人機交互控制,主要用于對系統(tǒng)的控制,信號的釋放等。因此在這里,F(xiàn)PGA上應(yīng)用的按鍵消抖動,也不得不講!
為什么要消抖動?
如上圖所示,在按鍵被按下的短暫一瞬間,由于硬件上的抖動,往往會產(chǎn)生幾毫秒的抖動,在這時候若采集信號,勢必導(dǎo)致誤操作,甚至系統(tǒng)崩潰; 同樣,在釋放按鍵的那一刻,硬件上會相應(yīng)的產(chǎn)生抖動,會產(chǎn)生同樣的后果。因此,在模擬或者數(shù)字電路中,我們要避免在最不穩(wěn)定的時候采集信號,進行操作。
對此一般產(chǎn)用消抖動的原理。一般可分為以下幾種:
(1)延時
(2)N次低電平計數(shù)
(3)低通濾波
在數(shù)字電路中,一般產(chǎn)用(1)(2)種方法。后文中將詳細介紹。
模擬電路按鍵消抖動
對于模擬電路中,一般消抖動用的是電容消抖動或者施密特觸發(fā)等電路,再次不做具體介紹。施密特觸發(fā)電路如下所示。