嵌入式車載導(dǎo)航信息系統(tǒng)研究
選用PCM-5820作為嵌入式車載信息系統(tǒng)的硬件平臺,Windows CE作為嵌入式系統(tǒng)的操作系統(tǒng)平臺。PCM-5820完全滿足系統(tǒng)在存儲容量、處理速度、通信接口、功耗、體積等方面的要求。Windows CE具有方便定制、移植簡單、實時性強(qiáng)、可靠性高、體積小等優(yōu)點,且具有與PC操作系統(tǒng)一致界面風(fēng)格和操作方式,實現(xiàn)豐富的API,便于開發(fā)。基于以上平臺,圖2給出嵌入式車載導(dǎo)航系統(tǒng)的軟件結(jié)構(gòu)。本文引用地址:http://m.butianyuan.cn/article/151929.htm
該系統(tǒng)的定位模塊和無線通訊模塊需借助相應(yīng)裝置,導(dǎo)航信息系統(tǒng)直接收發(fā)這些裝置數(shù)據(jù),處理后為系統(tǒng)所用;路徑規(guī)劃和路線引導(dǎo)模塊功能的實現(xiàn)算法研究已相當(dāng)深入,這里不再贅述。而對于導(dǎo)航電子地圖模塊,為便于功能實現(xiàn)和后期擴(kuò)展,按其功能分為矢量圖形系統(tǒng)和導(dǎo)航數(shù)據(jù)庫系統(tǒng),前者是按特定要求顯示矢量圖形,后者是存儲和管理圖形元素的幾何數(shù)據(jù)(如坐標(biāo)等)、屬性數(shù)據(jù)(如道路等級等)以及其
他相關(guān)數(shù)據(jù)(如交通信息等)。
2 導(dǎo)航矢量圖形系統(tǒng)
2.1 基于EVC的矢量圖形系統(tǒng)
分析地圖發(fā)現(xiàn),地圖矢量化后矢量圖形的元素類型有:點(Point)、線(Line)、連續(xù)折線(Polyline)、區(qū)域(Region)、弧線(Arc)、文本(Text)、矩形(Rectangle)、圓角矩形(Rounded Rectangle)、橢圓(Ellipse)、圓(Circle)、符號(Symbol)等11個類型。導(dǎo)航電子地圖中,符號只用于顯示,而且類型有限,該系統(tǒng)采用柵格方式在矢量圖形上透明顯示。其余10種圖形元素并非獨立分類,比如,元素點可用其他若干個元素組合表達(dá):矩形元素(在嵌入式C++中有直接函數(shù)支持)實質(zhì)是一個特殊區(qū)域。
考慮以上每個對象類都有如線型、顏色等的公共數(shù)據(jù),可抽象一個基類。本文共建立了15對象類及結(jié)構(gòu):基類Class CDraw、線類Class Cline:public CDraw、多線類Class CPline:public CDraw、區(qū)域類Class CArea:public CDraw、橢圓弧類Class CEarc:public CDraw、圓類偽代碼描述Class CCirele:public CDraw、矩形類Class Crectangle:public CDraw、圓角矩形類Class CroundedRectangle:public CDraw、橢圓類Class CEllipse:public CDraw、文本類Class CText:public CDraw、符號類Class CSvmbol:public CDraw、繪制矢量圖形參數(shù)類Class CgraphPara、圖層屬性結(jié)構(gòu)typedef struct、當(dāng)前畫面屬性結(jié)構(gòu)tvoedef struct、導(dǎo)航目標(biāo)屬性結(jié)構(gòu)typedef stmct。
車載導(dǎo)航電子地圖一般采用小液晶顯示屏顯示。為了實現(xiàn)導(dǎo)航,顯示的畫面內(nèi)容應(yīng)盡可能簡單明了,所以矢量圖形將數(shù)據(jù)分層組織,在圖形元素的基類中設(shè)有表示元素所處圖層的信息。除了將元素分類為不同的顯示圖層,簡化顯示內(nèi)容,基類還可設(shè)置該元素是否顯示標(biāo)志位,這樣可提高顯示速度,節(jié)省資源。例如。在同一圖層元素,如果有些元素不在當(dāng)前顯示窗口,可以不進(jìn)行與顯示有關(guān)的后臺操作(坐標(biāo)變換等)。DPtoVP和VPtoDP方法是實際坐標(biāo)(地理坐標(biāo))和圖形坐標(biāo)相轉(zhuǎn)換。通過矢量化得到的圖形元素的位置數(shù)據(jù)一般是某種坐標(biāo)系下的坐標(biāo)值,而本系統(tǒng)用戶可見的顯示坐標(biāo)范圍為從(0,0)至(640,480),所以需進(jìn)行坐標(biāo)變換。每個圖形元素都需Draw(繪制)方法,但不同元素的繪制方法各不相同,為了方便Draw方法使用,在基類中將Draw定義為純虛函數(shù),在子類中重載時再具體賦以不同繪制內(nèi)容。
2.2 矢量圖形系統(tǒng)優(yōu)化
嵌入式車載導(dǎo)航系統(tǒng)硬件平臺一般采用低功耗設(shè)計,運算能力有限。但導(dǎo)航電子地圖顯示畫面往往含有大量圖形元素,圖形顯示一次需花費大量時間。如果采用每次全部繪制所有電子地圖內(nèi)容并直接輸出到畫面,則會導(dǎo)致畫面刷新慢和重繪閃爍明顯。因此需優(yōu)化矢量圖形的繪制方法。
2.2.1 提高圖形的顯示速度
一般繪圖方法是繪制所有圖形元素,而這樣嚴(yán)重影響繪圖速度。為了加快繪圖速度,在顯示一個圖形元素前,先判斷該圖形元素是否在當(dāng)前視圖屏幕中,如果不在,則無需繪制,從而節(jié)省繪制時間州。而判斷一個圖形元素是否在當(dāng)前視圖屏幕.需計算判斷圖形元素與當(dāng)前視圖屏幕矩形是否相交,但此方法需大量計算,影響顯示速度。采用的判斷圖形元素是否需要繪制的方法應(yīng)允許不太嚴(yán)密,但要計算簡單。在每次重繪圖形元素前,首先判斷元素是否顯示,并只繪制所需部分。這樣就大大加快繪圖速度,并能滿足導(dǎo)航電子地圖系統(tǒng)顯示要求。
評論