999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

飛行顯示器實時顯示設計與實現

2013-04-12 00:00:00文圣豐
現代電子技術 2013年14期

摘 要: 針對現代飛機電子座艙系統實時顯示要求,需要在數據處理和圖形顯示兩方面提高性能。為解決性能問題,在軟件上采用OpenGL結合VxWorks進行開發,針對數據接口特點合理設計多個任務進行數據處理,實際測試數據處理占用CPU小于2%;為提高圖形顯示效率,提出利用OpenGL強大的紋理貼圖功能實現文字、儀表的顯示,實踐表明紋理貼圖較點陣速度快、顯示效果好,顯示刷新率達到20 Hz ,滿足了實時顯示要求。項目驗證采用的軟件設計技術可滿足飛行顯示器實時性要求。

關鍵詞: 電子座艙; 實時顯示; 嵌入式系統; 航空電子

中圖分類號: TN911?34; V241.8 文獻標識碼: A 文章編號: 1004?373X(2013)14?0035?03

Design and implementation of real?time flight display

WEN Sheng?feng

(Aeronautical Computing Technique Research Institute, Xi’an 710119, China)

Abstract: For the real?time display requirements of airplane electronic cockpit, the performances of data processing and graphical display should be improved. To gain the desired performance, a method based on OpenGL and VxWorks is adopted. According to the characteristics of different interfaces, data can be processed by different tasks. The tests show that data processing just occupy less than 2% CPU time. To enhance the graphical display efficiency, the texture mapping techniques of OpenGL is utilized to realize display of texts and instruments. The practice shows that the texture mapping is faster and its display result is better than the dotting technique, and its display refresh rate is up to 20 Hz, which can meet the real?time requirements of flight display.

Keywords: electronic cockpit; real?time display; embedded system; avionics

隨著微電子、計算機、傳感器、自動控制等技術的發展成熟,采用信息集中顯示的飛行顯示器替代傳統分立儀表成為現實。相比以往多個分立儀表的配置,采用飛行顯示器可節省面板空間,提高系統可靠性,降低維護成本;而且通過將相關信息集中顯示,信息顯示更加直觀,大幅減輕飛行員工作強度。因此,采用飛行顯示器的電子座艙系統代表座艙技術的主流發展方向[1]。

飛行顯示器與大氣系統、航姿、導航系統、通信系統、飛行控制系統等系統交聯,實時采集處理交聯設備信息并按規范進行顯示,是飛機航電系統的核心部件。飛行顯示器屬于典型的嵌入式系統,實時性要求高,需實時處理各種交聯設備數據并實時更新顯示畫面。為滿足實時性要求,需要在硬件設計和軟件設計方面進行改進以提高系統性能。相對硬件設計在提高性能所付出的諸如功耗加大、成本上升等代價,軟件設計方面的改進代價較小,而且實踐表明合理的軟件設計對整體的性能提高尤為重要。本文結合筆者在某飛行顯示器中的開發經驗,對項目中采用的實時顯示技術進行詳細介紹,希望能對從事類似工作的人員提供有用參考。

1 系統概述

這里開發的飛行顯示器平臺主要配置如下:主處理器采用Motorola公司PMC8245處理器(PowerPC603e內核),圖形處理器(GPU)采用ATI公司的MOBILITY RADEON 9000,采用PCI總線,32位總線寬度,33 MHz總線頻率,顯示屏分辨率為1024×768,24位色。飛行顯示器與外部設備交聯的ARINC407,ARINC419,ARINC453,ARINC429、模擬量、離散量等接口由專門的接口處理板進行原始數據處理,并利用共享內存方式與主處理器間進行數據交換,與外部交聯的RS 422接口直接由主處理器處理。飛行顯示器作為航電系統核心,與外部設備交聯的接口數量和類型多,例如作者開發的飛行顯示器與外部設備交聯的接口含8路ARINC429,2路ARINC453,4路RS 422,2路ARINC407,其他接口還包括PAL視頻接口、XGA視頻接口、模擬量、離散量接口等。為實現實時處理上述接口的數據,并在高分辨率顯示器上實時顯示各種復雜的電子飛行儀表、導航、維護等畫面,必須對整個飛行顯示器的系統架構進行合理設計,并合理設計軟件架構。通過對比并綜合考慮開發進度、難度、效果,項目系統采用VxWorks 5.5實時操作系統,并在項目所采用的硬件平臺上針對VxWorks操作系統實現OpenGL移植,圖形開發在OpenGL圖形庫基礎上進行。

VxWorks是由風河(Wind River Systems,Inc.)公司開發的微內核、高性能、可伸縮的實時操作系統,采用基于優先級搶占的任務調度方式并支持相同優先級任務的時間片輪轉調度,支持共享內存、信號量、消息隊列、管道等多種任務間通信機制,快速中斷響應,支持廣泛的網絡通信協議[2?3]。VxWorks因其良好的可靠性和卓越的實時性被廣泛地應用于通信、軍事、航空、航天等高精尖及實時性要求極高的領域。OpenGL是一個開放的三維計算機圖形軟件接口,業已成為事實上的工業標準。OpenGL獨立于窗口系統和操作系統,有著強大的圖形功能和良好的跨平臺移植能力,支持建模、變換、顏色模式設置、光照與材質設置、紋理映射等[4]。采用OpenGL進行開發可以在PC機上對繪制的圖形進行驗證,驗證后可以移植到開發的目標機上,因PC機和目標機源代碼兼容,因此相對其他圖形開發庫可大幅加快開發進度。項目的軟件開發基于VxWorks系統和OpenGL圖形庫,下面將對開發中的重要技術問題進行描述。

2 數據處理

數據處理是飛行顯示器重要功能,包括前面所述的機載設備數據采集處理及周邊鍵、旋鈕等人機交互信息的處理。數據處理的要求是及時采集設備信息,及時響應人機交互操作,并將處理后的數據及時提供給顯示更新任務。數據處理部分開發基于VxWorks,利用其強大的多任務功能、消息隊列、信號量等任務間通信機制、看門狗定時器管理等功能可降低開發難度,保證產品的性能和質量。開發中將軟件按功能劃分為多個互相協調的任務,利用信號量、消息隊列等進行任務間通信,多個任務共同完成數據處理功能,并驅動顯示更新。數據處理需要考慮數據的特性,主要有數據更新時機及數據接口是否為阻塞式。按數據的更新時機將數據分為兩類:一類為周期性數據,如大氣機通過ARINC429接口周期發送的空速、氣壓高度、溫度等大氣數據;另一類為事件性數據,比如飛行員操作飛行顯示器周邊鍵產生的按鍵消息。按數據的接口特性可分為阻塞和非阻塞兩類,阻塞式接口在沒有數據時會引起當前任務阻塞,相反非阻塞式接口的調用不會引起任務阻塞。飛行顯示器軟件將數據的接收分為多個任務,一個為周期的非阻塞接口的處理任務,處理周期性數據,例如項目中的ARINC429通信,在驅動層按非阻塞實現,且數據是周期更新。利用定時器實現按接口定義所要求的周期處理數據,系統分兩類時鐘:系統時鐘sysClk和輔助時鐘auxClk,其中系統時鐘因涉及許多的系統調用分辨率設置較低,默認為60 Hz,否則會影響整個系統系能;輔助定時器可以設置為分辨率,用于周期較短的任務。按接口定義文件要求,對各類設備的周期特性進行分類,按不同周期進行處理。

對會引起任務阻塞的接口所對應的數據,分別采用單個任務處理,將處理后的數據發送至消息隊列,由主處理任務進行數據最后的融合,例如項目周邊鍵通過RS 422接口輸出操作信息,因RS 422接口驅動會引起任務阻塞,創建專門任務進行數據接收并將接收到的按鍵消息發送至消息隊列交由主任務處理。通過合理的任務設計,實際運行時CPU空閑時間達98%以上(無運行圖形顯示任務時的測試數據),對每一個準備好的任務可以及時響應,實踐表明數據處理滿足實時性。

3 圖形顯示

飛行顯示器最重要的功能是進行各種飛行參數的顯示,例如俯仰、橫滾、航向、空速、高度等重要飛行參數顯示。上述飛行參數采用圖形化方式進行顯示,如圖1所示,通過圖形符號的相對運動指示飛行參數。為了流暢顯示上述運動畫面,顯示畫面更新速率必須足夠高,通常俯仰和橫滾顯示更新率[5]不低于15 Hz,否則將導致畫面不流暢,信息顯示滯后。因此飛行顯示器圖形顯示除了美觀、準確等功能要求外,性能要求尤為重要,實時性要求為飛行顯示器開發的重要約束。根據顯示元素的特點可將顯示元素分為文字、電子飛行儀表及其他特定圖形,如圖1所示,下文分別介紹上述元素的顯示開發技術。

3.1 文字顯示

在飛行顯示器顯示元素中文字占很大比重,例如提示信息、儀表盤指示讀數、刻度帶讀數等均包含文字顯示。OpenGL標準僅支持點、線、三角形等直接顯示,本身并不提供直接的文字顯示接口,因此在VxWorks環境下進行文字顯示,開發者需自己實現類GUI的文字顯示接口。

按顯示原理通常將文字顯示分為矢量文字、點陣文字兩種,在OpenGL下利用其強大的紋理貼圖功能,文字顯示還可通過紋理貼圖方式進行顯示,稱其為圖片文字。上述三種顯示方式各有優缺點,開發者需根據實際要求進行選擇。

圖1 飛行顯示器典型畫面示意圖

矢量文字的每個字形用數學曲線來描述,它包含了字形邊界上的關鍵點、連線的導數信息等,比如一個筆劃的起始、終止坐標,半徑、弧度等。

渲染引擎讀取這些數學矢量,然后進行一定的數學運算來進行渲染。矢量字體的優點是字體實際尺寸可以任意縮放而筆劃輪廓仍然能保持圓滑,缺點是字體信息提取困難,實現復雜,渲染消耗資源大,速度慢,因此在實時性要求較高的嵌入式系統中較少使用。

點陣字體的每個字形都以一組二維像素信息表示,通過讀取存儲的文字點陣信息,在對應位置打點實現文字顯示。點陣文字原理簡單,實現方便,但很難進行縮放,特定大小的點陣字體只能清晰地顯示在相應的字號下,縮放后會產生馬賽克式的鋸齒。

圖片文字是將文字按一定規律預先繪制在圖片上,將圖片載入顯存,顯示文字時綁定特定圖片至紋理,通過紋理貼圖方式進行文字顯示。因OpenGL對紋理的良好支持,以紋理貼圖方式顯示文字效率高;而且通過選擇線性過濾,文字放大縮小比例恰當時顯示效果較好,系統可只存儲一種大小的字體就可滿足多種字體的顯示,節省存儲空間。

通過比較,項目采用紋理貼圖方式進行文字顯示,實踐驗證此種方式顯示效果較好、顯示效率高,滿足系統要求。

圖片文字的開發大致分為以下幾部分工作:圖片的生成、文字索引編制、文字顯示接口設計。圖片生成指在PC機上生成記錄文字信息的圖片,圖片生成后以紋理加載至顯存,文字顯示時通過控制紋理坐標繪制四邊形實現文字顯示。

圖片生成時按一定規律對文字進行排列,文字索引編制指根據文字編碼計算文字對應的紋理坐標,生成文字編碼與紋理坐標的對應關系。文字顯示接口設計提供對齊方式、顯示大小、顏色、是否帶下劃線等設置功能。

3.2 電子飛行儀表顯示

飛行顯示器顯示常用電子飛行儀表,包括電子地平儀、速度指示帶、高度指示帶、升降速度指示帶、航向指示帶、羅盤卡等,如圖1所示。

電子飛行儀表顯示的特點是刻度帶、表盤固定或只是平移、旋轉,因此飛行儀表顯示可采用紋理貼圖方式顯示。例如,俯仰刻度帶顯示可以預先生成刻度圖片,而后根據俯仰角度進行上下平移,根據橫滾角度進行旋轉一定角度后以貼圖方式進行顯示;羅盤卡可對羅盤卡旋轉后貼圖顯示。采用貼圖方式,在繪制斜線、圓等圖形時,可以避免鋸齒的產生。

3.3 其他圖形顯示

其他圖形指飛機符、游標、指針等簡單圖形,利用OpenGL繪制函數直接繪制。

通過采取上述文字顯示技術、飛行儀表顯示技術,并結合OpenGL的優化方法,可實現實時要求,而且可以達到抗鋸齒等顯示效果。

4 結 語

作為電子座艙系統中最重要的飛行顯示器,實時性要求極高。本文總結了飛行顯示器項目開發中針對實時性要求的設計考慮,分享了OpenGL及VxWorks使用經驗,可作為相關開發人員參考。

參考文獻

[1] MOIR Ian, SEABRIDGE Allan. Civil avionics systems [M]. UK: Professional Engineering Publishing, 2003.

[2] Wind River System, Inc. VxWorks programmer’s guide [M]. US: Wind River System, Inc., 2003.

[3] 孔祥營,柏桂枝.嵌入式實時操作系統VxWorks及其開發環境Tornado[M].北京:中國電力出版社,2002.

[4] 鄧鄭祥.OpenGL 編程指南[M].4版.北京:人民郵電出版社, 2005.

[5] SAE International. SAE AS8034 minimum performance standard for airborne multipurpose electronic displays [S].USA: SAE International, 2005.

[6] WRIGHT Richard S, Jr., LIPCHAK Benjamin, HAEMEL Nicholas. OpenGL superbible [M]. US: Addison?Wesley, 2007.

主站蜘蛛池模板: 99久久精品视香蕉蕉| 国产91高清视频| 一区二区影院| 亚洲天堂2014| 天堂va亚洲va欧美va国产| 欧美日韩精品一区二区在线线 | 亚洲精品欧美日韩在线| 欧美特黄一免在线观看| 亚洲欧美天堂网| 亚洲区第一页| 欧美全免费aaaaaa特黄在线| 波多野结衣无码视频在线观看| 欧美激情第一区| 久久国产精品国产自线拍| 91麻豆久久久| 亚洲免费福利视频| 波多野结衣中文字幕一区二区| 在线毛片免费| 538国产视频| 色综合五月婷婷| 国产欧美视频在线| 精品午夜国产福利观看| 无码中字出轨中文人妻中文中| A级毛片高清免费视频就| 少妇被粗大的猛烈进出免费视频| 好紧太爽了视频免费无码| 伊人久综合| 成人精品在线观看| 午夜一区二区三区| 91在线播放免费不卡无毒| 666精品国产精品亚洲| 久久久久久午夜精品| 国产精品亚洲五月天高清| 在线观看国产网址你懂的| 91美女在线| 国产黑丝一区| 国产精品亚洲αv天堂无码| av一区二区人妻无码| 日韩在线播放欧美字幕| 亚洲AⅤ波多系列中文字幕| 啦啦啦网站在线观看a毛片| 久久永久免费人妻精品| 久久国产精品夜色| 亚洲人网站| 亚洲欧美成aⅴ人在线观看| 国产又黄又硬又粗| www.精品视频| 欧美啪啪一区| 九九久久精品免费观看| 亚洲三级a| 园内精品自拍视频在线播放| 在线免费看片a| 日韩精品久久久久久久电影蜜臀| 91麻豆国产在线| 国产成人精品在线| 久久精品国产电影| 欧美视频免费一区二区三区| 高清无码不卡视频| 国产成人禁片在线观看| 美女免费黄网站| 午夜欧美理论2019理论| 精品撒尿视频一区二区三区| 久久www视频| 亚洲人人视频| 性喷潮久久久久久久久| 欧美精品亚洲精品日韩专区va| 香蕉综合在线视频91| 欧美成人精品欧美一级乱黄| 久久semm亚洲国产| 亚洲中文精品久久久久久不卡| 午夜福利亚洲精品| 欧美性精品不卡在线观看| 久久久久国产精品免费免费不卡| 久久中文无码精品| 亚洲成a人片| 亚洲精品大秀视频| 精品成人一区二区三区电影| 日韩经典精品无码一区二区| 久久亚洲AⅤ无码精品午夜麻豆| 99在线视频免费观看| 动漫精品中文字幕无码| 久久亚洲AⅤ无码精品午夜麻豆|