頻毛刺;另一種是時間較長的干擾信號,如開關(guān)抖動。這里的撥動開關(guān)都是人為操作,因此每次觸發(fā)的時間都不會很短,一般小于10 hz。根據(jù)上述分析開關(guān)抖動信號屬于后一種。因此在每次開關(guān)操作后,對其產(chǎn)生的信號進行連續(xù)采樣,如果每次采樣都是低電平或者都是高電平,就認為此信號不是抖動,確實開關(guān)狀態(tài)發(fā)生了變化。整個設(shè)計過程使用verilog硬件描述語言編寫,然后在quartusⅱ平臺上編譯,并采用signaltapⅱlogic arlalvzer對信號采樣分析,調(diào)試通過后連同其他程序一起燒寫進fpga的配置器件epcsl6中。圖2~圖4分別是各個開關(guān)動作去抖動前和去抖動后的實時信號采樣圖。去抖動模塊中的部分代碼如下: 其中,clk為13.5 mhz頻率的時鐘信號,clk_cnt為采樣時間間隔計數(shù)器,當clk_cnt為135 000時采樣1次,即每隔10 ms采樣1次。寄存器shuru_temp存儲前一次開關(guān)信號狀態(tài),shum存儲當前開關(guān)信號狀態(tài)。如果shuru_temp的值等于shtlm的值,則計數(shù)器test_cnt自動加l。如果連續(xù)4次采樣值相等,即test_cnt=4時去抖動輸出才隨輸入變化。
頻毛刺;另一種是時間較長的干擾信號,如開關(guān)抖動。這里的撥動開關(guān)都是人為操作,因此每次觸發(fā)的時間都不會很短,一般小于10 hz。根據(jù)上述分析開關(guān)抖動信號屬于后一種。因此在每次開關(guān)操作后,對其產(chǎn)生的信號進行連續(xù)采樣,如果每次采樣都是低電平或者都是高電平,就認為此信號不是抖動,確實開關(guān)狀態(tài)發(fā)生了變化。整個設(shè)計過程使用verilog硬件描述語言編寫,然后在quartusⅱ平臺上編譯,并采用signaltapⅱlogic arlalvzer對信號采樣分析,調(diào)試通過后連同其他程序一起燒寫進fpga的配置器件epcsl6中。圖2~圖4分別是各個開關(guān)動作去抖動前和去抖動后的實時信號采樣圖。去抖動模塊中的部分代碼如下: 其中,clk為13.5 mhz頻率的時鐘信號,clk_cnt為采樣時間間隔計數(shù)器,當clk_cnt為135 000時采樣1次,即每隔10 ms采樣1次。寄存器shuru_temp存儲前一次開關(guān)信號狀態(tài),shum存儲當前開關(guān)信號狀態(tài)。如果shuru_temp的值等于shtlm的值,則計數(shù)器test_cnt自動加l。如果連續(xù)4次采樣值相等,即test_cnt=4時去抖動輸出才隨輸入變化。