国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

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

發(fā)布時(shí)間:2015-11-12 10:15    發(fā)布者:designapp
關(guān)鍵詞: FPGA , DSP , ASIC
  隨著航空電子技術(shù)的不斷發(fā)展,現(xiàn)代機(jī)載視頻圖形顯示系統(tǒng)對(duì)于實(shí)時(shí)性等性能的要求日益提高。常見的系統(tǒng)架構(gòu)主要分為三種:
  (1)基于GSP+VRAM+ASIC的架構(gòu),優(yōu)點(diǎn)是圖形ASIC能夠有效提高圖形顯示質(zhì)量和速度,缺點(diǎn)是國(guó)內(nèi)復(fù)雜ASIC設(shè)計(jì)成本極高以及工藝還不成熟。
  (2)基于DSP+FPGA的架構(gòu),優(yōu)點(diǎn)是,充分發(fā)揮DSP對(duì)算法分析處理和FPGA對(duì)數(shù)據(jù)流并行執(zhí)行的獨(dú)特優(yōu)勢(shì),提高圖形處理的性能;缺點(diǎn)是,上層CPU端將OpenGL繪圖函數(shù)封裝后發(fā)給DSP,DSP拆分后再調(diào)用FPGA,系統(tǒng)的集成度不高,接口設(shè)計(jì)復(fù)雜。
  (3)基于FPGA的SOPC架構(gòu),優(yōu)點(diǎn)是,集成度非常高;缺點(diǎn)是邏輯與CPU整合到一起,不利于開發(fā)。
  經(jīng)過對(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ù)畫面,同時(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接收來自飛控、導(dǎo)航等系統(tǒng)的圖形和視頻控制命令,對(duì)數(shù)據(jù)進(jìn)行格式化和預(yù)處理后,通過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)過預(yù)畸變校正后輸出到平顯上,另一路直接輸出來進(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 幀速率提升算法
  幀速率提升指在原有的圖像幀之間插值出新的圖像幀。常見的幀速率提升算法主要包括幀復(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中開辟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)來唯一確定該坐標(biāo)的像素值,不會(huì)出現(xiàn)“空洞”現(xiàn)象。
  


  


  圖4 視頻旋轉(zhuǎn)算法示意圖
  2.3 DDR3吞吐量分析
  本系統(tǒng)處理的數(shù)據(jù)量大,F(xiàn)PGA內(nèi)部的存儲(chǔ)資源無法滿足數(shù)據(jù)存儲(chǔ)要求,需要配置系統(tǒng)外部存儲(chǔ)器DDR3。從圖2可以看出,整個(gè)系統(tǒng)流程最多經(jīng)過DDR3共9次,下面依次介紹每次讀寫DDR3的必要性和數(shù)據(jù)量。
  ① 圖形及字符生成模塊讀寫數(shù)據(jù),由于圖形及字符生成時(shí),沒有嚴(yán)格按照屏幕自上而下、自左而右的順序,所以每一幀圖形都需要存入到DDR3中,并等待一幀處理完再進(jìn)行整體的其他處理。由于像素點(diǎn)操作會(huì)涉及到讀取背景值,所以是雙向的。考慮吞吐量最大的情況,即圖形生成模塊對(duì)每幀圖形的一半像素點(diǎn)都進(jìn)行一次讀寫操作,則圖形生成模塊讀寫數(shù)據(jù)量為
  


  ② 圖形縮放模塊讀數(shù)據(jù)及清屏操作,由于縮放模塊是對(duì)整個(gè)畫面的處理,所以需要從DDR3中讀取出來。而由于圖形及字符不是對(duì)每個(gè)像素點(diǎn)都進(jìn)行操作的,所以取出后,需要進(jìn)行清屏操作。則讀寫數(shù)據(jù)量為474.6。
  ③ 圖形旋轉(zhuǎn)模塊寫數(shù)據(jù),由于圖形處理速度和視頻處理速度不完全匹配,所以先將縮放及旋轉(zhuǎn)后的數(shù)據(jù)存儲(chǔ)到DDR3,等待視頻處理完后,再統(tǒng)一取出,寫數(shù)據(jù)量為237.3 MB/s。
  ④ 圖形輸出讀數(shù)據(jù),同時(shí)進(jìn)行平移、翻轉(zhuǎn)、鏡像等坐標(biāo)變換操作,寫數(shù)據(jù)量為237.3 MB/s。
  ⑤ PAL視頻輸入數(shù)據(jù),為了實(shí)現(xiàn)去隔行和幀速率轉(zhuǎn)換,必須將數(shù)據(jù)存儲(chǔ)到DDR3中進(jìn)行變換操作,讀寫數(shù)據(jù)量為
  


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

                               
                  ⑦ 視頻旋轉(zhuǎn)模塊寫數(shù)據(jù),由于視頻處理速度和圖形處理速度不完全匹配,所以先將縮放及旋轉(zhuǎn)后的數(shù)據(jù)存儲(chǔ)到DDR3,等待圖形處理完后,再統(tǒng)一取出,讀寫數(shù)據(jù)量為237.3 MB/s。
  ⑧ 視頻輸出讀數(shù)據(jù),同時(shí)進(jìn)行平移、翻轉(zhuǎn)、鏡像等坐標(biāo)變換操作,讀寫數(shù)據(jù)量為237.3 MB/s 。
  ⑨ 預(yù)畸變參數(shù)讀數(shù)據(jù),用64位來存儲(chǔ)每個(gè)像素點(diǎn)對(duì)應(yīng)的四個(gè)預(yù)畸變參數(shù),則讀數(shù)據(jù)量為
  


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


  本文采用DDR3作為系統(tǒng)外部存儲(chǔ)器,其型號(hào)為W3H128M72E,數(shù)據(jù)寬度為72比特(64比特為數(shù)據(jù)位,8比特為校正位),采用的時(shí)鐘為400MHz,由于DDR3在上升沿和下降沿都進(jìn)行數(shù)據(jù)的讀寫操作,等效于其內(nèi)部讀寫時(shí)鐘為800MHz,即數(shù)據(jù)帶寬為6400MB/s(800MHz*64bit),滿足本文設(shè)計(jì)系統(tǒng)的數(shù)據(jù)吞吐量要求。
  3 機(jī)載顯示系統(tǒng)架構(gòu)優(yōu)化
  設(shè)計(jì)的機(jī)載顯示系統(tǒng)架構(gòu)能夠滿足性能要求,但是還需要進(jìn)一步優(yōu)化。如圖 5所示,改變不同模塊之間的順序來優(yōu)化設(shè)計(jì),同時(shí)改進(jìn)算法。具體改變?nèi)缦拢?br />   ① 圖形整體相對(duì)于屏幕的縮放和旋轉(zhuǎn)功能在CPU端發(fā)送命令前實(shí)現(xiàn),因?yàn)镃PU端旋轉(zhuǎn)和縮放是針對(duì)頂點(diǎn)進(jìn)行的,方便快速,同時(shí)減少了FPGA的BRAM資源占用,減少了進(jìn)出DDR3的次數(shù);
  ② 改進(jìn)幀速率提升算法,進(jìn)一步減少延遲,提高實(shí)時(shí)性;
  ③ 改進(jìn)視頻旋轉(zhuǎn)算法,進(jìn)一步降低緩存區(qū)的大小,減少BRAM的占用率;
  ④ 幀速率提升和平移、翻轉(zhuǎn)、鏡像都需要通過讀寫DDR3來完成,將兩者合并,同時(shí)完成,減少進(jìn)出DDR3的次數(shù)。
  


  圖5 FPGA邏輯優(yōu)化的整體流程圖
  3.1 實(shí)時(shí)性分析
  實(shí)時(shí)性是機(jī)載顯示系統(tǒng)重要的衡量標(biāo)準(zhǔn)之一,為了確保飛機(jī)運(yùn)行安全,必須確保視頻處理的各個(gè)模塊都有較高的實(shí)時(shí)性。視頻采集、視頻縮放、視頻校正、視頻輸出延遲都是幾行,延遲時(shí)間在 以內(nèi)。幀速率提升模塊的延遲遠(yuǎn)大于其他各個(gè)模塊延遲之和,需要進(jìn)一步改進(jìn),在保證顯示質(zhì)量的同時(shí),進(jìn)一步降低延遲時(shí)間。
  3.1.1 幀速率提升算法優(yōu)化
  改進(jìn)的幀速率提升算法仍使用幀復(fù)制法。在DDR3中開辟4個(gè)存儲(chǔ)空間做切換用于存放幀速率為25Hz、場(chǎng)速率為50Hz的PAL圖像。有4個(gè)場(chǎng)緩存區(qū),當(dāng)接收當(dāng)前幀的奇場(chǎng)后與前一幀的偶場(chǎng)結(jié)合成一幀數(shù)據(jù)輸出。
  幀速率改進(jìn)算法示意圖如圖 6所示。A場(chǎng)正好寫完,B場(chǎng)正好讀完,下一幀讀取A場(chǎng)數(shù)據(jù),這樣延遲為PAL的1場(chǎng)(半幀);A場(chǎng)正好還差1行寫完,B場(chǎng)已讀完,下一幀繼續(xù)讀B場(chǎng),這樣延遲為PAL的1+(25/60)=1.42場(chǎng)。延遲為PAL的1~1.42場(chǎng)。最大延遲為。
  


  圖6 幀速率改進(jìn)算法示意圖
  3.2 BRAM資源占用
  原設(shè)計(jì)的機(jī)載顯示系統(tǒng)架構(gòu)使用反向映射的方法實(shí)現(xiàn)旋轉(zhuǎn)算法,每一行旋轉(zhuǎn)后數(shù)據(jù)反向旋轉(zhuǎn)時(shí)需要緩存334行視頻旋轉(zhuǎn)前數(shù)據(jù),即需要279個(gè)36Kb的BRAM。相對(duì)于其它模塊緩存幾行相比,占用了大量的BRAM空間,因此需要改進(jìn)。
  3.2.1 視頻旋轉(zhuǎn)算法優(yōu)化
  視頻旋轉(zhuǎn)提出了一種改進(jìn)的旋轉(zhuǎn)映射法,降低緩存空間。示意圖如圖 7所示。對(duì)以行掃描的方式獲取的視頻圖像,緩存兩行就能開始旋轉(zhuǎn)處理,先進(jìn)行正向映射,根據(jù)當(dāng)前兩行對(duì)應(yīng)的旋轉(zhuǎn)后浮點(diǎn)坐標(biāo),找到兩行內(nèi)的整點(diǎn)坐標(biāo),再對(duì)其進(jìn)行反向映射,利用當(dāng)前兩行來得到旋轉(zhuǎn)后整點(diǎn)坐標(biāo)的像素值。
  


  圖7 視頻旋轉(zhuǎn)改進(jìn)算法示意圖
  該算法涉及原始圖像中的2*2大小鄰域,為了提高該模塊的處理速度,設(shè)計(jì)了一組由三個(gè)雙端口塊存儲(chǔ)器BRAM組成的原始圖像數(shù)據(jù)緩存器。每個(gè)BRAM用來存儲(chǔ)1行原始圖像的數(shù)據(jù),3個(gè)BRAM中存儲(chǔ)的原始圖像數(shù)據(jù)包括當(dāng)前旋轉(zhuǎn)計(jì)算涉及的兩行原始圖像數(shù)據(jù)以及下一行旋轉(zhuǎn)計(jì)算涉及的一行原始圖像數(shù)據(jù)。因此,需要緩存3行,使用3個(gè)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ù),由于視頻輸出模塊是對(duì)整個(gè)畫面的處理,所以需要從DDR3中讀取出來,而由于圖形及字符不是對(duì)每個(gè)像素點(diǎn)都進(jìn)行操作的,所以取出后,需要進(jìn)行清屏操作。則讀寫數(shù)據(jù)量為474.6 MB/s 。
  ③ 視頻旋轉(zhuǎn)寫數(shù)據(jù),旋轉(zhuǎn)后的數(shù)據(jù)沒有嚴(yán)格按照屏幕自上而下的順序,必須將數(shù)據(jù)存儲(chǔ)到DDR3中進(jìn)行變換操作,讀寫數(shù)據(jù)量為
  


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


  ⑤ 預(yù)畸變參數(shù)讀數(shù)據(jù),用64位來存儲(chǔ)每個(gè)像素點(diǎn)對(duì)應(yīng)的四個(gè)預(yù)畸變參數(shù),則讀寫數(shù)據(jù)量為
  


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


  結(jié)論
  本文設(shè)計(jì)一種基于FPGA的機(jī)載顯示系統(tǒng)架構(gòu),能夠?qū)崿F(xiàn)2D圖形繪制,構(gòu)成各種飛行參數(shù)畫面,同時(shí)疊加外景視頻圖像。實(shí)時(shí)性方面,幀速率提升模塊延遲最大為;BRAM資源占用方面,視頻旋轉(zhuǎn)算法需要279個(gè)36Kb的BRAM;DDR3吞吐量方面,系統(tǒng)吞吐量為2677.6 MB/s。
  優(yōu)化后的機(jī)載顯示系統(tǒng),實(shí)時(shí)性方面,幀速率提升模塊延遲最大為;BRAM資源占用方面,視頻旋轉(zhuǎn)算法需要3個(gè)36Kb的BRAM;DDR3吞吐量方面,吞吐量為2135.7 MB/s。
  經(jīng)過對(duì)比分析,優(yōu)化后的機(jī)載顯示系統(tǒng)實(shí)時(shí)性提高、BRAM資源占用減少、吞吐量降低,整體性能得到了提升。
                               
               
本文地址:http://m.qingdxww.cn/thread-156150-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 手机国产精品一区二区| 特黄一级毛片| 天天综合久久| 亚洲国产精品久久网午夜小说| 欲色啪| 国产99视频精品免费播放| 日本午夜精品一区二区三区电影| 中国老太性色xxxxxhd| 亚洲精品不卡| 桃花岛高清在线观看| 羞羞影院在线观看| 国产成人ae在线观看网站站| 欧美伦理片第7页| 欧美日本中文字幕| 日韩一级黄色| 中文国产欧美在线观看| 真实东北女人露脸3p| 蜜桃传媒一区二区亚洲AV| 在线二区 中文 无码| 欧美一级视频在线高清观看| 综合激情文学| 怡红院成人网| 韩日午夜在线资源一区二区| 永久免费看bbb| 欧美在线视频免费观看| 午夜影院在线免费| 一个人看的视频www高清在线观看 一个人看的视频www高清动漫 | 永久毛片| 女王羞辱丨vk| 青青在线观看视频| 日韩成人免费| 涩涩漫画免费| 在醉酒熟睡夫面前侵犯我在线播放| 麻豆一区二区免费播放网站| 影音先锋xfplay影院av| 欧美一级网址| 爽新片xxxxxxx| 18 japanese宾馆直播| 九色PORNY真实丨国产大胸| 欧美日韩精品高清一区二区| 亚洲国产激情|