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

          新聞中心

          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ò) 收藏

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

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

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

           ?、?預(yù)畸變參數(shù)讀數(shù)據(jù),用64位來(lái)存儲(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所示,改變不同模塊之間的順序來(lái)優(yōu)化設(shè)計(jì),同時(shí)改進(jìn)算法。具體改變?nèi)缦拢?/p>

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

            ② 改進(jìn)幀速率提升算法,進(jìn)一步減少延遲,提高實(shí)時(shí)性;

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

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

            

           

            圖5 邏輯優(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)前兩行來(lái)得到旋轉(zhuǎn)后整點(diǎn)坐標(biāo)的像素值。

            

           

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

            該算法涉及原始圖像中的2*2大小鄰域,為了提高該模塊的處理速度,設(shè)計(jì)了一組由三個(gè)雙端口塊存儲(chǔ)器BRAM組成的原始圖像數(shù)據(jù)緩存器。每個(gè)BRAM用來(lái)存儲(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)過(guò)DDR3共5次,下面依次介紹每次讀寫DDR3的必要性和數(shù)據(jù)量。

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

            

           

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

            ③ 視頻旋轉(zhuǎn)寫數(shù)據(jù),旋轉(zhuǎn)后的數(shù)據(jù)沒(méi)有嚴(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位來(lái)存儲(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ì)一種基于的機(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)過(guò)對(duì)比分析,優(yōu)化后的機(jī)載顯示系統(tǒng)實(shí)時(shí)性提高、BRAM資源占用減少、吞吐量降低,整體性能得到了提升。

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



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

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();