<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的機載顯示系統架構設計與優(yōu)化

          基于FPGA的機載顯示系統架構設計與優(yōu)化

          作者: 時間:2014-11-05 來源:網絡 收藏

            隨著航空電子技術的不斷發(fā)展,現代機載視頻圖形顯示系統對于實時性等性能的要求日益提高。常見的系統架構主要分為三種:

          本文引用地址:http://www.ex-cimer.com/article/264924.htm

            (1)基于GSP+VRAM+的架構,優(yōu)點是圖形能夠有效提高圖形顯示質量和速度,缺點是國內復雜設計成本極高以及工藝還不成熟。

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

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

            經過對比,機載視頻圖形顯示系統的架構設計具有優(yōu)化空間,值得進一步的深入研究,從而設計出實時性更高的方案。

            本文設計一種基于FPGA的圖形生成與視頻處理系統,能夠實現2D圖形和字符的繪制,構成各種飛行參數畫面,同時疊加外景視頻圖像。在保證顯示質量的同時,對其進行優(yōu)化,進一步提高實時性、減少內部BRAM的使用、降低DDR3的吞吐量。

            1 總體架構設計

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

            

           

            圖1 機載顯示系統總體設計框圖

            2 機載顯示系統架構設計

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

            為了滿足上述功能,FPGA邏輯設計的整體流程圖如圖2所示。

            

           

            圖2 FPGA邏輯設計的整體流程圖

            2.1 實時性分析

            視頻處理既要實現單純的外視頻處理,同時能夠實現疊加后視頻處理。以旋轉處理為例,若在單純外視頻旋轉處理后,與圖形疊加,再進行疊加后旋轉處理,延遲非常大。因此為了提高實時性,考慮將圖形整體和外視頻分別進行旋轉處理后,再相互疊加。整個流程中,幀速率提升模塊延遲最大。

            2.1.1 幀速率提升算法

            幀速率提升指在原有的圖像幀之間插值出新的圖像幀。常見的幀速率提升算法主要包括幀復制法、幀平均法和運動補償法。綜合考慮顯示效果和實時性要求,最終選擇幀復制法。幀復制法易于實現、計算量低。其表達式為:

            

           

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

            

           

            圖3 幀速率提升示意圖

            2.2 BRAM資源占用

            本文設計的機載顯示系統利用一片DDR3作為外部存儲器,所有圖形和視頻數據都需要緩存到DDR3中。為了解決數據存儲沖突,需要將數據先緩存到內部BRAM中。XC7k410T共有795個36Kb的BRAM。整個流程中,BRAM資源占用最大的是圖形整體旋轉和視頻旋轉模塊。

            2.2.1 視頻旋轉算法

            

           

            反向旋轉映射優(yōu)點是,旋轉后坐標反向旋轉,除了超出原始坐標范圍的,在旋轉前坐標中都能對應到浮點坐標,并可以用該坐標鄰域的像素點來唯一確定該坐標的像素值,不會出現“空洞”現象。

            

           

            

           

            圖4 視頻旋轉算法示意圖

            2.3 DDR3吞吐量分析

            本系統處理的數據量大,FPGA內部的存儲資源無法滿足數據存儲要求,需要配置系統外部存儲器DDR3。從圖2可以看出,整個系統流程最多經過DDR3共9次,下面依次介紹每次讀寫DDR3的必要性和數據量。

           ?、?圖形及字符生成模塊讀寫數據,由于圖形及字符生成時,沒有嚴格按照屏幕自上而下、自左而右的順序,所以每一幀圖形都需要存入到DDR3中,并等待一幀處理完再進行整體的其他處理。由于像素點操作會涉及到讀取背景值,所以是雙向的。考慮吞吐量最大的情況,即圖形生成模塊對每幀圖形的一半像素點都進行一次讀寫操作,則圖形生成模塊讀寫數據量為

            

           

           ?、?圖形縮放模塊讀數據及清屏操作,由于縮放模塊是對整個畫面的處理,所以需要從DDR3中讀取出來。而由于圖形及字符不是對每個像素點都進行操作的,所以取出后,需要進行清屏操作。則讀寫數據量為474.6。

            ③ 圖形旋轉模塊寫數據,由于圖形處理速度和視頻處理速度不完全匹配,所以先將縮放及旋轉后的數據存儲到DDR3,等待視頻處理完后,再統一取出,寫數據量為237.3 MB/s。

            ④ 圖形輸出讀數據,同時進行平移、翻轉、鏡像等坐標變換操作,寫數據量為237.3 MB/s。

            ⑤ PAL視頻輸入數據,為了實現去隔行和幀速率轉換,必須將數據存儲到DDR3中進行變換操作,讀寫數據量為

            

           

           ?、?視頻縮放模塊讀數據,從DDR3中取出進行縮放操作,讀數據量為

            

          fpga相關文章:fpga是什么



          上一頁 1 2 下一頁

          關鍵詞: FPGA DSP ASIC

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();