新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA的機(jī)載顯示系統(tǒng)架構(gòu)設(shè)計(jì)與優(yōu)化

基于FPGA的機(jī)載顯示系統(tǒng)架構(gòu)設(shè)計(jì)與優(yōu)化

作者: 時(shí)間:2014-11-05 來(lái)源:網(wǎng)絡(luò) 收藏

  隨著航空電子技術(shù)的不斷發(fā)展,現(xiàn)代機(jī)載視頻圖形顯示系統(tǒng)對(duì)于實(shí)時(shí)性等性能的要求日益提高。常見(jiàn)的系統(tǒng)架構(gòu)主要分為三種:

本文引用地址:http://butianyuan.cn/article/264924.htm

  (1)基于GSP+VRAM+的架構(gòu),優(yōu)點(diǎn)是圖形能夠有效提高圖形顯示質(zhì)量和速度,缺點(diǎn)是國(guó)內(nèi)復(fù)雜設(shè)計(jì)成本極高以及工藝還不成熟。

  (2)基于+的架構(gòu),優(yōu)點(diǎn)是,充分發(fā)揮對(duì)算法分析處理和對(duì)數(shù)據(jù)流并行執(zhí)行的獨(dú)特優(yōu)勢(shì),提高圖形處理的性能;缺點(diǎn)是,上層CPU端將OpenGL繪圖函數(shù)封裝后發(fā)給,DSP拆分后再調(diào)用,系統(tǒng)的集成度不高,接口設(shè)計(jì)復(fù)雜。

  (3)基于FPGA的SOPC架構(gòu),優(yōu)點(diǎn)是,集成度非常高;缺點(diǎn)是邏輯與CPU整合到一起,不利于開(kāi)發(fā)。

  經(jīng)過(guò)對(duì)比,機(jī)載視頻圖形顯示系統(tǒng)的架構(gòu)設(shè)計(jì)具有優(yōu)化空間,值得進(jìn)一步的深入研究,從而設(shè)計(jì)出實(shí)時(shí)性更高的方案。

  本文設(shè)計(jì)一種基于FPGA的圖形生成與視頻處理系統(tǒng),能夠?qū)崿F(xiàn)2D圖形和字符的繪制,構(gòu)成各種飛行參數(shù)畫(huà)面,同時(shí)疊加外景視頻圖像。在保證顯示質(zhì)量的同時(shí),對(duì)其進(jìn)行優(yōu)化,進(jìn)一步提高實(shí)時(shí)性、減少內(nèi)部BRAM的使用、降低DDR3的吞吐量。

  1 總體架構(gòu)設(shè)計(jì)

  本系統(tǒng)總體設(shè)計(jì)方案如圖 1所示。以Xilinx的Kintex-7 FPGA為核心,構(gòu)建出一個(gè)實(shí)時(shí)性高的機(jī)載視頻圖形顯示系統(tǒng)。上層CPU接收來(lái)自飛控、導(dǎo)航等系統(tǒng)的圖形和視頻控制命令,對(duì)數(shù)據(jù)進(jìn)行格式化和預(yù)處理后,通過(guò)PCIe接口傳送給FPGA。本文主要是進(jìn)行FPGA內(nèi)部邏輯模塊的設(shè)計(jì)和優(yōu)化。

  

 

  圖1 機(jī)載顯示系統(tǒng)總體設(shè)計(jì)框圖

  2 機(jī)載顯示系統(tǒng)架構(gòu)設(shè)計(jì)

  機(jī)載顯示系統(tǒng)設(shè)計(jì)主要包括2D繪圖、視頻處理和疊加輸出。2D繪圖功能包括直線、圓、字符等的快速生成。視頻處理功能包括輸入視頻選擇、視頻縮放、旋轉(zhuǎn)、翻轉(zhuǎn)等處理。疊加輸出功能,將視頻作為背景與圖形疊加,送到兩路DVI輸出,一路經(jīng)過(guò)預(yù)畸變校正后輸出到平顯上,另一路直接輸出來(lái)進(jìn)行地面記錄。

  為了滿足上述功能,F(xiàn)PGA邏輯設(shè)計(jì)的整體流程圖如圖2所示。

  

 

  圖2 FPGA邏輯設(shè)計(jì)的整體流程圖

  2.1 實(shí)時(shí)性分析

  視頻處理既要實(shí)現(xiàn)單純的外視頻處理,同時(shí)能夠?qū)崿F(xiàn)疊加后視頻處理。以旋轉(zhuǎn)處理為例,若在單純外視頻旋轉(zhuǎn)處理后,與圖形疊加,再進(jìn)行疊加后旋轉(zhuǎn)處理,延遲非常大。因此為了提高實(shí)時(shí)性,考慮將圖形整體和外視頻分別進(jìn)行旋轉(zhuǎn)處理后,再相互疊加。整個(gè)流程中,幀速率提升模塊延遲最大。

  2.1.1 幀速率提升算法

  幀速率提升指在原有的圖像幀之間插值出新的圖像幀。常見(jiàn)的幀速率提升算法主要包括幀復(fù)制法、幀平均法和運(yùn)動(dòng)補(bǔ)償法。綜合考慮顯示效果和實(shí)時(shí)性要求,最終選擇幀復(fù)制法。幀復(fù)制法易于實(shí)現(xiàn)、計(jì)算量低。其表達(dá)式為:

  

 

  此處輸入PAL視頻幀速率為25幀/秒,輸出DVI視頻幀速率為60幀/秒,即在0.2s內(nèi)將5幀圖像插值到12幀。如圖3所示,DDR3中開(kāi)辟5幀存儲(chǔ)空間用于存放25Hz的原始圖像,在0.2 內(nèi)輸入5幀原始圖像,輸出12幀圖像。延遲為PAL的1.5~2.6幀,最大延遲為。

  

 

  圖3 幀速率提升示意圖

  2.2 BRAM資源占用

  本文設(shè)計(jì)的機(jī)載顯示系統(tǒng)利用一片DDR3作為外部存儲(chǔ)器,所有圖形和視頻數(shù)據(jù)都需要緩存到DDR3中。為了解決數(shù)據(jù)存儲(chǔ)沖突,需要將數(shù)據(jù)先緩存到內(nèi)部BRAM中。XC7k410T共有795個(gè)36Kb的BRAM。整個(gè)流程中,BRAM資源占用最大的是圖形整體旋轉(zhuǎn)和視頻旋轉(zhuǎn)模塊。

  2.2.1 視頻旋轉(zhuǎn)算法

  

 

  反向旋轉(zhuǎn)映射優(yōu)點(diǎn)是,旋轉(zhuǎn)后坐標(biāo)反向旋轉(zhuǎn),除了超出原始坐標(biāo)范圍的,在旋轉(zhuǎn)前坐標(biāo)中都能對(duì)應(yīng)到浮點(diǎn)坐標(biāo),并可以用該坐標(biāo)鄰域的像素點(diǎn)來(lái)唯一確定該坐標(biāo)的像素值,不會(huì)出現(xiàn)“空洞”現(xiàn)象。

  

 

  

 

  圖4 視頻旋轉(zhuǎn)算法示意圖

  2.3 DDR3吞吐量分析

  本系統(tǒng)處理的數(shù)據(jù)量大,F(xiàn)PGA內(nèi)部的存儲(chǔ)資源無(wú)法滿足數(shù)據(jù)存儲(chǔ)要求,需要配置系統(tǒng)外部存儲(chǔ)器DDR3。從圖2可以看出,整個(gè)系統(tǒng)流程最多經(jīng)過(guò)DDR3共9次,下面依次介紹每次讀寫(xiě)DDR3的必要性和數(shù)據(jù)量。

 ?、?圖形及字符生成模塊讀寫(xiě)數(shù)據(jù),由于圖形及字符生成時(shí),沒(méi)有嚴(yán)格按照屏幕自上而下、自左而右的順序,所以每一幀圖形都需要存入到DDR3中,并等待一幀處理完再進(jìn)行整體的其他處理。由于像素點(diǎn)操作會(huì)涉及到讀取背景值,所以是雙向的??紤]吞吐量最大的情況,即圖形生成模塊對(duì)每幀圖形的一半像素點(diǎn)都進(jìn)行一次讀寫(xiě)操作,則圖形生成模塊讀寫(xiě)數(shù)據(jù)量為

  

 

  ② 圖形縮放模塊讀數(shù)據(jù)及清屏操作,由于縮放模塊是對(duì)整個(gè)畫(huà)面的處理,所以需要從DDR3中讀取出來(lái)。而由于圖形及字符不是對(duì)每個(gè)像素點(diǎn)都進(jìn)行操作的,所以取出后,需要進(jìn)行清屏操作。則讀寫(xiě)數(shù)據(jù)量為474.6。

 ?、?圖形旋轉(zhuǎn)模塊寫(xiě)數(shù)據(jù),由于圖形處理速度和視頻處理速度不完全匹配,所以先將縮放及旋轉(zhuǎn)后的數(shù)據(jù)存儲(chǔ)到DDR3,等待視頻處理完后,再統(tǒng)一取出,寫(xiě)數(shù)據(jù)量為237.3 MB/s。

 ?、?圖形輸出讀數(shù)據(jù),同時(shí)進(jìn)行平移、翻轉(zhuǎn)、鏡像等坐標(biāo)變換操作,寫(xiě)數(shù)據(jù)量為237.3 MB/s。

  ⑤ PAL視頻輸入數(shù)據(jù),為了實(shí)現(xiàn)去隔行和幀速率轉(zhuǎn)換,必須將數(shù)據(jù)存儲(chǔ)到DDR3中進(jìn)行變換操作,讀寫(xiě)數(shù)據(jù)量為

  

 

  ⑥ 視頻縮放模塊讀數(shù)據(jù),從DDR3中取出進(jìn)行縮放操作,讀數(shù)據(jù)量為

  

fpga相關(guān)文章:fpga是什么



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: FPGA DSP ASIC

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉