引言
隨著我國經(jīng)濟水平的快速發(fā)展,汽車行業(yè)也蓬勃發(fā)展起來。汽車的增長速度遠遠超過公路的增長速度,汽車擁有量的急劇增加和城市現(xiàn)代化交通建設(shè)的相對滯后導(dǎo)致城市交通情況不斷惡化。同時,現(xiàn)代物流對運輸車輛和貨物安全與準(zhǔn)時調(diào)運的要求、公交與出租車的運營管理、大型的企事業(yè)單位日常車輛管理也都對車輛的監(jiān)控與導(dǎo)航有迫切的需求。面且隨著旅游行業(yè)的發(fā)展,人們急需要一種可以隨時隨地知道自己方位和目的地的方便設(shè)備。
GPS(全球定位系統(tǒng))具有全球、全天候工作,定位精度高,功能多,應(yīng)用廣的特點,通過GPS接收機可以實現(xiàn)精確的自主定位,這為實現(xiàn)車輛的定位和導(dǎo)航奠定了基礎(chǔ)。伴隨ARM處理器、嵌入式操作系統(tǒng)、路徑優(yōu)化控制算法和GPS網(wǎng)絡(luò)的成熟,車輛定位導(dǎo)航系統(tǒng)有了新的發(fā)展,可以在短時間內(nèi)實現(xiàn)定位和最優(yōu)路徑導(dǎo)航。
1 方案簡介
1.1 功能簡介
該嵌入式GPS導(dǎo)航系統(tǒng)由GPS系統(tǒng)獲得當(dāng)時所在的位置的經(jīng)緯度,通過換算和地圖匹配在地圖上得到當(dāng)時的實際位置,然后由用戶輸入目的地,通過最短路徑算法計算最短路徑并在矢量地圖上顯示,同時提取GPS提供的速度,時間等信息顯示在屏幕上。
1.2 硬件實現(xiàn)
本嵌入式GPS導(dǎo)航系統(tǒng)的硬件核心是意法半導(dǎo)體ARM7系列中的16/32位RISC處理器STR710FZ2T6芯片,該芯片強大的實時處理能力和豐富的外圍接口非常適合嵌入式系統(tǒng)的開發(fā),本系統(tǒng)正是基于該芯片的這些特點面設(shè)計的。系統(tǒng)框圖如圖1所示。
圖1 硬件框圖
系統(tǒng)以STR710FZ2T6微處理器為核心,與2片512KB的SDRAM(IS61LV25616)、一片8MB的NAND Flash和一片2MB NOR FLASH(SST39LF160)組成。外部添加了用于接收GPS信號的GPS模塊,用于顯示的液晶面板以及鍵盤輸入模塊。
2 軟件設(shè)計
2.1 軟件數(shù)據(jù)設(shè)計
導(dǎo)航軟件中的數(shù)據(jù)主要是導(dǎo)航地圖的空間數(shù)據(jù),主要由與導(dǎo)航需求相關(guān)的一些信息組成,包括道路網(wǎng)幾何形狀、道路等級、道路特征、交規(guī)限制、地理政治邊界、感興趣的點、路標(biāo)和服務(wù)設(shè)施等。這些數(shù)據(jù)主要分為兩大類:道路網(wǎng)數(shù)據(jù)和非道路網(wǎng)數(shù)據(jù)。道路網(wǎng)數(shù)據(jù)包括基本的道路網(wǎng)的地理數(shù)據(jù)以及道路上與車輛行駛相關(guān)的數(shù)據(jù)。道路網(wǎng)數(shù)據(jù)的主要特征是有較強的拓撲關(guān)系。非道路網(wǎng)數(shù)據(jù)主要包括能反映區(qū)域的基本地理面貌的地物信息(如河流。湖泊。邊界等)以及與出行信息相關(guān)的單位信息。整個導(dǎo)航數(shù)據(jù)的獲取和錄入可以通過轉(zhuǎn)換通用的地圖為矢量圖,并且以點代替具體的路面實況。
2.2 軟件系統(tǒng)設(shè)計
導(dǎo)航軟件是以導(dǎo)航數(shù)據(jù)庫為數(shù)據(jù)基礎(chǔ)的。針對導(dǎo)航數(shù)據(jù)庫的操作行為。從功能上將導(dǎo)航軟件分為具有導(dǎo)航功能的部分和具有瀏覽功能的部分。導(dǎo)航功能部分是在動態(tài)行進過程中進行導(dǎo)航規(guī)劃服務(wù)的,可分為導(dǎo)航定位、地圖匹配、路徑規(guī)劃和路徑引導(dǎo)等模塊。主要通過導(dǎo)航界面與用戶實現(xiàn)交互、瀏覽功能主要是在靜態(tài)過程中對導(dǎo)航的地理信息提供瀏覽查詢服務(wù)的通過瀏覽界面與用戶實現(xiàn)交互。軟件系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2.軟件系統(tǒng)框圖
2.2.1 導(dǎo)航功能模塊設(shè)計
該方面的設(shè)計中主要包括以下4個模塊的設(shè)計:
(1)導(dǎo)航定位模塊實時地從通信端口讀取數(shù)據(jù)。然后進行分析處理,得到可以進行地圖匹配的經(jīng)、緯度數(shù)據(jù)并將其傳給地圖匹配模塊。
(2)地圖匹配模塊根據(jù)導(dǎo)航定位模塊輸入的經(jīng)緯度在導(dǎo)航數(shù)據(jù)庫中進行匹配。
(3)路徑規(guī)劃模塊主要是根據(jù)用戶指定的出發(fā)地和目的地在導(dǎo)航數(shù)據(jù)庫中的道路網(wǎng)絡(luò)中規(guī)劃出一條最佳路徑。
(4)導(dǎo)航引導(dǎo)模塊將地圖匹配的結(jié)果和規(guī)劃好的路徑結(jié)合導(dǎo)航地圖數(shù)據(jù)庫的數(shù)據(jù)以地圖的方式顯示出來。這樣就可以直觀、無誤地引導(dǎo)用戶行進。
2.2.2 瀏覽功能模塊設(shè)計
該方面的設(shè)計中主要包括以下2個模塊的設(shè)計:
(1)地圖瀏覽模塊主要是在瀏覽界面中實現(xiàn)對地圖的縮放、平移等基本瀏覽操作。
(2)地圖查詢模塊主要是根據(jù)用戶的要求在導(dǎo)航地圖數(shù)據(jù)庫中進行查詢操作并通過瀏覽界面顯示出來。
2.3 嵌入式軟件設(shè)計
該嵌入式系統(tǒng)采用uC/OSII操作系統(tǒng),由于MCU的處理功能有限,所以在具體的軟件實現(xiàn)過程中采用多線程技術(shù),如圖3所示。
圖3.線程圖
主控線程主要實現(xiàn)界面功能、導(dǎo)航功能中的地圖匹配和導(dǎo)航引導(dǎo)模塊、瀏覽功能中的地圖瀏覽模塊以及這些模塊間的消息派送、接收和處理,同時協(xié)調(diào)各個工作線程異步運行。
導(dǎo)航定位線程主要完成導(dǎo)航定位模塊中的接收當(dāng)前位置數(shù)據(jù)(經(jīng)、緯度)的功能。在導(dǎo)航過程中運行線程,線程處理函數(shù)把接收到的經(jīng)、緯度數(shù)據(jù)實時通過消息發(fā)到主線程,由主線程調(diào)用地圖匹配模塊作處理。
路徑規(guī)劃線程主要完成在道路網(wǎng)中求解最佳路徑的任務(wù)。在用戶要求提供最佳路徑時根據(jù)用戶的出發(fā)地和目的地求出一條最佳路徑。在最佳路徑求解算法中采用A*算法。
2.3.1 軟件的導(dǎo)航功能由主控線程控制實現(xiàn)
其基本實現(xiàn)流程如下(可見圖4)
圖4.導(dǎo)航功能流程圖
2.3.2 GPS數(shù)據(jù)提取
GPS板只要處于工作狀態(tài)就會源源不斷地把接收并計算出的GPS導(dǎo)航定位信息通過串口傳送到嵌入式系統(tǒng)中。由于從串口接收的數(shù)據(jù)幀是一長串ASCII碼字節(jié)流,在沒有經(jīng)過分類提取之前是無法加以利用的。因此,必須通過程序?qū)⒏鱾€字段的信息從接收到的字節(jié)流中提取出來,將其轉(zhuǎn)化成有實際意義的,可供高層決策使用的定位信息數(shù)據(jù)。對GPS信息進行提取必須首先明確其幀結(jié)構(gòu),數(shù)據(jù)幀主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成。對于不同的數(shù)據(jù)幀,其幀頭是不同的,主要有“$GPGGA”、 “$GPGSA”、“$GPGSV”以及“$GPRMC“等。這些幀頭標(biāo)識了后續(xù)幀內(nèi)數(shù)據(jù)的組成和結(jié)構(gòu)特點。各幀均以回車符《CR》和換行符《LF》作為幀尾,標(biāo)識一幀的結(jié)束。
對數(shù)據(jù)幀處理,是先對幀頭進行判斷,然后只對感興趣的幀進行數(shù)據(jù)的提取處理。由于幀內(nèi)各數(shù)據(jù)段被逗號分割,因此在處理接收數(shù)據(jù)時一般是首先通過搜尋ASCII碼“$”來判斷是否是幀頭,接著對幀頭的類別進行識別,然后再根據(jù)識別出來的幀類型以及逗號‘,’個數(shù)來確定當(dāng)前正在讀取的是哪個定位導(dǎo)航參數(shù),并作出相應(yīng)的提取和存儲。流程圖如圖5所示。
圖5.GPS數(shù)據(jù)接收與提取流程圖
2.3.3 顯示與查詢
通過GPS和人工輸入接收到的數(shù)據(jù),經(jīng)過MCU的處理,在地圖上用醒目的顏色顯示出來流程圖如下:
圖6.顯示流程圖
3 結(jié)論
在導(dǎo)航定位系統(tǒng)中GPS系統(tǒng)是口前世界上應(yīng)用得最為廣泛的,其功能作用已廣為人所接受,加之GPS的接收模塊的種類也很多,選擇余地很大,可根據(jù)系統(tǒng)要求的精度、體積、定時標(biāo)準(zhǔn)加以選擇。而且,GPS是一個全天候的系統(tǒng),極少有工作盲區(qū),除非在有著較為嚴重的空間遮擋的情況下,一般GPS天線都可以較為順利的接收到GPS信號。同時,國內(nèi)外相關(guān)行業(yè)的產(chǎn)品己大量運用該技術(shù),因此,將GPS定位系統(tǒng)應(yīng)用于本導(dǎo)航系統(tǒng)不僅具有很高的可行性,還具有相當(dāng)?shù)目煽啃浴?/p>
(審核編輯: 智匯小新)
分享