基于DSP與FPGA的全姿態(tài)指引儀圖形顯示系統(tǒng)設(shè)計(jì)
3.2 天地球區(qū)域的輪廓生成
因?yàn)樘斓厍虻奈恢煤托螤罟潭?,跟隨參數(shù)變化的是其區(qū)域的顏色信息,因而輪廓生成的任務(wù)就是根據(jù)變化的參數(shù)重新標(biāo)記填充區(qū)域邊界的顏色信息,以便FPGA根據(jù)邊界點(diǎn)的顏色信息確定區(qū)域內(nèi)像素點(diǎn)的顏色。在DSP初始化畫面生成天地球邊界時(shí),建立邊界數(shù)組存儲(chǔ)邊界點(diǎn)的位置以方便其顏色信息的標(biāo)記。在DSP接收到一組飛行參數(shù)后,根據(jù)俯仰角和側(cè)滾角重新賦給天地球的邊界和地平線以顏色信息。這種方法可以節(jié)省大量時(shí)間以滿足系統(tǒng)的實(shí)時(shí)性要求。
3.3 天地球區(qū)域的FPGA硬件填充
區(qū)域填充一般可以歸為兩大類:掃描轉(zhuǎn)換和種子填充。其中邊標(biāo)志填充算法和掃描線種子填充算法分別是這兩類中較為常用和高效的算法,邊標(biāo)志填充算法更適合于硬件和固件實(shí)現(xiàn)。故選用邊標(biāo)志填充算法完成區(qū)域填充,編程邏輯使用Verilog HDL實(shí)現(xiàn)。
具體思路如下:(1)DSP讀取雙口RAMl中存儲(chǔ)的已經(jīng)由FPGAl預(yù)處理了的信號(hào),生成一些直線、圓弧,如線段AB、弧線AC,在DSP進(jìn)行圖形生成的同時(shí),對(duì)需要填充的圖形進(jìn)行邊標(biāo)志的標(biāo)定,并通過(guò)雙口RAM2送至SRAMl(或SRAM2)中(說(shuō)明需要參照結(jié)構(gòu)原理框圖),(2)填充工作由FPGA2實(shí)現(xiàn),F(xiàn)PGA2并行地從SRAM2(或SRAMl)讀入像素,并進(jìn)行標(biāo)志識(shí)別與操作,實(shí)現(xiàn)邊標(biāo)志填充算法。算法具體描述如下:
(1)設(shè)立邊標(biāo)志,該功能由DSP完成,是在生成天地球填充輪廓的過(guò)程中,同時(shí)給邊界和地平線做上標(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)中讀出,對(duì)每條掃描線,依從左到右的順序,逐個(gè)訪問(wèn)該掃描線上的像素,對(duì)于像素具有藍(lán)色和綠色標(biāo)志的,分別定義一個(gè)布爾狀態(tài)量flag_blue和flag_green來(lái)指示當(dāng)前像素點(diǎn)的狀態(tài),若點(diǎn)在需要填充的藍(lán)色(或綠色)區(qū)域內(nèi),flag_blue(或flag_green)為真,反之,若點(diǎn)在填充區(qū)域外,flag_blue(或flag_green)為假;每當(dāng)當(dāng)前被訪問(wèn)的是被打上藍(lán)色邊標(biāo)志edge_blue(或綠色邊標(biāo)志edge_green)的像素時(shí),fl-ag_blue(或flag_green)取反;對(duì)未打任何邊標(biāo)志edge_no的像素,flag_blue(或flag_green)不變。算法確定輸出顏色時(shí),對(duì)于所訪問(wèn)的像素,根據(jù)flag_blue(flag_green)標(biāo)志把相應(yīng)的顏色Blue(Green)輸出顯示,否則,則直接把背景色Background輸出顯示。
3.4 滾動(dòng)刻度和字符處理
代表俯仰角的刻度和度數(shù)都在天地球區(qū)域內(nèi)實(shí)時(shí)的滾動(dòng),它與填充區(qū)域外面的移動(dòng)刻度和字符的區(qū)別是:刻度和字符不能超出填充區(qū)域,否則會(huì)擦除其它天地球外的重要信息。對(duì)于這個(gè)問(wèn)題可以通過(guò)以下方法解決:在初始化分層時(shí)標(biāo)記了的填充區(qū)域內(nèi),選擇一種與填充區(qū)域外的各種顏色和填充區(qū)域內(nèi)小飛機(jī)標(biāo)記顏色值不同的一種顏色數(shù)據(jù)來(lái)代表填充區(qū)域內(nèi)的滾動(dòng)字符和刻度。每次寫前判斷如果在填充區(qū)域外則不要寫,如果在填充區(qū)域內(nèi)且非標(biāo)志信息則寫出該字符或刻度,也就是如果刻度滾動(dòng)到區(qū)域外則不再顯示,但其位置信息仍然根據(jù)參數(shù)變動(dòng)。擦除時(shí),根據(jù)位置信息判斷像素點(diǎn)是不是移動(dòng)刻度和字符的顏色,如果是就擦成填充區(qū)域的原始數(shù)值,否則保持不變。這樣就實(shí)現(xiàn)了既不把字符寫道填充區(qū)域外,也不會(huì)將填充區(qū)域外的信息元擦除。其程序流程圖如圖3所示。
4 結(jié)束語(yǔ)
通過(guò)將圖形分層處理,只根據(jù)參數(shù)改變其填充層和動(dòng)態(tài)字符層信息,減少了DSP輪廓生成的運(yùn)算量。又按照硬件系統(tǒng)結(jié)構(gòu)特點(diǎn)將圖形運(yùn)算由DSP軟件標(biāo)記輪廓,F(xiàn)PGA硬件完成區(qū)域填充的方法,顯著加快了區(qū)域填充速度,使得畫面顯示取得效果良好。這種圖形處理方法對(duì)其它類似的圖形處理應(yīng)用場(chǎng)合具有很好的借鑒意義。
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論