ARM在GPS導航系統中的應用
圖2.軟件系統框圖
2.2.1 導航功能模塊設計
該方面的設計中主要包括以下4個(gè)模塊的設計:
?。?)導航定位模塊實(shí)時(shí)地從通信端口讀取數據。然后進(jìn)行分析處理,得到可以進(jìn)行地圖匹配的經(jīng)、緯度數據并將其傳給地圖匹配模塊。
?。?)地圖匹配模塊根據導航定位模塊輸入的經(jīng)緯度在導航數據庫中進(jìn)行匹配。
?。?)路徑規劃模塊主要是根據用戶(hù)指定的出發(fā)地和目的地在導航數據庫中的道路網(wǎng)絡(luò )中規劃出一條最佳路徑。
?。?)導航引導模塊將地圖匹配的結果和規劃好的路徑結合導航地圖數據庫的數據以地圖的方式顯示出來(lái)。這樣就可以直觀(guān)、無(wú)誤地引導用戶(hù)行進(jìn)。
2.2.2 瀏覽功能模塊設計
該方面的設計中主要包括以下2個(gè)模塊的設計:
?。?)地圖瀏覽模塊主要是在瀏覽界面中實(shí)現對地圖的縮放、平移等基本瀏覽操作。
?。?)地圖查詢(xún)模塊主要是根據用戶(hù)的要求在導航地圖數據庫中進(jìn)行查詢(xún)操作并通過(guò)瀏覽界面顯示出來(lái)。
2.3 嵌入式軟件設計
該嵌入式系統采用uC/OSII操作系統,由于MCU的處理功能有限,所以在具體的軟件實(shí)現過(guò)程中采用多線(xiàn)程技術(shù),如圖3所示。
圖3.線(xiàn)程圖
主控線(xiàn)程主要實(shí)現界面功能、導航功能中的地圖匹配和導航引導模塊、瀏覽功能中的地圖瀏覽模塊以及這些模塊間的消息派送、接收和處理,同時(shí)協(xié)調各個(gè)工作線(xiàn)程異步運行。
導航定位線(xiàn)程主要完成導航定位模塊中的接收當前位置數據(經(jīng)、緯度)的功能。在導航過(guò)程中運行線(xiàn)程,線(xiàn)程處理函數把接收到的經(jīng)、緯度數據實(shí)時(shí)通過(guò)消息發(fā)到主線(xiàn)程,由主線(xiàn)程調用地圖匹配模塊作處理。
路徑規劃線(xiàn)程主要完成在道路網(wǎng)中求解最佳路徑的任務(wù)。在用戶(hù)要求提供最佳路徑時(shí)根據用戶(hù)的出發(fā)地和目的地求出一條最佳路徑。在最佳路徑求解算法中采用A*算法。
2.3.1 軟件的導航功能由主控線(xiàn)程控制實(shí)現
其基本實(shí)現流程如下(可見(jiàn)圖4)
圖4.導航功能流程圖
評論