?

飛機座艙圖形生成系統的硬件加速設計

2015-11-26 05:31高偉林
電子技術應用 2015年7期
關鍵詞:狀態機座艙像素

曹 峰,高偉林

(蘇州長風航空電子有限公司 軍品研究所,江蘇 蘇州215151)

飛機座艙圖形生成系統的硬件加速設計

曹 峰,高偉林

(蘇州長風航空電子有限公司 軍品研究所,江蘇 蘇州215151)

針對飛機座艙高分辨率圖形實時生成與顯示的應用需求,提出了一種適用于硬件實現的圖形填充加速設計方法,在FPGA中設計了一種狀態機對DSP置入的像素標記進行判斷處理。采用SDRAM作為幀存,FPGA與DSP對SDRAM采取乒乓操作方式,實現了高分辨率圖形數據的消隱與填充加速處理,填充算法無須將數據回寫入SDRAM,實現了畫面輸出的零延時。試驗結果表明,所提出的方法可以大幅減少圖形繪圖時間。

高分辨率圖形顯示;硬件加速;標記處理;狀態機

0 引言

戰斗機座艙顯示系統是飛行員了解戰場態勢、攻防信息、本機狀態等信息,完成作戰任務的重要信息來源。良好的人機界面能夠讓機組人員清晰、便捷地獲得所需信息,有效減輕機組人員工作負荷,從而安全高效地完成飛行和作戰任務。機載顯示器是座艙顯示系統的終端部件,其發展經歷了三個時代,即機械時代、機電時代和光電時代[1]。機載顯示器的布局和信息顯示方式日新月異,從上世紀70年代末期開始,電子飛行儀表系統(EFIS)逐步替代原有分立式飛行儀表,實現了顯示儀表的電子化、綜合化,座艙顯示器數量急劇減小,主顯示器尺寸不斷加大,分辨率不斷提高,并日益朝著大屏幕化、綜合化、信息化和智能化方向發展[2]。目前機載顯示器分辨率最高已達 UXGA(1 600×1 200@60 Hz),數據傳輸率為 345 MB/s[3]。隨著顯示分辨率的提高,要處理的像素也越來越多,而所允許的處理時間卻受屏幕刷新率所限制[4],傳統的飛行座艙圖形顯示方法大多通過處理器和軟件技術來實現,而對于實時信息處理系統,處理器還需要進行繁重的數據分析和數據通信工作,這將導致圖形顯示性能受到影響[5]。

本文提出了一種圖形生成的硬件加速設計方法,利用DSP作為圖形生成的主處理器完成圖形運算算法,將每個像素數據置上標記信息后寫入SDRAM幀存,FPGA作為協處理器根據像素數據的標記類型進行相應的數據運算處理,以此減輕DSP的運算負擔,提高圖形生成效率。

1 圖形產生與顯示系統原理

1.1 硬件組成

本設計DSP芯片采用ADI公司的TS201,其主頻可達600 MHz,集成了SDRAM控制器;幀存采用了 Micron公司的SDRAM器件MT48LC8M32,其容量為8 M×32 bit;FPGA采用Altera公司的EP2S30F672I4。本設計的原理框圖如圖1所示。

圖1 圖形產生與顯示系統原理框圖

復位模塊為DSP提供上電復位信號,Flash存放DSP的繪圖運算程序,時鐘和時鐘緩沖為 DSP、FPGA、SDRAM等各個器件提供工作時鐘。EEPROM存放FPGA程序。

DSP根據繪圖參數和指令進行作圖運算,將運算結果通過其自帶的SDRAM控制器寫入SDRAM幀存中。FPGA以乒乓操作的方式持續地從 SDRAM幀存中讀出數據送至顯示終端顯示。

1.2 軟件設計

DSP畫面顯示軟件主要包括初始化模塊和畫面顯示模塊。初始化模塊完成DSP系統寄存器、SDRAM、調色板等初始化功能,畫面顯示模塊完成DSP的作圖計算與顯示等功能。畫面顯示功能模塊框圖如圖2所示。

圖2 畫面顯示軟件功能模塊框圖

DSP與FPGA之間通過FLAG握手信號進行狀態標記,TS201共有4個FLAG信號,為FLAG0~FLAG3,FLAG信號可以根據需要由DSP配置成輸入或輸出狀態。本文中將FLAG0配置成DSP的輸出信號,由DSP輸出至FPGA;FLAG1配置成DSP的輸入信號,由FPGA輸出至DSP。DSP顯示軟件設計流程圖如圖3所示。

圖3 DSP顯示軟件設計流程圖

FLAG1初始值由 FPGA置為“0”,FLAG0初始值由DSP設置為“1”。系統工作時,FPGA程序中在每個場同步信號的上升沿對FLAG0進行采樣處理,并將采樣值賦給FLAG1。當DSP探測到FLAG1值發生變更時,即開始啟動作圖運算;作圖完畢后,DSP對FLAG0進行取反處理。TIME_DRAW是 FLGA1與 FLAG0進行異或運算后的信號,低電平持續時間即為圖形生成時間。FLAG0和 FLAG1的握手時序圖如圖4所示。

圖4 FLAG0和FLAG1握手時序圖

2 圖形產生與顯示硬件加速

機載液晶顯示器需要實時產生并顯示多種畫面,其中又以電子式全姿態指示儀(又稱天地球)和全羅盤的圖形變化最為復雜。一幅典型的機載顯示器畫面如圖5所示。其中天地球部分需要大量的色塊填充,如果完全依靠軟件實現填充算法,將會大大影響整個圖形生成的效率,進而影響顯示效果,造成畫面遲滯。而飛機飛行過程中各種飛行參數的變化(如飛機的俯仰、橫滾等)都需要顯示畫面做出快速響應以便于飛行員決策。在顯示動態圖形畫面時,還需對幀存中的原始數據做清屏處理,否則會引起畫面重影,盡管處理簡單,但通過純軟件實現也非常費時[6]。

圖5 機載液晶顯示器典型畫面

2.1 硬件填充加速設計

在圖形產生與顯示系統中硬件加速算法的引入從本質上而言是將繪圖任務在軟件與硬件之間進行重新分工,找出影響軟件效率但有一定規律的適合硬件實現的算法。API標準在圖形硬件的應用中扮演著非常重要的角色,其最顯著的貢獻是允許應用代碼在不同的硬件加速平臺間進行移植[7]。本文設計了一種圖形消隱和色塊填充API接口算法,用于對圖形消隱和填充進行加速處理。

DSP寫入 SDRAM中的像素數據預先置上標記信息,FPGA在讀出像素數據并處理時采用流水線方式完成,流水線分3個階段,分別為標記與顏色寄存、標記狀態轉換、輸出數據生成。流水線處理示意圖如圖6所示。

圖6 像素數據處理流水線

FPGA從 SDRAM中讀出數據時按照逐點逐行的次序進行,處理完一行中的所有點像素數據之后,再處理下一行數據。一般處理后的數據采取回寫入幀存的方式供下一幀顯示,本文采取了一種更為高效的方式,FPGA處理完當前幀像素數據后不回寫入幀存,而是直接輸出顯示,這種方式可以使輸出畫面減少一幀的延時。

2.2 標記處理

標記分為4種類型:填充標記、翻轉標記、結束標記、保持標記。本文采用狀態機處理標記信息,使用VHDL語言描述有限狀態機,可以充分發揮硬件描述語言的抽象建模能力[8]。標記處理狀態機包含 5種狀態,分別為當前像素輸出狀態、填充狀態、翻轉狀態、保持當前像素狀態和結束狀態,狀態轉移圖如圖7所示。

圖7 標記狀態轉移圖

每種狀態下FPGA的像素數據處理結果如下:

(1)當前像素輸出:輸出 FPGA從SDRAM中讀出的當前像素數據;

(2)填充:輸出FPGA寄存的填充像素數據;

(3)翻轉:輸出FPGA寄存的翻轉像素數據;

(4)保持當前像素:輸出 FPGA從 SDRAM中讀出的當前像素數據;

(5)結束填充:最后一次輸出FPGA寄存的像素數據。

FPGA每讀出一個像素數據,均根據像素標記進行狀態轉移操作。在當前像素輸出狀態下,如果讀出的像素無標記,則保持在當前像素輸出狀態;如果讀出的像素帶有填充標記,則轉換到填充狀態。

填充狀態下,如讀出的像素數據無標記,則保持在填充狀態下;如果讀出的像素帶有結束標記,則轉移到結束填充狀態;如果讀出的像素數據帶有翻轉標記,則轉移到翻轉狀態;如果讀出的像素數據帶有保持標記,則轉移到保持當前像素狀態。

翻轉狀態下,如果讀出的像素無標記,則保持在翻轉狀態;如果讀出的像素帶有結束標記,則轉移到結束填充狀態;如果讀出的像素帶有保持標記,則轉移到保持當前像素狀態。

保持當前像素狀態處理完畢后則根據跳轉前的狀態轉移到填充或翻轉狀態。如前一狀態是填充狀態,則轉移到填充狀態;如前一狀態是翻轉狀態,則轉移到翻轉狀態。

結束填充狀態處理完畢后則轉移到當前像素輸出狀態。

3 試驗結果

本設計中ADSP-TS201的系統時鐘頻率為125 MHz,內核工作頻率為系統時鐘的4倍頻,即500 MHz,SDRAM訪問的時鐘頻率設置為 125 MHz,與系統時鐘保持一致。分別采用FPGA硬件加速方式和DSP純軟件實現方式,生成圖5所示的分辨率為 1 024×768的典型機載畫面,對圖4中TIME_DRAW信號的低電平時間進行測試得到圖形生成時間,圖形生成時間的倒數即為圖形更新幀率。兩種實現方式下的效率對比如表1所示。

表1 不同填充方法繪圖效率對比

4 結論

本文針對機載座艙圖形生成與顯示系統的工作特點,提出了一種適宜FPGA硬件實現的像素消隱和填充加速方法。對圖形生成算法的軟硬件任務進行合理分工,DSP采用預置像素標記的方式,將圖形生成算法中影響軟件執行效率的畫面消隱和色塊填充運算分配給FPGA由狀態機實現。運用本文所述圖形生成硬件加速方法,繪制一幅典型的機載EFIS畫面,效率較純軟件實現方式可提升兩倍以上。

[1]MOIR I,SEABRIDEG A.軍用航空電子系統[M].吳漢平,譯.北京:電子工業出版社,2008.

[2]邢新強,李國超,肖鋒.機載座艙顯示發展趨勢分析[J].飛機設計,2010,30(2):34-36.

[3]李翠娟,陳川,張曉曦,等.幾種機載視頻技術要點分析與發展趨勢探討[J].航空電子技術,2012,42(1):129-131,134.

[4]孔全存,李成貴,張鳳卿.主飛行儀表圖形加速顯示系統的FPGA設計[J].電子技術應用,2007(4):62-64.

[5]胡小龍,周俊明,夏顯忠.飛機座艙圖形顯示加速系統設計及 FPGA實現[J].中南大學學報,2008,39(5):1032-1048.

[6]SPITZER C R.數字航空電子技術(上)航空電子元件、軟件和功能件[M].謝文濤,譯.北京:航空工業出版社,2010.

[7]OISON T J.Hardware 3D graphics acceleration for mobile devices[C].Acoustics,Speech and Signal Processing,2008:5344-5347.

[8]趙俊超.集成電路設計 VHDL教程[M].北京:希望電子出版社,2002.

Hardware accelerating design at cockpit graphics generation system

Cao Feng,Gao Weilin
(Suzhou Changfeng Avionics Company Limited,Suzhou 215151,China)

According to the requirement of real-time generation and display of high resolution graphics at cockpit,a method of graphics blanking and filling acceleration is proposed.A state machine is designed in FPGA to process the pixel sign set by DSP.SDRAM is used as frame memory,and accessed by DSP and FPGA through pingpong operation.In this way,blanking and accelerating for the graphics with high definition is achieved.There is no need to write the data back to SDRAM,which produces zero delay for graphics output.Experimental results reveal that the proposed solution is capable of reducing the graphics drawing time.

high resolution graphics display;hardware acceleration;sign processing;state machine

V243.6

A

10.16157/j.issn.0258-7998.2015.07.010

曹峰,高偉林.飛機座艙圖形生成系統的硬件加速設計[J].電子技術應用,2015,41(7):37-39,43.

英文引用格式:Cao Feng,Gao Weilin.Hardware accelerating design at cockpit graphics generation system[J].Application of Electronic Technique,2015,41(7):37-39,43.

2015-03-20)

曹峰(1979-),男,碩士,高級工程師,主要研究方向:座艙顯示與人機工效。

猜你喜歡
狀態機座艙像素
像素前線之“幻影”2000
開放式數字座艙軟件平臺IndiGO
規律:座艙真漂亮
NDT推出面向下一代智能座艙應用的壓感觸控解決方案
基于有限狀態機的交會對接飛行任務規劃方法
“像素”仙人掌
éVOLUTIONDIGAE Style de vie tactile
高像素不是全部
雙口RAM讀寫正確性自動測試的有限狀態機控制器設計方法
基于反熔絲FPGA的有限狀態機加固設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合