摘 要:低功耗已成為衡量電子系統(tǒng)的重要指標(biāo)。針對(duì)嵌入式GIS系統(tǒng)的特性,采用全動(dòng)態(tài)切換處理囂工作模式;通過數(shù)據(jù)調(diào)度、坐標(biāo)數(shù)據(jù)處理、繪制地圖符號(hào)和優(yōu)化關(guān)鍵算法等具體措施,降低處理器運(yùn)行時(shí)間,實(shí)現(xiàn)嵌入式GIS系統(tǒng)軟件低功耗設(shè)計(jì)。
引 言
嵌入式計(jì)算機(jī)技術(shù)的快速發(fā)展和社會(huì)需求的推動(dòng)使得G1S技術(shù)逐漸應(yīng)用于嵌入式系統(tǒng)中,構(gòu)成嵌入式GIS。
嵌入式GIS成了當(dāng)前GIS發(fā)展的一個(gè)熱門和重要研究方向。它具有數(shù)據(jù)采集、地圖瀏覽、信息檢索、路徑分析和地形分析等功能,目前已經(jīng)在城市智能交通系統(tǒng)(ITS)、物流配送系統(tǒng)、車輛導(dǎo)航及監(jiān)控系統(tǒng)和數(shù)字化武器裝備等系統(tǒng)中得到廣泛應(yīng)用。嵌入式GIS系統(tǒng)設(shè)計(jì)除要求體積小、質(zhì)量輕和性能好外,低功耗也成為重要指標(biāo),尤其是采用電池供電系統(tǒng)的便攜式產(chǎn)品,低功耗設(shè)計(jì)還起到節(jié)能環(huán)保作用。低功耗設(shè)計(jì)一般包括硬件低功耗設(shè)計(jì)和軟件低功耗設(shè)計(jì)兩大方面。硬件低功耗設(shè)計(jì)一般選用滿足性能指標(biāo)要求的低功耗芯片及其電路模塊,并支持單源、低電壓和分區(qū)電源供電方案。除硬件低功耗設(shè)計(jì)外,軟件運(yùn)行控制在一定程度上對(duì)系統(tǒng)功耗起著至關(guān)重要的作用。下面基于嵌入式GIS系統(tǒng)自身特性,采用全動(dòng)態(tài)切換處理工作模式、數(shù)據(jù)調(diào)度、處理坐標(biāo)數(shù)據(jù)、繪制地圖符號(hào)和優(yōu)化關(guān)鍵算法等軟件方法,描述如何降低嵌入式GIS系統(tǒng)運(yùn)行功耗,以指導(dǎo)類似系統(tǒng)的低功耗設(shè)計(jì)。
1 軟件低功耗措施
1.1 全動(dòng)態(tài)切換處理器的工作模式
嵌入式處理器是硬件系統(tǒng)的核心,運(yùn)行功耗占系統(tǒng)功耗的大部分。目前,嵌入式處理器一般采用RISC體系結(jié)構(gòu),通過簡化指令設(shè)計(jì)、引人流水線技術(shù)、指令預(yù)取、大量寄存器操作和高速緩存等技術(shù)提高運(yùn)行效率,并采用低電壓工作模式以降低運(yùn)行功耗。嵌入式處理器一般為應(yīng)用開發(fā)提供了三種工作模式:運(yùn)行模式(Run)、空閑模式(Idle)和休眠模式(Standby)。運(yùn)行模式即正常工作模式,CPU全速運(yùn)行;空閑模式時(shí)CPU是靜態(tài)的,但LCD刷新電路和晶振都工作;休眠模式時(shí)CPU的I/O端口禁止,但外部晶振工作。在不同運(yùn)行模式下,處理器工作時(shí)功耗數(shù)值差別較大。以CiⅡus I。0gic公司EP721l(ARM7核)嵌人式處理器為例,開發(fā)手冊中寫到,在18 MHz工作頻率下,運(yùn)行時(shí)消耗電流是20 mA,空閑時(shí)消耗電流是6 mA,而休眠時(shí)消耗電流3OOμA。
全動(dòng)態(tài)切換處理器工作模式的目的是在不影響系統(tǒng)正常工作時(shí),通過軟件控制策略盡最大可能使嵌入式處理器工作在空閑或者休眠模式來降低系統(tǒng)功耗。用戶使用產(chǎn)品過程中,人機(jī)交互時(shí)間較短,cPu需要全速運(yùn)行時(shí)間較少,大部分時(shí)間是不需要工作的。基于產(chǎn)品使用模式,人機(jī)交互或者有外部中斷事件需要處理時(shí),控制嵌入式處理器處于運(yùn)行模式;在其他狀況下,控制嵌入式處理器處于空閑模式或者休眠模式。
嵌入式GIs系統(tǒng)采用消息驅(qū)動(dòng)機(jī)制:系統(tǒng)有消息分發(fā)表明有任務(wù)需要處理器完成,嵌入式處理器工作于運(yùn)行模式;一旦在一定時(shí)間間隔(如2 s)系統(tǒng)未能獲得任何新消息,且其他任務(wù)已經(jīng)完成,則通過軟件編程控制處理器從運(yùn)行模式切換到空閑模式;如果時(shí)問更長(如5 s),還可以進(jìn)一步切換到休眠模式;在空閑或休眠模式,一旦系統(tǒng)通過外部事件被喚醒,則轉(zhuǎn)入運(yùn)行模式。如此反復(fù),構(gòu)成如圖1所示的處理器工作模式切換圖。
1.2 合理調(diào)度數(shù)據(jù)
嵌入式GIS系統(tǒng)中程序代碼和數(shù)據(jù)存放在存儲(chǔ)器中,存儲(chǔ)器訪問也是嵌入式系統(tǒng)功耗的一大部分。有資料統(tǒng)計(jì)表明,內(nèi)存?zhèn)鬏斒瞧駷橹笴PU完成的操作中代價(jià)最高的——一次內(nèi)存?zhèn)鬏斚牡哪芰渴且淮渭臃ㄟ\(yùn)算的33倍,因此降低系統(tǒng)能量消耗的最主要工作在于,合理組織存儲(chǔ)器中的數(shù)據(jù)和指令代碼,盡量做到寄存器訪問和緩存訪問,減少CPU訪問外部存儲(chǔ)器。隨著存儲(chǔ)技術(shù)理論的發(fā)展和工藝水平的提高,現(xiàn)在存儲(chǔ)器體系結(jié)構(gòu)一般都是三級(jí),而且支持虛擬存儲(chǔ)技術(shù),如圖2所示。
從圖2可以看出,當(dāng)處理器訪問數(shù)據(jù)時(shí),離CPU越近的地方,數(shù)據(jù)存取速度越快,功耗越低。基于這種特性,應(yīng)該啟用高速緩存,并將嵌入式GIS系統(tǒng)頻繁訪問的代碼和數(shù)據(jù)在系統(tǒng)啟動(dòng)后讀入內(nèi)存并常駐,具體安排如下:
①嵌入式處理器支持MMU(Memory ManagementUnit)功能,設(shè)置啟動(dòng)代碼時(shí)將相應(yīng)的寄存器開關(guān)C打開,使系統(tǒng)高速緩存Cache處于有效狀態(tài);
②系統(tǒng)初始化后,將系統(tǒng)運(yùn)行頻繁訪問的關(guān)鍵數(shù)據(jù)一次性地從外存讀人內(nèi)存并駐留內(nèi)存,如中斷服務(wù)程序、地圖符號(hào)庫資源、點(diǎn)陣字體資源等,以后相關(guān)的操作直接從內(nèi)存取用;
③當(dāng)讀寫Flash存儲(chǔ)介質(zhì)時(shí),需要照顧到Flash寫操作時(shí)間長和功耗高的特點(diǎn),盡量降低直接寫Flash的次數(shù)。如果需要保存運(yùn)行軌跡,可事先在內(nèi)存中開辟1片緩存區(qū),周期性地(如每隔30 s)寫FIash,而不是每次新增位置數(shù)據(jù)都執(zhí)行1次寫F1ash操作。
1.3 坐標(biāo)數(shù)據(jù)處理
空間坐標(biāo)數(shù)據(jù)是GIS數(shù)據(jù)的基本組成部分,數(shù)據(jù)量大且計(jì)算負(fù)荷重。有效減少坐標(biāo)記錄個(gè)數(shù)是提高系統(tǒng)運(yùn)行效率的有效措施,因此嵌入式GIS系統(tǒng)中需要對(duì)采集到的曲線和面邊界坐標(biāo)集合進(jìn)行壓縮處理,即在一定精度范圍內(nèi)通過坐標(biāo)壓縮算法減少坐標(biāo)存儲(chǔ)個(gè)數(shù)。目前,道格拉斯一普克算法和“濾點(diǎn)壓縮”法是減小曲線坐標(biāo)數(shù)據(jù)的有效方法,應(yīng)用范圍較廣。坐標(biāo)數(shù)據(jù)壓縮可以在生成嵌入式GIS系統(tǒng)數(shù)據(jù)時(shí)在臺(tái)式PC機(jī)上調(diào)用實(shí)現(xiàn)。
計(jì)算機(jī)系統(tǒng)中浮點(diǎn)數(shù)采用階數(shù)加尾數(shù)的表示方法,計(jì)算過程需要對(duì)階和規(guī)格化處理,浮點(diǎn)型計(jì)算時(shí)間遠(yuǎn)大于整型;同時(shí)一般嵌入式處理器不帶有浮點(diǎn)協(xié)處理器,浮點(diǎn)計(jì)算能力差,耗時(shí)長,因此嵌入式GIS系統(tǒng)應(yīng)盡量避免浮點(diǎn)計(jì)算。然而直接采集的空間坐標(biāo)數(shù)據(jù)是經(jīng)緯度格式浮點(diǎn)數(shù)據(jù)類型,不適宜直接用于嵌入式平臺(tái)??臻g坐標(biāo)可以采用定點(diǎn)代替浮點(diǎn)來運(yùn)算?;痉绞绞腔趫D幅頂點(diǎn)經(jīng)緯度坐標(biāo),將圖幅內(nèi)地理坐標(biāo)從浮點(diǎn)坐標(biāo)(fx,fy)轉(zhuǎn)換成整型坐標(biāo)(ix,iy)處理。
嵌入式GIS空間坐標(biāo)數(shù)據(jù)通過坐標(biāo)壓縮和采用定點(diǎn)運(yùn)算規(guī)則,提高系統(tǒng)運(yùn)行效率,降低運(yùn)行功耗。
1.4 快速地圖符號(hào)繪制算法
地圖符號(hào)是地圖的語言,是表達(dá)地圖內(nèi)容的基本手段,根據(jù)幾何特征可以分為點(diǎn)狀符號(hào)、線狀符號(hào)和面狀符號(hào),如圖3所示。根據(jù)直觀分析和實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì),繪制地圖符號(hào)是地圖顯示過程中最耗時(shí)的一項(xiàng)工作,運(yùn)行功耗較高。目前,多數(shù)嵌入式GIS系統(tǒng)直接使用WinCE和Vx—works等嵌入式操作系統(tǒng)提供的繪圖程序,其優(yōu)點(diǎn)是通用性好和編程方便,但系統(tǒng)調(diào)用層次多,資源耗費(fèi)量大。下面針對(duì)嵌入式系統(tǒng)硬件資源有限的特點(diǎn)和地圖符號(hào)特性,提出使用資源模板法快速繪制地圖符號(hào)的方法。
資源模板算法基于對(duì)地圖符號(hào)圖元的深人分析,建立在“幾乎所有地圖要素的圖形表現(xiàn)都是以一定的周期持續(xù)不斷的復(fù)制自我”這樣一個(gè)事實(shí)的基礎(chǔ)上,將被重復(fù)復(fù)制的一段作為樣本存儲(chǔ)在資源庫列表中。當(dāng)需要繪制該圖元時(shí),將樣本從資源庫中取出,按照該樣本的特征進(jìn)行復(fù)制,最終達(dá)到快速繪制圖元的目的。資源模板法支持直接訪問繪圖底層驅(qū)動(dòng)單元,實(shí)現(xiàn)了地圖符號(hào)繪制與圖形底層實(shí)現(xiàn)相融合。算法實(shí)現(xiàn)時(shí)將復(fù)雜三角運(yùn)算變?yōu)椴楸矶c(diǎn)運(yùn)算,并通過圖像映射和遞歸處理大大提高了地圖符號(hào)的繪制速度。通過資源模板法也可以快速實(shí)現(xiàn)多邊形圖案填充算法。
采用資源模板法能夠快速繪制地圖符號(hào),提高地圖顯示速度,并可降低系統(tǒng)運(yùn)行功耗。
1.5 優(yōu)化關(guān)鍵算法
求解同一個(gè)問題,軟件編程實(shí)現(xiàn)時(shí)有許多不同的算法。查找線性表有順序查找、二分查找和分塊查找等算法。評(píng)價(jià)一個(gè)算法好壞的常用參數(shù)是算法時(shí)間復(fù)雜度和空間復(fù)雜度等。算法時(shí)間復(fù)雜度定義為算法的時(shí)間耗費(fèi),即所求解問題規(guī)模(求解問題的輸入量)”的函數(shù)。在空間復(fù)雜度允許條件下討論系統(tǒng)功耗問題更關(guān)注算法時(shí)間復(fù)雜度,因?yàn)闀r(shí)間復(fù)雜度越小,執(zhí)行效率越高,執(zhí)行時(shí)間越短,軟件運(yùn)行功耗越低。嵌入式GIS系統(tǒng)中關(guān)鍵算法與具體功能實(shí)現(xiàn)有關(guān),如路徑分析算法、信息檢索算法和導(dǎo)航濾波算法等等。
路徑分析是在電子地圖上求一條從起點(diǎn)到終點(diǎn)的最佳(時(shí)間最短、費(fèi)用最少、里程最短)路徑,基本算法是圖論中的迪杰斯特拉(Dijkstra)算法,時(shí)間復(fù)雜度是T(n2),計(jì)算量大。針對(duì)嵌入式GIS路網(wǎng)拓?fù)涮匦?,一些學(xué)者進(jìn)行了算法研究與改進(jìn)。文獻(xiàn)提出,利用先驗(yàn)知識(shí)庫減去不可能的搜索路徑從而提高路徑尋優(yōu)效率。信息檢索算法一般需要事先建立關(guān)鍵字索引表,如基于拼音字母排序查找單位名稱,基于電話號(hào)碼排序查找服務(wù)機(jī)構(gòu)等,建立關(guān)鍵字索引表并采用二分檢索算法能夠?qū)崿F(xiàn)快速定位地理實(shí)體本體數(shù)據(jù)。導(dǎo)航濾波算法一般用卡爾曼濾波求解位置、時(shí)間、航向和姿態(tài)等信息。在卡爾曼最優(yōu)估計(jì)理論中,設(shè)m為量測維數(shù),n為狀態(tài)維數(shù),則濾波算法矩陣求逆階數(shù)與n2+n2成正比。采用集中式卡爾曼濾波算法時(shí),n值一般較大,導(dǎo)致計(jì)算量大、計(jì)算時(shí)間長和運(yùn)行功耗大。此時(shí)可將集中式卡爾曼濾波通過分解降低耦合性得到解耦后的時(shí)鐘平面濾波方程和高程濾波方程,狀態(tài)維數(shù)被減少,濾波實(shí)時(shí)性得到提高,運(yùn)行功耗也得到降低。
2 小 結(jié)
嵌入式GIS系統(tǒng)目前在多個(gè)行業(yè)得到廣泛應(yīng)用,低功耗是其性能指標(biāo)之一?;诠δ軐?shí)現(xiàn)設(shè)計(jì)硬件平臺(tái)后,低功耗實(shí)現(xiàn)主要從軟件方面來解決。本文基于嵌入式GIS系統(tǒng)特征及其功能實(shí)現(xiàn),采用全動(dòng)態(tài)切換處理器工作模式和降低處理器運(yùn)行時(shí)間兩方面來實(shí)現(xiàn)軟件低功耗。一般來講嵌入式系統(tǒng)低功耗設(shè)計(jì)是系統(tǒng)概念,應(yīng)該在系統(tǒng)規(guī)劃時(shí)充分考慮;如果可能,應(yīng)建立模型進(jìn)行低功耗評(píng)估,以確保設(shè)計(jì)出的電子系統(tǒng)滿足功耗要求。