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