李云飛
摘 要:介紹了全球定位系統(tǒng)的基本現(xiàn)狀以及其工作原理,對(duì)GPS接口通信協(xié)議(NMEA 0183協(xié)議)也進(jìn)行了細(xì)致地說(shuō)明,最后對(duì)GPS數(shù)據(jù)中緯度、經(jīng)度、時(shí)間等相關(guān)數(shù)據(jù)的采集實(shí)現(xiàn)做了詳細(xì)地闡述。
關(guān)鍵詞:GPS 通信協(xié)議 數(shù)據(jù)采集
全球定位系統(tǒng)GPS是美國(guó)從上世紀(jì)的70年代開(kāi)始,于1994年全面建成,具有在海、路、空進(jìn)行全方位實(shí)時(shí)三維導(dǎo)航與定位能力的新一代衛(wèi)星導(dǎo)航與定位系統(tǒng)。然而GPS發(fā)展歷程也是充滿艱辛,1973~1979年,共發(fā)射了4顆試驗(yàn)衛(wèi)星,研制了地面接收機(jī)及建立了地面跟蹤網(wǎng);1979~1984年,又陸續(xù)發(fā)射了7顆試驗(yàn)衛(wèi)星,研制了各種用途接收機(jī);1989年2月第一顆GPS工作衛(wèi)星發(fā)射成功,GPS系統(tǒng)進(jìn)入了工程建設(shè)階段。1993年底,歷時(shí)20多年,耗資200億美元實(shí)用的GPS網(wǎng),即(21+3)GPS星座全面建成,具有在海、陸、空進(jìn)行全方位實(shí)時(shí)三維導(dǎo)航與定位能力的新一代衛(wèi)星導(dǎo)航與定位系統(tǒng)。
GPS工作原理
GPS由3個(gè)獨(dú)立部分組成:①空間部分:21顆工作衛(wèi)星,3顆備用衛(wèi)星。②地面支撐系統(tǒng):1個(gè)主控站,3個(gè)注入站,5個(gè)監(jiān)測(cè)站。③用戶設(shè)備部分:主要由接收硬件和處理軟件組成(其中GPS接收硬件一般由主機(jī)、天線和電源組成)。
用戶通過(guò)用戶設(shè)備接收GPS衛(wèi)星發(fā)射信號(hào),經(jīng)信號(hào)處理而獲得用戶位置、速度等信息,最終達(dá)到利用GPS進(jìn)行導(dǎo)航和定位的目的。
GPS定位的基本原理是根據(jù)高速運(yùn)動(dòng)的衛(wèi)星瞬間位置作為已知的起算數(shù)據(jù),采用空間距離后方交匯的方法,確定待測(cè)點(diǎn)的位置。
GPS通信接口協(xié)議——NMEA 0183協(xié)議
NMEA(Nationnal Marine Electronics Association)0183是一種航海、海運(yùn)方面關(guān)于數(shù)字信號(hào)傳遞的標(biāo)準(zhǔn),此標(biāo)準(zhǔn)定義了電子信號(hào)所需要的傳輸協(xié)議、傳輸數(shù)據(jù)時(shí)間。一般有以下幾種數(shù)據(jù)幀:時(shí)間輸出(UTC)、位置信息(GGA)、GPS DOP和衛(wèi)星活動(dòng)(GSA)、當(dāng)前GPS衛(wèi)星狀態(tài)(GSV)、最簡(jiǎn)特性(RMC)、VTG速度相對(duì)正北的方向(VTG)、帶有LORAN ID的地理信息(LCGLL)、帶有LORAN ID的軌道和速度信息(LCVTG)、狀態(tài)信息(PGRMT)和3D定位信息(PGRMV)。
GPS的通信協(xié)議采用的NMEA 0183協(xié)議,它要求的串行通信參數(shù)為:波特率=4800;數(shù)據(jù)位=8位;停止位=1位;無(wú)奇偶校驗(yàn)位。
GPS接收機(jī)只要處于工作狀態(tài),就會(huì)源源不斷地把接收到的GPS導(dǎo)航定位信息通過(guò)串口傳送到計(jì)算機(jī)中。這些接收信息在沒(méi)有經(jīng)過(guò)分類(lèi)之前是無(wú)法加以利用的,因此必須通過(guò)程序?qū)⒏鱾€(gè)字段的信息從緩存字節(jié)流中提取出來(lái),將其轉(zhuǎn)化成有實(shí)際意義、可供高層決策使用的定位信息數(shù)據(jù)。與其他通信協(xié)議類(lèi)似,對(duì)GPS進(jìn)行信息提取,必須首先明確其幀結(jié)構(gòu),然后才能根據(jù)其結(jié)構(gòu)完成對(duì)定位信息的提取。
本設(shè)計(jì)使用的GPS模塊,其發(fā)送到計(jì)算機(jī)的數(shù)據(jù)主要由幀頭、幀尾和幀內(nèi)數(shù)據(jù)組成。根據(jù)數(shù)據(jù)幀的不同,幀頭也不相同,主要有$GPGGA、$GPGSA、$GPGSV以及$GPRMC等,這些幀頭標(biāo)識(shí)了后續(xù)幀內(nèi)數(shù)據(jù)的組成結(jié)構(gòu),各幀均以回車(chē)符和換行符作為幀尾標(biāo)識(shí)一幀的結(jié)束。
雖然接收機(jī)也在源源不斷地向主機(jī)發(fā)送各種數(shù)據(jù)幀,但在處理時(shí),一般先通過(guò)對(duì)幀頭的判斷,只對(duì)$GPGGA幀進(jìn)行數(shù)據(jù)提取處理。由于幀內(nèi)各數(shù)據(jù)段由逗號(hào)分割,因此在處理緩存數(shù)據(jù)時(shí),一般是通過(guò)搜尋ASCII碼$來(lái)判斷是否是幀頭。在對(duì)幀頭的類(lèi)別進(jìn)行識(shí)別后,再通過(guò)對(duì)所經(jīng)歷逗號(hào)個(gè)數(shù)的計(jì)數(shù)來(lái)判斷當(dāng)前在處理的是哪一種導(dǎo)航定位參數(shù),并作出相應(yīng)的處理,將所需信息提取到內(nèi)存,包括時(shí)間、時(shí)期以及經(jīng)緯度等信息。
3、GPS定位信息的解析
通過(guò)函數(shù)gps_processdata()對(duì)提取后的GPGGA數(shù)據(jù)幀進(jìn)行解析,獲得當(dāng)前的UTC時(shí)間、經(jīng)度和緯度信息。由于UTC時(shí)間與北京時(shí)間相差8小時(shí),所以通過(guò)對(duì)UTC時(shí)間加上8小時(shí)以轉(zhuǎn)換為北京時(shí)間。
結(jié)束語(yǔ)
GPS的應(yīng)用越來(lái)越廣泛,在我們工作中也經(jīng)常涉及到此項(xiàng)技術(shù),比如目前的AIS系統(tǒng)、視頻監(jiān)控系統(tǒng)、數(shù)字廣播系統(tǒng)、公安350M系統(tǒng),針對(duì)GPS的深入了解,對(duì)其現(xiàn)狀、工作原理、通信協(xié)議以及數(shù)據(jù)的接收、提取和解析有了進(jìn)一步的認(rèn)識(shí),能夠很好地幫助上述中各項(xiàng)系統(tǒng)的了解,為更好的維護(hù)保障做好一定的理論基礎(chǔ)。
參考文獻(xiàn):
[1]李明峰、《GPS定位技術(shù)及其應(yīng)用》、2006年2月第1版、國(guó)防工業(yè)出版社.
[2]管耀武、《嵌入式無(wú)線通信系統(tǒng)開(kāi)發(fā)》、2006年5月第1版、電子工業(yè)出版社.
(作者單位:長(zhǎng)江南京通信管理局)