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