基于WindowsCE的車載電腦系統(tǒng)人機界面的實現(xiàn)
介紹了基于Windows CE的車載電腦系統(tǒng)人機界面的設(shè)計及其實現(xiàn),著重論述了虛擬儀表界面和混合動力界面的設(shè)計過程與實現(xiàn)技術(shù),并給出車載電腦系統(tǒng)人機界面的實現(xiàn)結(jié)果。
1引言
當前我國的汽車工業(yè)正處于一個突飛猛進的發(fā)展時期,汽車工業(yè)已成為我國國民經(jīng)濟發(fā)展的重要支柱產(chǎn)業(yè)之一。汽車電子在汽車產(chǎn)業(yè)中的地位也越來越重要,汽車電子的數(shù)字化、信息化、網(wǎng)絡(luò)化是21世紀消費類汽車電子產(chǎn)品技術(shù)發(fā)展的必然趨勢。但車載電腦系統(tǒng)在汽車中的應(yīng)用目前還處于探索階段,缺乏整合信息及網(wǎng)絡(luò)技術(shù)的比較實用的應(yīng)用模型。而Windows CE是一個搶先式多任務(wù)并具有強大通信能力的32位的嵌入式操作系統(tǒng),良好的圖形用戶界面提供基本的繪圖引擎、窗口管理、界面的事件機制等。將Window CE操作系統(tǒng)嵌入到車載電腦系統(tǒng)中,使得系統(tǒng)中人機界面實現(xiàn)簡單,而且直觀,方便駕駛員與汽車之間進行信息的交互。
2 Windows CE操作系統(tǒng)簡介
Microsoft Windows CE是一個多平臺、多任務(wù)、多線程、可裁減的32位嵌入式操作系統(tǒng)。它具有強大的通信能力,是微軟專門為信息設(shè)備、移動應(yīng)用、消費類電子產(chǎn)品、嵌入式應(yīng)用等非PC領(lǐng)域設(shè)計的全新戰(zhàn)略性操作系統(tǒng)產(chǎn)品。它只需500KB的RAM就可以把系統(tǒng)全部裝下。最新版的Windows CE內(nèi)核只需200KB的運行空間。Windows CE主要包括內(nèi)核、持久存儲、圖形和多媒體、進程間通信、通信服務(wù)、安全服務(wù)、用戶界面服務(wù)、Internet服務(wù)和本地化支持等模塊。Windows CE在可裁減性、可移植性以及實時性等方面都有獨特的優(yōu)勢。
Windows CE的主要特征為:
⑴具有模塊化的可裁減內(nèi)核結(jié)構(gòu)。
⑵適應(yīng)小型系統(tǒng),為低成本弱計算能力系統(tǒng)提供簡介、高效、完善的控制手段。
⑶遵循Windows平臺的應(yīng)用開發(fā)規(guī)范,提供Win32 API等。
⑷靈活的內(nèi)存訪問機制,可以使系統(tǒng)中不同類型的應(yīng)用程序充分地使用RAM、ROM和閃存,并有選擇地有效利用處理器提供地虛存、保護等功能。
⑸高效地任務(wù)管理調(diào)度機制,具有256級優(yōu)先級和動態(tài)優(yōu)先級搶占式調(diào)度地功能。
⑹支持實時應(yīng)用。
⑺提供高級電源管理功能。
3車載系統(tǒng)人機界面的設(shè)計
在車載系統(tǒng)人機界面的顯示和控制中,我們采用液晶屏和觸摸屏相結(jié)合的方式。這樣就大大減小了系統(tǒng)在車中占有的空間。利用液晶屏實現(xiàn)車內(nèi)各種信息的顯示、菜單操作、圖形顯示及觸摸屏控制,為車載系統(tǒng)提供良好的人機界面。
人機界面設(shè)計成四個主要的界面:虛擬儀表界面、故障診斷界面、混合動力界面和視頻顯示界面。
虛擬儀表界面主要顯示車速、水溫、油位、油壓、輪速、電壓等車內(nèi)的各種信號。并且利用輪速信號計算出里程數(shù)進行顯示。這樣駕駛員能夠準確了解到車運行過程中的各種基本信息,能夠?qū)Ω鞣N即將出現(xiàn)的情況作出及時的判斷。
故障診斷界面主要顯示的是車內(nèi)各種部件的工作狀態(tài),以使駕駛員及時發(fā)現(xiàn)車輛行駛中的異常現(xiàn)象,排除發(fā)生危險的各種故障,這樣對駕駛員的行車安全有非常大的幫助。
混合動力界面主要是利用動畫來顯示每個時刻車內(nèi)能量流動的各種狀態(tài),包括純電池能量狀態(tài)、純?nèi)加湍芰繝顟B(tài)和混和能量狀態(tài)。
視頻顯示界面只要是實時顯示從攝像頭傳送過來的畫面,主要應(yīng)用在倒車的時候。
界面設(shè)計中有一個默認的啟動界面及幾個相關(guān)的顯示界面用于動態(tài)顯示采集的數(shù)據(jù),界面是通過窗口上的控制按鈕產(chǎn)生相應(yīng)的消息進行切換;控制按鈕可以是屏幕上虛擬按鈕或?qū)嶋H外設(shè)的按鍵或其他能使系統(tǒng)產(chǎn)生相應(yīng)消息切換的裝置。啟動LOGO界面在顯示一段時間后自動進入到其中一個特定的顯示界面。顯示界面中要顯示數(shù)據(jù)通過串口對車內(nèi)信號進行接收,程序接收采用線程方式,接收程序作為線程獨立工作,并在取得相應(yīng)的數(shù)據(jù)后產(chǎn)生相應(yīng)的消息,由不同的消息去觸發(fā)人機界面的不同區(qū)域更新顯示數(shù)據(jù)。圖1為開機后的界面顯示的切換。
圖1 人機界面顯示切換
在虛擬儀表界面中為了更加形象的模擬運行中車速和輪速指針的擺動情況,我們對指針的顯示采用阻尼的方式進行動態(tài)的顯示,對要顯示的數(shù)據(jù)進行了適當?shù)奶幚恚_到加速或減速時指針開始快速擺動然后緩慢到達終點的效果。數(shù)據(jù)的顯示大致分成兩類,加速和減速,分別對應(yīng)于圖2中曲線的L1,L2。L1是加速曲線,其起點不一定是在零點,在加速過程中其函數(shù)可對采集來的數(shù)據(jù)進行處理,使其在開始階段上升速度較快,在儀表上表現(xiàn)為指針擺動較快,當快要到達加速的終點時加入適當?shù)淖枘峒把訒r系數(shù),使指針擺動的速度變緩并逐漸停留在終點位置。同樣在減速時在靠近減速起點階段下降速度稍微快些,快到終點時下降速度變緩,逐漸趨向與終點速度,虛擬表盤的指針表現(xiàn)為快速下降然后緩慢穩(wěn)定在終點上。
圖2儀表阻尼顯示原理圖
4車載系統(tǒng)人機界面的實現(xiàn)
車載電腦系統(tǒng)人機界面的開發(fā)環(huán)境采用微軟提供的eVC4.0,開發(fā)系統(tǒng)處理器采用Intel的XScale PXA255,SDK我們采用Platform Builer4.2裁減定制而成。由于在eVC中,并沒有多文檔框架,而我們要顯示多個不同的界面,所以我們采用單文檔的形式顯示多個不同的窗體來進行窗體的切換。我們創(chuàng)建一個基于CFormView的單文檔應(yīng)用程序,再添加幾個窗體和與之對應(yīng)的基于CFormView的新視類,然后通過在主框架類里添加控制代碼和菜單控制實現(xiàn)這兩個窗體的動態(tài)切換。這種方法避免了普通WINDOWS窗口界面上的多余的工具條、菜單、文本框等內(nèi)容,完全符合人機操作界面的要求。
圖3混合動力界面采用了動畫的顯示方法。其關(guān)鍵就是在內(nèi)存中創(chuàng)建一個與顯示動畫的窗口區(qū)域一樣大的位圖,先用GDI函數(shù)繪制位圖,然后在適當?shù)臅r候從內(nèi)存中顯示出來。因為位圖已經(jīng)繪制好,不像平時編程一樣邊繪制邊顯示,所以,顯示一幀圖形時,減少了閃爍,從而實現(xiàn)平滑動畫;并且,圖形是從內(nèi)存中直接顯示到當前窗體,所以速度也很快,從而實現(xiàn)高速動畫。我們首先建立一個新類CPowerBitmap,利用CreateCompatibleBitmap()函數(shù)在內(nèi)存中建立一個與顯示界面相同大小的區(qū)域,然后在內(nèi)存的這個區(qū)域中畫出要顯示的圖形,最后通過BitBlt()在屏幕上進行顯示。利用OnTimer()函數(shù)定時一定的時間對不同位置的箭頭進行顯示,這樣就實現(xiàn)了箭頭的動態(tài)移動。而且利用OnTimer()函數(shù)在不同位置顯示時,必須先將原來顯示的圖形去掉,然在新的位置上畫出圖形。
在圖4虛擬儀表顯示界面中輪速和車速的顯示是用表盤+指針的形式進行顯示。油壓、水溫和里程用Edit box的形式顯示。油位和電壓用進度條顯示。為了避免在顯示時的輪速和車速表盤的閃爍問題,我們只實時的刷新車速和輪速的指針。采用的方法是如果要顯示的數(shù)據(jù)與原來數(shù)據(jù)相同,指針不變。否則我們先用底色將原來的指針覆蓋,然后在新的位置畫出指針。
故障診斷界面的顯示如圖5所示,左側(cè)顯示出車內(nèi)故障的大體位置,然后在右側(cè)顯示出出現(xiàn)故障的部件、位置及其故障名稱。這樣有利于故障的排除與維修。
圖3混合動力界面
圖4 虛擬儀表界面
圖5 故障診斷界面
4結(jié)束語
人機界面作為人與汽車信息交互的樞紐的因素,必須將車內(nèi)信息實時、準確而且容易識別的方式傳遞給駕駛員,才能達到人與汽車的最佳配合。而基于Windows CE操作系統(tǒng)制作的人機界面能夠很好的滿足車載系統(tǒng)的要求,它將在車載系統(tǒng)中應(yīng)用越來越廣泛。
參考文獻
[1]Douglas Boling.Microsoft Windows CE程序設(shè)計[M].北京:北京大學出版社,1999年.
[2]傅曦.嵌入式系統(tǒng)Windows CE開發(fā)技巧與實例[M].北京:化學工業(yè)出版社,2004年.
[3]羅仕鑒.人機界面設(shè)計[M].北京:機械工業(yè)出版社,2002年.
[4]陳章龍.嵌入式技術(shù)與系統(tǒng)-Intel XScale結(jié)構(gòu)與開發(fā)[M].北京:北京航空航天大學出版社,2004年.