999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的機載顯示系統架構設計與優化※

2014-07-03 03:33:10吳連慧周建江夏偉杰陳雅雯
單片機與嵌入式系統應用 2014年8期
關鍵詞:系統

吳連慧,周建江,夏偉杰,陳雅雯

(南京航空航天大學 電子信息工程學院,南京210016)

引 言

現代機載視頻圖形顯示系統對于實時性等性能的要求越來越高。常見的系統架構主要分為3種:

①基于GSP+VRAM+ASIC的架構[1]。優點是,圖形ASIC能夠有效提高圖形顯示質量和速度;缺點是,國內復雜的ASIC設計成本極高且工藝還不成熟。

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

③基于FPGA的SOPC架構[3]。優點是,集成度非常高;缺點是,邏輯與CPU整合到一起,不利于開發。

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

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

1 總體架構設計

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

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

2 機載顯示系統架構設計

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

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

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

2.1 實時性分析

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

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

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

圖3 幀速率提升示意圖

2.2 BRAM資源占用

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

視頻旋轉包括兩個基本操作[5]:空間坐標變換和灰度級插值。灰度級插值算法選擇雙線性插值,此處重點討論空間坐標變換的選擇。空間坐標變換主要包括兩種:正向映射和反向映射。由于正向映射旋轉后得到浮點坐標,而圖像坐標是整點,使得旋轉圖像存在“空洞”現象,因此采用反向映射。反向旋轉映射算法的思想是:對旋轉后的每行每個像素坐標(x′,y′)進行遍歷,繞屏幕中心(x0,y0)沿逆時針旋轉-θ角度后,得到旋轉前圖像坐標(x,y)。(x′,y′)與(x,y)之間的反變換公式為:

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

圖4 視頻旋轉算法示意圖

充分考慮項目的特殊情況,由于項目中旋轉是用來校正屏幕的,旋轉角度范圍是-10≤θ≤10。如圖4所示,對旋轉后目標圖像的第N行進行反向旋轉獲取坐標時,原始坐標在N-M~N+M行之間。分辨率為1920×1080且角度為10°時,M 為1920/2×sin(10π/180)=167行,即當計算輸出第N行時,需要知道原始圖像的N-167~N+167行來獲取,即需要緩存334行,每行需要1920×16=30 Kb,即一共需要279個36 Kb的BRAM。

2.3 DDR3吞吐量分析

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

表1為該系統數據吞吐量的匯總表,其吞吐量合計為2 677.6 MB/s。

表1 系統數據吞吐量匯總表

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

3 機載顯示系統架構優化

設計的機載顯示系統架構能夠滿足性能要求,但是還需要進一步優化。如圖5所示,改變不同模塊之間的順序來優化設計,同時改進算法。具體改變如下:

①圖形整體相對于屏幕的縮放和旋轉功能在CPU端發送命令前實現。因為CPU端旋轉和縮放是針對頂點進行的,方便快速,同時減少了FPGA的BRAM資源占用,也減少了進出DDR3的次數。

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

③改進視頻旋轉算法,進一步減少緩存區的大小,降低BRAM的占用率。

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

圖5 FPGA邏輯優化的整體流程圖

3.1 實時性分析

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

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

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

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

3.2 BRAM資源占用

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

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

圖7 視頻旋轉改進算法示意圖

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

3.3 DDR3吞吐量分析

從圖5可以看出,優化后的系統流程最多經過DDR3共5次。每次讀寫DDR3的必要性和數據量略——編者注。

表2為該系統數據吞吐量的匯總表,其吞吐量合計為2 135.7 MB/s。DDR3 的 數 據 帶 寬 為 6 400 MB/s(800 MHz×64 bit),滿足本設計系統的數據吞吐量要求。

表2 優化后系統數據吞吐量匯總表

結 語

本文設計一種基于FPGA的機載顯示系統架構,能夠實現2D圖形繪制,構成各種飛行參數畫面,同時疊加外景視頻圖像。實時性方面,幀速率提升模塊延遲最大為104 ms;BRAM資源占用方面,視頻旋轉算法需要279個36 Kb的BRAM;DDR3吞吐量方面,系統吞吐量為2 677.6 MB/s。

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

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

編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。

[1]Bailey D C.F-22 cockpit display system[C]//SPIE's International Symposium on Optical Engineering and Photonics in Aerospace Sensing.Phoenix.AZ:International Society for Optics and Photonics,1994:157-165.

[2]李孟華,牛文生,裴靜靜.DSP+FPGA結構的嵌入式圖形處理設計[J].航空計算技術,2013(1):120-122.

[3]謝軍,杜黎明,史小白.用SoC實現視頻圖形引擎功能的研究[J].單片機與嵌入式系統應用,2002(10):23-26.

[4]張曉燕.基于FPGA的機載視頻處理與圖形生成系統設計與實現[D].南京:南京航空航天大學,2012.

[5]王濱海,許正飛,陳西廣,等.圖像旋轉算法的分析與對比[J].光學與光電技術,2011,9(2):46-49.

[6]劉德保,汪安民.多核DSP芯片TMS320C6678的DDR3接口設計[J].單片機與嵌入式系統應用,2013,13(9):53-55.

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 综合色在线| 欧美亚洲综合免费精品高清在线观看 | 亚洲综合久久成人AV| 亚洲av日韩av制服丝袜| 久久国产亚洲欧美日韩精品| 亚洲经典在线中文字幕 | 国产香蕉在线视频| 综合天天色| 欧美精品成人一区二区在线观看| 亚洲二三区| 亚洲成人在线免费| 99视频有精品视频免费观看| 午夜老司机永久免费看片| 国产麻豆永久视频| 国产综合另类小说色区色噜噜| 好久久免费视频高清| 99r在线精品视频在线播放| 欧美中文字幕在线播放| 亚洲aaa视频| 欧美日韩动态图| 人妻无码中文字幕第一区| 欧美亚洲欧美| av午夜福利一片免费看| av在线无码浏览| 九九九久久国产精品| 尤物视频一区| 午夜激情福利视频| 极品尤物av美乳在线观看| 国产91在线|日本| 天天躁夜夜躁狠狠躁图片| 一本色道久久88| 日本午夜精品一本在线观看| 国产va视频| 99热国产这里只有精品9九| 婷婷综合亚洲| 91九色视频网| 精品久久综合1区2区3区激情| 欧美国产菊爆免费观看| 国产激爽大片高清在线观看| 国内精品视频在线| 日韩AV手机在线观看蜜芽| 成人午夜天| 国产精品免费久久久久影院无码| 国产成本人片免费a∨短片| 性视频久久| 精品人妻AV区| 欧美 亚洲 日韩 国产| 亚洲成aⅴ人在线观看| 久久国产精品夜色| 国内精自线i品一区202| 欧美激情视频二区| 欧美特黄一免在线观看| 一区二区三区国产| 欧美啪啪一区| 久久亚洲中文字幕精品一区| 91久久天天躁狠狠躁夜夜| 国产女人18毛片水真多1| 亚洲欧美另类日本| 国国产a国产片免费麻豆| 国产亚卅精品无码| 国产精品久久久久久久伊一| 亚洲va视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 亚洲一区二区三区香蕉| 国产精品爽爽va在线无码观看| 思思热精品在线8| 成人午夜久久| 亚洲国产成人久久精品软件 | 亚洲永久视频| 久久这里只有精品23| 黄色网站不卡无码| 少妇精品久久久一区二区三区| 日韩高清在线观看不卡一区二区 | 美女国产在线| 一级一级一片免费| 亚洲男人天堂网址| 中文无码毛片又爽又刺激| 一级毛片网| 国产成人综合亚洲欧美在| 91人妻在线视频| 亚洲aaa视频| 国产成人艳妇AA视频在线|