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