ARM在GPS導(dǎo)航系統(tǒng)中的應(yīng)用
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信息進(jìn)行提取必須首先明確其幀結(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ù)幀處理,是先對幀頭進(jìn)行判斷,然后只對感興趣的幀進(jìn)行數(shù)據(jù)的提取處理。由于幀內(nèi)各數(shù)據(jù)段被逗號分割,因此在處理接收數(shù)據(jù)時一般是首先通過搜尋ASCII碼“$”來判斷是否是幀頭,接著對幀頭的類別進(jìn)行識別,然后再根據(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ū),除非在有著較為嚴(yán)重的空間遮擋的情況下,一般GPS天線都可以較為順利的接收到GPS信號。同時,國內(nèi)外相關(guān)行業(yè)的產(chǎn)品己大量運用該技術(shù),因此,將GPS定位系統(tǒng)應(yīng)用于本導(dǎo)航系統(tǒng)不僅具有很高的可行性,還具有相當(dāng)?shù)目煽啃浴?
評論