新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP與FPGA的全姿態(tài)指引儀的設(shè)計

基于DSP與FPGA的全姿態(tài)指引儀的設(shè)計

作者: 時間:2010-07-12 來源:網(wǎng)絡(luò) 收藏

  3 圖形信息分層處理與顯示技術(shù)

  3.1 畫面初始化圖形分層

  圖形區(qū)域主要分為三種類型:一是背景區(qū)域,數(shù)據(jù)量大,但在圖形變化過程中不隨參數(shù)變化而改變;二是填充區(qū)域,數(shù)據(jù)量大,并且在圖形變化過程中隨著參數(shù)變化而不斷改變;三是動態(tài)的字符與刻度信息,數(shù)據(jù)量小頻繁變化又不同于填充區(qū)域。根據(jù)圖形的特性,系統(tǒng)上電后首先進(jìn)行畫面的初始化,將圖形分為背景層、填充層和動態(tài)字符層,背景層包括不隨參數(shù)改變的背景、刻度和字符等,填充層即天地球區(qū)域,動態(tài)字符層包括動態(tài)字符和直線區(qū)域。區(qū)域填充過程對動態(tài)字符層的處理和背景層相同,因而將該層和背景層構(gòu)成的區(qū)域稱為非填充區(qū)域。圖形的分層靠圖形區(qū)域標(biāo)志位來區(qū)分,為0表示為非填充區(qū)域,為1表示為填充區(qū)域,區(qū)域標(biāo)志位后跟隨著該點顏色信息。在畫面初始化中將天地球輪廓上點的坐標(biāo)存為數(shù)組,以方便根據(jù)地平線的位置和角度來標(biāo)記天地球填充區(qū)域的邊界。在畫面初始化后的輪廓重新生成過程中,背景層便不再改動,動態(tài)字符層信息因數(shù)據(jù)量小可每次都將改變了的部分擦除和重寫。根據(jù)參數(shù)生成帶有填充區(qū)域邊界標(biāo)記信息的填充層與背景層和動態(tài)字符層的疊加信息,就生成了一幅完整的圖形輪廓。圖2表示圖1(a)所示顯示畫面的分層結(jié)果,(a)、(b)和(c)分別為背景層、填充層和動態(tài)字符層。



  3.2 天地球區(qū)域的輪廓生成

  因為天地球的位置和形狀固定,跟隨參數(shù)變化的是其區(qū)域的顏色信息,因而輪廓生成的任務(wù)就是根據(jù)變化的參數(shù)重新標(biāo)記填充區(qū)域邊界的顏色信息,以便根據(jù)邊界點的顏色信息確定區(qū)域內(nèi)像素點的顏色。在初始化畫面生成天地球邊界時,建立邊界數(shù)組存儲邊界點的位置以方便其顏色信息的標(biāo)記。在DSP接收到一組飛行參數(shù)后,根據(jù)俯仰角和側(cè)滾角重新賦給天地球的邊界和地平線以顏色信息。這種方法可以節(jié)省大量時間以滿足系統(tǒng)的實時性要求。

  3.3 天地球區(qū)域的硬件填充

  區(qū)域填充一般可以歸為兩大類:掃描轉(zhuǎn)換和種子填充。其中邊標(biāo)志填充算法和掃描線種子填充算法分別是這兩類中較為常用和高效的算法,邊標(biāo)志填充算法更適合于硬件和固件實現(xiàn)。故選用邊標(biāo)志填充算法完成區(qū)域填充,編程邏輯使用Verilog HDL實現(xiàn)。

  具體思路如下:(1)DSP讀取雙口RAMl中存儲的已經(jīng)由l預(yù)處理了的信號,生成一些直線、圓弧,如線段AB、弧線AC,在DSP進(jìn)行圖形生成的同時,對需要填充的圖形進(jìn)行邊標(biāo)志的標(biāo)定,并通過雙口RAM2送至SRAMl(或SRAM2)中(說明需要參照結(jié)構(gòu)原理框圖),(2)填充工作由FPGA2實現(xiàn),F(xiàn)PGA2并行地從SRAM2(或SRAMl)讀入像素,并進(jìn)行標(biāo)志識別與操作,實現(xiàn)邊標(biāo)志填充算法。算法具體描述如下:

  (1)設(shè)立邊標(biāo)志,該功能由DSP完成,是在生成天地球填充輪廓的過程中,同時給邊界和地平線做上標(biāo)記,畫面除了背景色以外需要填充藍(lán)色和褐色兩種顏色(一些特殊情況,如俯仰角大于90°或者小于-90°,則只需填充藍(lán)色或褐色)。因此天地球的填充需要設(shè)立藍(lán)色邊標(biāo)志和褐色邊標(biāo)志。

  (2)像素操作,該功能由FPGA2完成,由布爾狀態(tài)量確定和輸出顏色確定兩部分組成。FPGA2把已打上邊標(biāo)志的圖形數(shù)據(jù)從幀存(SRAMl或SRAM2)中讀出,對每條掃描線,依從左到右的順序,逐個訪問該掃描線上的像素,對于像素具有藍(lán)色和綠色標(biāo)志的,分別定義一個布爾狀態(tài)量flag_blue和flag_green來指示當(dāng)前像素點的狀態(tài),若點在需要填充的藍(lán)色(或綠色)區(qū)域內(nèi),flag_blue(或flag_green)為真,反之,若點在填充區(qū)域外,flag_blue(或flag_green)為假;每當(dāng)當(dāng)前被訪問的是被打上藍(lán)色邊標(biāo)志edge_blue(或綠色邊標(biāo)志edge_green)的像素時,fl-ag_blue(或flag_green)取反;對未打任何邊標(biāo)志edge_no的像素,flag_blue(或flag_green)不變。算法確定輸出顏色時,對于所訪問的像素,根據(jù)flag_blue(flag_green)標(biāo)志把相應(yīng)的顏色Blue(Green)輸出顯示,否則,則直接把背景色Background輸出顯示。



評論


相關(guān)推薦

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

關(guān)閉