主飛行儀表圖形加速顯示系統的FPGA設計
發布時間:2008/5/27 0:00:00 訪問次數:727
    
     孔全存,李成貴,張鳳卿
    
    主飛行顯示儀pfd(primary flight display)包含了至關重要的安全飛行信息,它包括被安裝在與傳統“t”型配置的模擬儀表及相同屏幕位置上的飛行儀表。pfd通常直接在飛行員的正前方。隨著航空電子技術的快速發展,傳統的crt顯示終端逐步被光柵式圖形顯示器lcd所替代。然而,光柵式圖形顯示系統在顯示圖形前,需要大量的各種運算,如圖形掃描變換、反走樣、圖形旋轉及其他的特殊算法操作。隨著顯示分辨率的提高,要處理的像素也越來越多,而所允許的處理時間卻受屏幕刷新率所限制。因此,怎樣實時生成并準確顯示逼真圖形畫面,是對嵌入式pfd設計者的一個極大的挑戰。而基于pc機的傳統圖形生成和圖形顯示方式,又過于復雜且存在安全隱患。鑒于這種情況,參考文獻[3-5]雖然提出了一些解決方法,但實際效果并不是很明顯。本文采用基于儀器總線和擴展總線的高速陣列信號處理板的設計模式,提出了一種基于硬件加速的pfd圖形顯示設計方法。該方法實現了圖形分層雙緩存交替切換、圖形填充、圖形合成和多通道dma像素引擎,提高了pfd圖形牛成和顯示的實時性和可靠性。文中以quartusⅱ5.0和mod-elsim_altera 5.6e為開發、仿真和綜合的平臺,存altera公司的cycloneⅱ系列fpca上成功下載并運行。
    1 整體設計方案
    
    在pfd顯示系統中,要同時顯示多個畫面,如姿態指引畫面、全羅盤畫面、導航地圖畫面及飛行視景等。每個畫面的處理算法都有其特殊性,如在姿態指引畫面中,顯示畫面需要根據飛機參數的變化實時更新,要求在地平線上填充監色背景(藍色表示天空),而在地平線下填充綠色(綠色表示大地)。隨著飛機姿態的變化,地平線將在邊界線內改變大小及方向,畫面上的藍色和綠色區域將重新分配,這種天地區域的動態重新填充是個非常費時的工作。此外,姿態指引畫面還需要疊加一些字符(俯仰角度等),這些字符需要隨著地平線一剛旋轉。可見,姿態指引畫面是電子主飛行儀中最為耗時的畫面之一。而全羅盤畫面則側重于字符、線段的繪制和旋轉變換,反走樣運算任務十分繁重。在導航地圖畫而生成和處理中,數據量和處理量都比較大,如位置顯示、飛行航跡生成等。針對不同圖形畫面的處理算法,本文設計了大規模陣列處理機模型,其主飛行儀表顯示系統整體沒計框圖如圖1所示。該設計采用共享外部總線和分布式并行處理相結合的系統結構。每個處理板通過儀器背板總線互相連接,提供了共事外部總線的結構;而相鄰板之間也有一套擴展總線,提供了局部共享總線的結構。這樣,板間既可通過背板總線直接交換數據,也可以通過擴展總線以dma方式進行數據傳輸。另外,每個板內,dsp通過局部總線連接一個容量較大的sdram作為全局共享外部存儲器,而fpga通過局部總線連接一個容量較小的雙口ram作為局部共享存儲器。這些全局和局部存儲器可以作為板間或dsp間數據交換的大型緩沖區。從圖形或圖像處理算法實現上考慮,這種結構既可滿足流水線式的并行算法,也可以滿足分布式的并行算法(同一算法分布到多個處理器同時執行)。
    
    
    2 fpga的設計
    
    針對每塊板的不同處理功能,對fpga進行了不同的算法設計。以板0#為例作一介紹。圖2為fpga的各種接口與系統其他部分的關系。
    
    
    2.1 總線接口設計
    
    系統有兩套總線:儀器總線和擴展總線。儀器總線仿vxi總線設計,采用雙排歐式插座設計,模擬信號和數字信號分開在各自的插座之上,提高了電磁兼容性。模擬部分主要包括:飛行傳感器測理信號和系統模擬電源。數字部分采用基于多板分布式并行處理機制的共享式總線結構,主要包括:24位地址總線、16位數據總線、模塊功能選擇與控制總線、以及時鐘和觸發信號等;擴展總線采用基于板間流水線處理機制的鏈式結構,主要包括:20位地址總線、8位數據總線和控制總線。總線接口中,讀寫控制、地址譯碼、中斷及dma控制、時鐘和握手信號均由fpga實現。限于篇幅,具體設計細節不再贅述。
    
    2.2 幀存控制模塊
    
    幀存控制模塊由交叉多路轉換器cross-mux、讀寫控制器和地址發生器組成。系統上電復位時,首先將變化頻繁、數據量小的前景與變化緩慢或不變、數據量大的背景圖形分開存儲于高速sram中,每3片sram組成全彩
    
     孔全存,李成貴,張鳳卿
    
    主飛行顯示儀pfd(primary flight display)包含了至關重要的安全飛行信息,它包括被安裝在與傳統“t”型配置的模擬儀表及相同屏幕位置上的飛行儀表。pfd通常直接在飛行員的正前方。隨著航空電子技術的快速發展,傳統的crt顯示終端逐步被光柵式圖形顯示器lcd所替代。然而,光柵式圖形顯示系統在顯示圖形前,需要大量的各種運算,如圖形掃描變換、反走樣、圖形旋轉及其他的特殊算法操作。隨著顯示分辨率的提高,要處理的像素也越來越多,而所允許的處理時間卻受屏幕刷新率所限制。因此,怎樣實時生成并準確顯示逼真圖形畫面,是對嵌入式pfd設計者的一個極大的挑戰。而基于pc機的傳統圖形生成和圖形顯示方式,又過于復雜且存在安全隱患。鑒于這種情況,參考文獻[3-5]雖然提出了一些解決方法,但實際效果并不是很明顯。本文采用基于儀器總線和擴展總線的高速陣列信號處理板的設計模式,提出了一種基于硬件加速的pfd圖形顯示設計方法。該方法實現了圖形分層雙緩存交替切換、圖形填充、圖形合成和多通道dma像素引擎,提高了pfd圖形牛成和顯示的實時性和可靠性。文中以quartusⅱ5.0和mod-elsim_altera 5.6e為開發、仿真和綜合的平臺,存altera公司的cycloneⅱ系列fpca上成功下載并運行。
    1 整體設計方案
    
    在pfd顯示系統中,要同時顯示多個畫面,如姿態指引畫面、全羅盤畫面、導航地圖畫面及飛行視景等。每個畫面的處理算法都有其特殊性,如在姿態指引畫面中,顯示畫面需要根據飛機參數的變化實時更新,要求在地平線上填充監色背景(藍色表示天空),而在地平線下填充綠色(綠色表示大地)。隨著飛機姿態的變化,地平線將在邊界線內改變大小及方向,畫面上的藍色和綠色區域將重新分配,這種天地區域的動態重新填充是個非常費時的工作。此外,姿態指引畫面還需要疊加一些字符(俯仰角度等),這些字符需要隨著地平線一剛旋轉。可見,姿態指引畫面是電子主飛行儀中最為耗時的畫面之一。而全羅盤畫面則側重于字符、線段的繪制和旋轉變換,反走樣運算任務十分繁重。在導航地圖畫而生成和處理中,數據量和處理量都比較大,如位置顯示、飛行航跡生成等。針對不同圖形畫面的處理算法,本文設計了大規模陣列處理機模型,其主飛行儀表顯示系統整體沒計框圖如圖1所示。該設計采用共享外部總線和分布式并行處理相結合的系統結構。每個處理板通過儀器背板總線互相連接,提供了共事外部總線的結構;而相鄰板之間也有一套擴展總線,提供了局部共享總線的結構。這樣,板間既可通過背板總線直接交換數據,也可以通過擴展總線以dma方式進行數據傳輸。另外,每個板內,dsp通過局部總線連接一個容量較大的sdram作為全局共享外部存儲器,而fpga通過局部總線連接一個容量較小的雙口ram作為局部共享存儲器。這些全局和局部存儲器可以作為板間或dsp間數據交換的大型緩沖區。從圖形或圖像處理算法實現上考慮,這種結構既可滿足流水線式的并行算法,也可以滿足分布式的并行算法(同一算法分布到多個處理器同時執行)。
    
    
    2 fpga的設計
    
    針對每塊板的不同處理功能,對fpga進行了不同的算法設計。以板0#為例作一介紹。圖2為fpga的各種接口與系統其他部分的關系。
    
    
    2.1 總線接口設計
    
    系統有兩套總線:儀器總線和擴展總線。儀器總線仿vxi總線設計,采用雙排歐式插座設計,模擬信號和數字信號分開在各自的插座之上,提高了電磁兼容性。模擬部分主要包括:飛行傳感器測理信號和系統模擬電源。數字部分采用基于多板分布式并行處理機制的共享式總線結構,主要包括:24位地址總線、16位數據總線、模塊功能選擇與控制總線、以及時鐘和觸發信號等;擴展總線采用基于板間流水線處理機制的鏈式結構,主要包括:20位地址總線、8位數據總線和控制總線。總線接口中,讀寫控制、地址譯碼、中斷及dma控制、時鐘和握手信號均由fpga實現。限于篇幅,具體設計細節不再贅述。
    
    2.2 幀存控制模塊
    
    幀存控制模塊由交叉多路轉換器cross-mux、讀寫控制器和地址發生器組成。系統上電復位時,首先將變化頻繁、數據量小的前景與變化緩慢或不變、數據量大的背景圖形分開存儲于高速sram中,每3片sram組成全彩