新聞中心

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

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

作者: 時間:2014-11-05 來源:網(wǎng)絡 收藏

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

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

 ?、?視頻輸出讀數(shù)據(jù),同時進行平移、翻轉(zhuǎn)、鏡像等坐標變換操作,讀寫數(shù)據(jù)量為237.3 MB/s 。

 ?、?預畸變參數(shù)讀數(shù)據(jù),用64位來存儲每個像素點對應的四個預畸變參數(shù),則讀數(shù)據(jù)量為

  

 

  表1為該系統(tǒng)數(shù)據(jù)吞吐量的計算表,其吞吐量合計為2677.6 MB/s 。

  表1系統(tǒng)數(shù)據(jù)吞吐量計算表

  

 

  本文采用DDR3作為系統(tǒng)外部存儲器,其型號為W3H128M72E,數(shù)據(jù)寬度為72比特(64比特為數(shù)據(jù)位,8比特為校正位),采用的時鐘為400MHz,由于DDR3在上升沿和下降沿都進行數(shù)據(jù)的讀寫操作,等效于其內(nèi)部讀寫時鐘為800MHz,即數(shù)據(jù)帶寬為6400MB/s(800MHz*64bit),滿足本文設計系統(tǒng)的數(shù)據(jù)吞吐量要求。

  3 機載顯示系統(tǒng)架構優(yōu)化

  設計的機載顯示系統(tǒng)架構能夠滿足性能要求,但是還需要進一步優(yōu)化。如圖 5所示,改變不同模塊之間的順序來優(yōu)化設計,同時改進算法。具體改變?nèi)缦拢?/p>

 ?、?圖形整體相對于屏幕的縮放和旋轉(zhuǎn)功能在CPU端發(fā)送命令前實現(xiàn),因為CPU端旋轉(zhuǎn)和縮放是針對頂點進行的,方便快速,同時減少了的BRAM資源占用,減少了進出DDR3的次數(shù);

 ?、?改進幀速率提升算法,進一步減少延遲,提高實時性;

  ③ 改進視頻旋轉(zhuǎn)算法,進一步降低緩存區(qū)的大小,減少BRAM的占用率;

 ?、?幀速率提升和平移、翻轉(zhuǎn)、鏡像都需要通過讀寫DDR3來完成,將兩者合并,同時完成,減少進出DDR3的次數(shù)。

  

 

  圖5 邏輯優(yōu)化的整體流程圖

  3.1 實時性分析

  實時性是機載顯示系統(tǒng)重要的衡量標準之一,為了確保飛機運行安全,必須確保視頻處理的各個模塊都有較高的實時性。視頻采集、視頻縮放、視頻校正、視頻輸出延遲都是幾行,延遲時間在 以內(nèi)。幀速率提升模塊的延遲遠大于其他各個模塊延遲之和,需要進一步改進,在保證顯示質(zhì)量的同時,進一步降低延遲時間。

  3.1.1 幀速率提升算法優(yōu)化

  改進的幀速率提升算法仍使用幀復制法。在DDR3中開辟4個存儲空間做切換用于存放幀速率為25Hz、場速率為50Hz的PAL圖像。有4個場緩存區(qū),當接收當前幀的奇場后與前一幀的偶場結合成一幀數(shù)據(jù)輸出。

  幀速率改進算法示意圖如圖 6所示。A場正好寫完,B場正好讀完,下一幀讀取A場數(shù)據(jù),這樣延遲為PAL的1場(半幀);A場正好還差1行寫完,B場已讀完,下一幀繼續(xù)讀B場,這樣延遲為PAL的1+(25/60)=1.42場。延遲為PAL的1~1.42場。最大延遲為。

  

 

  圖6 幀速率改進算法示意圖

  3.2 BRAM資源占用

  原設計的機載顯示系統(tǒng)架構使用反向映射的方法實現(xiàn)旋轉(zhuǎn)算法,每一行旋轉(zhuǎn)后數(shù)據(jù)反向旋轉(zhuǎn)時需要緩存334行視頻旋轉(zhuǎn)前數(shù)據(jù),即需要279個36Kb的BRAM。相對于其它模塊緩存幾行相比,占用了大量的BRAM空間,因此需要改進。

  3.2.1 視頻旋轉(zhuǎn)算法優(yōu)化

  視頻旋轉(zhuǎn)提出了一種改進的旋轉(zhuǎn)映射法,降低緩存空間。示意圖如圖 7所示。對以行掃描的方式獲取的視頻圖像,緩存兩行就能開始旋轉(zhuǎn)處理,先進行正向映射,根據(jù)當前兩行對應的旋轉(zhuǎn)后浮點坐標,找到兩行內(nèi)的整點坐標,再對其進行反向映射,利用當前兩行來得到旋轉(zhuǎn)后整點坐標的像素值。

  

 

  圖7 視頻旋轉(zhuǎn)改進算法示意圖

  該算法涉及原始圖像中的2*2大小鄰域,為了提高該模塊的處理速度,設計了一組由三個雙端口塊存儲器BRAM組成的原始圖像數(shù)據(jù)緩存器。每個BRAM用來存儲1行原始圖像的數(shù)據(jù),3個BRAM中存儲的原始圖像數(shù)據(jù)包括當前旋轉(zhuǎn)計算涉及的兩行原始圖像數(shù)據(jù)以及下一行旋轉(zhuǎn)計算涉及的一行原始圖像數(shù)據(jù)。因此,需要緩存3行,使用3個36Kb的BRAM。

  3.3 DDR3吞吐量分析

  從圖5可以看出,優(yōu)化后的系統(tǒng)流程最多經(jīng)過DDR3共5次,下面依次介紹每次讀寫DDR3的必要性和數(shù)據(jù)量。

 ?、?圖形及字符生成模塊讀寫數(shù)據(jù),此與原模塊相同,則圖形生成模塊讀寫數(shù)據(jù)量為

  

 

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

 ?、?視頻旋轉(zhuǎn)寫數(shù)據(jù),旋轉(zhuǎn)后的數(shù)據(jù)沒有嚴格按照屏幕自上而下的順序,必須將數(shù)據(jù)存儲到DDR3中進行變換操作,讀寫數(shù)據(jù)量為

  

 

  ④ 視頻輸出模塊讀數(shù)據(jù),從DDR3中取出進行視頻輸出操作,取出的同時還能進行一些坐標變換操作,如平移、翻轉(zhuǎn)、鏡像等,讀寫數(shù)據(jù)量為

  

 

 ?、?預畸變參數(shù)讀數(shù)據(jù),用64位來存儲每個像素點對應的四個預畸變參數(shù),則讀寫數(shù)據(jù)量為

  

 

  表 2為該系統(tǒng)數(shù)據(jù)吞吐量的計算表,其吞吐量合計為2135.7MB/s。DDR3的數(shù)據(jù)帶寬為6400MB/s(800MHz*64bit),滿足本文設計系統(tǒng)的數(shù)據(jù)吞吐量要求。

  表2 優(yōu)化后系統(tǒng)數(shù)據(jù)吞吐量計算表

  

 

  結論

  本文設計一種基于的機載顯示系統(tǒng)架構,能夠?qū)崿F(xiàn)2D圖形繪制,構成各種飛行參數(shù)畫面,同時疊加外景視頻圖像。實時性方面,幀速率提升模塊延遲最大為;BRAM資源占用方面,視頻旋轉(zhuǎn)算法需要279個36Kb的BRAM;DDR3吞吐量方面,系統(tǒng)吞吐量為2677.6 MB/s。

  優(yōu)化后的機載顯示系統(tǒng),實時性方面,幀速率提升模塊延遲最大為;BRAM資源占用方面,視頻旋轉(zhuǎn)算法需要3個36Kb的BRAM;DDR3吞吐量方面,吞吐量為2135.7 MB/s。

  經(jīng)過對比分析,優(yōu)化后的機載顯示系統(tǒng)實時性提高、BRAM資源占用減少、吞吐量降低,整體性能得到了提升。

fpga相關文章:fpga是什么



上一頁 1 2 下一頁

關鍵詞: FPGA DSP ASIC

評論


相關推薦

技術專區(qū)

關閉