圖1 未經過濾波處理的開關信號
圖2 延遲濾波程序流程圖
當檢測到開關信號的狀態(tài)發(fā)生變化時( 這里以由‘0’變到‘1’為例) ,計數(shù)器開始計時,當計數(shù)器的計數(shù)值計到N 時,如果開關信號仍保持為變化之后的狀態(tài)‘1’,則輸出‘1’,否則,認為這是一個干擾脈沖,將其濾除。當采樣時鐘的頻率為5 kHz 時,TCLK = 0. 2 ms,要實現(xiàn)2 ms 的延時時間,若計數(shù)器初始值為0,那么計數(shù)器模值N = 9。具體的 VHDL語言 程序進程如下:
1. 3 延時濾波程序仿真
分別將開關信號din 設置成理想信號和抖動信號,利用QuartusⅡ8. 0 軟件進行仿真,圖3 和圖4 分別為理想信號和抖動信號的延時濾波仿真波形圖。