基于FPGA的LCoS驅動和圖像處理系統(tǒng)設計 (2)
1.6 行場時序控制器模塊
內(nèi)設水平計數(shù)器hcnt和鉛直計數(shù)器vcnt。由于顯示屏每個時鐘周期鎖存8個像素值,因此顯示1 024個像素值所需行周期為128個Tclk(行時鐘周期)。當hcnt計數(shù)器值為HBP時表達行有效顯示區(qū)域結束,hcnt計數(shù)器值為HBP128時表達行有效顯示區(qū)域結束,hent計數(shù)器值為HSYN-Ccycle時,完成一行顯示,vcnt計數(shù)器加1。當vcnt計數(shù)器值為VBP時,鉛直有效顯示區(qū)域結束,當vcnt計數(shù)器值為VBP768時,鉛直有效顯示區(qū)域結束,當vcnt計數(shù)器值為VSYNC cycle時,完成一幀圖像顯示。行場時序關系如圖3所示。
1.7 FFT模塊
FFTV 9.1 IP核采用Cooley-Tukey基-2 DIF算法,其FFT改換原始公式為:
因爲采用了數(shù)據(jù)流模式,經(jīng)過變換的數(shù)據(jù)可以連續(xù)輸出,即輸出數(shù)據(jù)不會因爲圖像數(shù)據(jù)的輸入而制止數(shù)據(jù)輸出,同時輸入數(shù)據(jù)也不也許因為處置后的數(shù)據(jù)正在輸出而制止繼續(xù)輸入,保證了數(shù)據(jù)轉換和傳輸?shù)倪B續(xù)性,提高了數(shù)據(jù)處置的速度和功效。因為FFT通過異步FIFO向屏幕輸出數(shù)據(jù),而FIFO的讀數(shù)據(jù)是寫數(shù)據(jù)的4倍速,假如讀時鐘和寫時鐘都為100 MHz,那么有也許會在某一行里出現(xiàn)FIFO被取空,而無法向屏幕輸出有效數(shù)據(jù)的情況。為保證FIFO向屏幕輸出圖像數(shù)據(jù)的連續(xù)性,就要充分使用VBP,VFP,HBP和HFP的時間,在每一行的開始,如果FIFO沒滿,那麼啓動FFT進行數(shù)據(jù)轉換。若圖像的辨別率爲M×N並且在VBP期間FIFO已被寫滿,則FIFO,F(xiàn)FT核、行場周期以及圖像辨別率間關系的計算公式如下:
式中:Deepth是異步FIFO的數(shù)據(jù)深度,單位為B;THSYNC cycle是行周期;Tclk是異步FIFO,F(xiàn)FT核、行場時序控制器模塊的驅動時鐘周期。當△>O時,系統(tǒng)會連續(xù)實時地處置圖像;當△0。
2 實驗仿真結果和測量結果分析
圖4是采用Modelsim 6.5b進行功能仿確實結果。使用QuartusⅡV9.1自帶的TimeQuest Timing Analyzer進行時序約束后,在實驗板上的場信號測量結果如圖5所示,場掃描頻率已達成368 Hz,經(jīng)測量其他引腳輸出信號也均滿足時序要求。由于FPGA器件資源限制,對圖像做了256點FFT改換,經(jīng)實驗驗證,該設計能夠實現(xiàn)圖像的實時處置,代碼達成了預期設計結果。
3 結語
采用Himax的LCoS屏HX7308BTJFA作爲顯示器件,其尺寸爲14.43mm×10.69mm,大小可跟1枚1元硬幣相比擬,很容易實現(xiàn)三維投影微顯示。因VerilogHDL有很強的可移植性,便于以後對代碼的升級和維護。FPGA內(nèi)部資源畢竟有限,文中敘述可知,若顯示辨別率較大的圖像,光靠內(nèi)部資源實現(xiàn)異步FIFO是不也許的,因此在此提出兩種方案:第一,換一片性能較高的芯片,滿足寫FIFO速率等同讀FIFO速率的要求,這樣就能達到讀/寫數(shù)據(jù)的動態(tài)平穩(wěn),保證了圖像的連續(xù)顯示;第二,采用外部存儲器SDRAM存儲源圖像和FFT處理後的數(shù)據(jù),采用DDRII技術讀取數(shù)據(jù),使讀/寫FIFO的速率匹配。受FPGA芯片資源限制,該設計采用辨別率爲176×144的圖像進行了系統(tǒng)功能驗證,尚未實現(xiàn)圖像濾波以及FFT逆變換,未來可將代碼移植在高端的FPGA芯片上繼續(xù)開發(fā)數(shù)據(jù)處理功能。