ARM在GPS導航系統中的應用

圖2.軟件系統框圖
2.2.1 導航功能模塊設計
該方面的設計中主要包括以下4個模塊的設計:
(1)導航定位模塊實時地從通信端口讀取數據。然后進行分析處理,得到可以進行地圖匹配的經、緯度數據并將其傳給地圖匹配模塊。
(2)地圖匹配模塊根據導航定位模塊輸入的經緯度在導航數據庫中進行匹配。
(3)路徑規劃模塊主要是根據用戶指定的出發地和目的地在導航數據庫中的道路網絡中規劃出一條最佳路徑。
(4)導航引導模塊將地圖匹配的結果和規劃好的路徑結合導航地圖數據庫的數據以地圖的方式顯示出來。這樣就可以直觀、無誤地引導用戶行進。
2.2.2 瀏覽功能模塊設計
該方面的設計中主要包括以下2個模塊的設計:
(1)地圖瀏覽模塊主要是在瀏覽界面中實現對地圖的縮放、平移等基本瀏覽操作。
(2)地圖查詢模塊主要是根據用戶的要求在導航地圖數據庫中進行查詢操作并通過瀏覽界面顯示出來。
2.3 嵌入式軟件設計
該嵌入式系統采用uC/OSII操作系統,由于MCU的處理功能有限,所以在具體的軟件實現過程中采用多線程技術,如圖3所示。

圖3.線程圖
主控線程主要實現界面功能、導航功能中的地圖匹配和導航引導模塊、瀏覽功能中的地圖瀏覽模塊以及這些模塊間的消息派送、接收和處理,同時協調各個工作線程異步運行。
導航定位線程主要完成導航定位模塊中的接收當前位置數據(經、緯度)的功能。在導航過程中運行線程,線程處理函數把接收到的經、緯度數據實時通過消息發到主線程,由主線程調用地圖匹配模塊作處理。
路徑規劃線程主要完成在道路網中求解最佳路徑的任務。在用戶要求提供最佳路徑時根據用戶的出發地和目的地求出一條最佳路徑。在最佳路徑求解算法中采用A*算法。
2.3.1 軟件的導航功能由主控線程控制實現
其基本實現流程如下(可見圖4)

圖4.導航功能流程圖










評論