一種基于FPGA的多路視頻通道控制系統設計
其中,clk為13.5 MHz頻率的時(shí)鐘信號,clk_cnt為采樣時(shí)間間隔計數器,當clk_cnt為135 000時(shí)采樣1次,即每隔10 ms采樣1次。寄存器shuru_temp存儲前一次開(kāi)關(guān)信號狀態(tài),shum存儲當前開(kāi)關(guān)信號狀態(tài)。如果shuru_temp的值等于shtlm的值,則計數器test_cnt自動(dòng)加l。如果連續4次采樣值相等,即test_cnt=4時(shí)去抖動(dòng)輸出才隨輸入變化。
用電平撥動(dòng)開(kāi)關(guān)信號作為輸入,制作了一個(gè)脈沖信號用于識別開(kāi)關(guān)動(dòng)作,其代碼如下:
代碼中寄存器level_contrl_TEMP存儲level_contrl延時(shí)256個(gè)時(shí)鐘周期后的信號,然后用level_eontrl_TEMP中存儲的信號與level_co-ntrl的值相異或產(chǎn)生所需要的脈沖信號。
調試中發(fā)現,去抖動(dòng)后的信號經(jīng)?;煊谐掷m時(shí)間很短的高頻脈沖干擾信號,因此設計中使用兩級D觸發(fā)器延時(shí)來(lái)徹底消除高頻脈沖干擾,其程序代碼如下:
評論