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