太原航空儀表有限公司 賈萬(wàn)春
現(xiàn)代飛機(jī)座艙顯示系統(tǒng)要求高分辨率大屏幕顯示,這對(duì)圖形處理器的速度要求越來(lái)越高.本文重點(diǎn)介紹FPGA如何實(shí)現(xiàn)雙雙乒乓模式,采用雙圖形處理器的構(gòu)架,各輸出1024×768的視頻信號(hào),通過(guò)FPGA進(jìn)行拼接融合后輸給液晶顯示屏,有效避免了圖形處理器速度的瓶頸,實(shí)現(xiàn)了高分辨率大屏幕顯示。
本設(shè)計(jì)的關(guān)鍵是建立在Altera的FPGA(EP2S60F1020I4N)基礎(chǔ)上,開(kāi)發(fā)片上處理系統(tǒng)。該設(shè)計(jì)是在Quartus II9.0完成。
圖像最終輸出分辨率為1560×1080@60Hz像素時(shí)鐘為119.5 MHz,外部RAM速度為100 MHz,如果采用高速RAM 將會(huì)帶來(lái)更高成本,而外部輸入1024×768@60Hz像素時(shí)鐘為65 MHz,所以采用雙乒乓模式實(shí)現(xiàn)圖像合成,即FPGA外部RAM和內(nèi)部RAM,片外RAM的主要作用是儲(chǔ)存外部輸入的1幀圖像,通過(guò)外部RAM寫(xiě)地址控制器和外部RAM讀地址及讀寫(xiě)操作控制器控制,同時(shí)將圖像扭轉(zhuǎn)90度。此時(shí)寫(xiě)外部RAM頻率為65MHz,讀外部RAM的速度為60 MHz,乒乓切換控制靠液晶屏驅(qū)動(dòng)時(shí)序場(chǎng)信號(hào)分頻來(lái)完成。
圖1 系統(tǒng)結(jié)構(gòu)框圖
將同一時(shí)間從兩片外部RAM中讀出的兩行數(shù)據(jù)同時(shí)放入兩片內(nèi)部RAM中,通過(guò)片內(nèi)部RAM操作控制器控制片內(nèi)部RAM,讀內(nèi)部RAM的速度為120MHz,讀地址分為高位地址和低位地址兩部分,順序讀取兩片片內(nèi)RAM,可以有效顯示一行,顯示時(shí)左半屏為第一路視頻圖像,右半屏為第二路視頻圖像,完成圖像合成(見(jiàn)圖1)。
系統(tǒng)輸入的時(shí)鐘信號(hào)為兩部分組成,一部分為外部圖像輸入的65 MHz像素時(shí)鐘,一部分是系統(tǒng)自帶的60MHz時(shí)鐘。60MHz時(shí)鐘倍頻后是為驅(qū)動(dòng)液晶屏119.5MHz像素時(shí)鐘所用,而在操作外部RAM時(shí)它是作為取數(shù)據(jù)地址產(chǎn)生的源頭。兩部分時(shí)鐘頻率不同但刷新頻率一樣,同為60Hz,所以采用輸人視頻信號(hào)的場(chǎng)同步一次分頻作為同步控制信號(hào),也作為以下讀取外部RAM的讀/寫(xiě)控制信號(hào)。
將外部輸入圖像的時(shí)序的時(shí)鐘信號(hào)在使能信號(hào)有效情況下進(jìn)行分頻計(jì)算出行地址,將使能信號(hào)在場(chǎng)信號(hào)有效情況下分頻計(jì)算出列地址,地址尋址空間為1024×768,將輸入圖像場(chǎng)信號(hào)一次分頻作為讀寫(xiě)操作的控制信號(hào)。
將系統(tǒng)輸入60MHz時(shí)鐘在液晶屏驅(qū)動(dòng)時(shí)序生成器輸入的使能信號(hào)有效的情況下分頻計(jì)算出讀外部RAM的行地址,將液晶屏驅(qū)動(dòng)時(shí)序生成器輸入的使能信號(hào)在其輸入的場(chǎng)信號(hào)有效的情況小分頻計(jì)算出讀外部RAM的列地址,尋址空間為780×1080,將其旋轉(zhuǎn)90度后變?yōu)?080×780,完全覆蓋寫(xiě)入數(shù)據(jù)空間,將輸入圖像場(chǎng)信號(hào)一分頻作為讀操作控制信號(hào)。
根據(jù)讀/寫(xiě)操作控制信號(hào)指令,在寫(xiě)操作有效時(shí)將外部RAM寫(xiě)地址控制器輸入的寫(xiě)外部RAM地址、寫(xiě)操作控制信號(hào)發(fā)送給外部RAM,同時(shí)將FPGA數(shù)據(jù)總線設(shè)置為輸出模式把外部圖像數(shù)據(jù)發(fā)送給外部RAM。
在讀操作有效時(shí)將外部RAM讀地址及讀寫(xiě)操作控制器輸入的讀外部RAM地址、讀操作控制信號(hào)發(fā)送給外部RAM,同時(shí)將FPGA數(shù)據(jù)總線設(shè)置為輸入模式把外部RAM數(shù)據(jù)讀入FPGA的內(nèi)部RAM中。
將液晶屏驅(qū)動(dòng)時(shí)序生成器輸入的120MHz像素時(shí)鐘信號(hào)在其使能有效的情況下分頻計(jì)算出讀地址,讀地址分為高位地址和低位地址兩部分,大于780為高位地址,小于780為低位地址,所以順序讀取兩片片內(nèi)RAM形成一行完整數(shù)據(jù)。將60MHz時(shí)鐘頻率在使能有效的情況下分頻計(jì)算出寫(xiě)地址,使能信號(hào)一分頻作為讀/寫(xiě)內(nèi)部RAM控制信號(hào)。
將外部輸入60MHz時(shí)鐘信號(hào)經(jīng)過(guò)PLL輸出120 MHz作為基準(zhǔn)時(shí)鐘計(jì)數(shù)進(jìn)行行同步信號(hào)生成,以120 MHz基準(zhǔn)時(shí)鐘的11分頻(此頻率和行同步頻率相同)作為基準(zhǔn)計(jì)數(shù)進(jìn)行場(chǎng)同步信號(hào)生成。根據(jù)Vesa標(biāo)準(zhǔn)產(chǎn)生液晶屏驅(qū)動(dòng)信號(hào)。
此設(shè)計(jì)已完成調(diào)試,并應(yīng)用于實(shí)踐,性能穩(wěn)定,成本低、功耗小,實(shí)現(xiàn)了高分辨率大屏顯示,達(dá)到預(yù)期效果。
參考:聞建明,F(xiàn)PGA芯片在視頻圖像實(shí)時(shí)處理中的應(yīng)用:計(jì)算機(jī)應(yīng)用,2009。