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