基于FPGA的多路視頻通道控制
用電平撥動開關信號作為輸入,制作了一個脈沖信號用于識別開關動作,其代碼如下:
代碼中寄存器level_contrl_TEMP存儲level_contrl延時256個時鐘周期后的信號,然后用level_eontrl_TEMP中存儲的信號與level_co-ntrl的值相異或產生所需要的脈沖信號。
調試中發(fā)現,去抖動后的信號經?;煊谐掷m(xù)時間很短的高頻脈沖干擾信號,因此設計中使用兩級D觸發(fā)器延時來徹底消除高頻脈沖干擾,其程序代碼如下:
2.2 雙口RAM及開關信號編碼設計
雙口RAM分為真、假2種雙口。真雙口2個端口都可以讀寫,互不干擾。本次設計根據實際需要,添加的RAM模塊一端只讀,另一端只寫,讀寫互不干擾。根據上述分析可知,開關控制信號只能知道有開關控制動作發(fā)生,但是不能識別具體哪個開關發(fā)生了動作。因此,設計中首先利用MegaWizardPlug_In Manager中的宏功能塊RAM:2_PORT產生1個雙口RAM存儲塊,然后對這個宏功能模塊的參數進行適當調整,產生一個滿足自己特定要求的模塊,如圖5所示。
評論