《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于單片機的GPS信息處理系統(tǒng)
基于單片機的GPS信息處理系統(tǒng)
摘要: 全球定位系統(tǒng)(GlobalPositiONingSystem,,GPS)是美國從20世紀70年代開始研制,于1994年全面建成,,以接收導(dǎo)航衛(wèi)星信號為基礎(chǔ)的非自主式導(dǎo)航與定位系統(tǒng),。他以全球覆蓋,、全天候、連續(xù)實時提供高精度的三維位置,、三維速
關(guān)鍵詞: 51單片機 GPS 單片機
Abstract:
Key words :

全球定位系統(tǒng)(Global PositiONing System,,GPS)是美國從20世紀70年代開始研制,于1994年全面建成,,以接收導(dǎo)航衛(wèi)星信號為基礎(chǔ)的非自主式導(dǎo)航與定位系統(tǒng),。他以全球覆蓋、全天候,、連續(xù)實時提供高精度的三維位置,、三維速度和時間信息的能力,很好地解決了人類導(dǎo)航和定位問題,。隨著全球定位系統(tǒng)的不斷改進,,軟硬件的不斷完善,應(yīng)用領(lǐng)域正在不斷的開拓,,無論在軍事還是民用領(lǐng)域都得到廣泛地應(yīng)用和發(fā)展,。實際應(yīng)用中,GPS接收機收到軌道衛(wèi)星的信號后,,經(jīng)過解調(diào)輸出的,,是標準格式的GPS定位數(shù)據(jù),該數(shù)據(jù)必須經(jīng)過進一步處理,,才能在用戶數(shù)據(jù)終端上顯示,。 

1 GPS接收機輸出數(shù)據(jù)格式

  NMEA-0183是美國國家海洋電子協(xié)會制定的用于航海儀器數(shù)據(jù)異步通信的通用接口標準,他是由ASCII字符組成的字符串,。GPS接收機以NMEA-0183標準格式輸出GPS定位數(shù)據(jù),,數(shù)據(jù)終端設(shè)備需要實時從GPS輸出的NMEA0183數(shù)據(jù)流中得到位置信息、時間信息,。GPS接收機提供了多種語句格式,,有GPGGA,GPGSA,,GPGSV,,GPRMC,GPZDA和GPGLL等,。用戶可以根據(jù)需要選擇一種或多種語句輸出。本系統(tǒng)選擇接收并解析GPGLL和GPZDA,,分別獲取地理位置信息和UTC時間信息(含日期),,UTC時間通過時差修正得到本地時間信息,。

  NMEA0183語句包含多個數(shù)據(jù)項,數(shù)據(jù)項之間以逗號分隔,,語句以回車(CR)和換行(LF)符結(jié)尾,。

GPZDA語句格式如下:

 

上述語句中,各數(shù)據(jù)項的意義如下:

 

 ?、僬Z句類型:$GPZDA,;②UTC時間:14523.62;③UTC日:01~31,;④UTC月:01~12,;⑤UTC:年2001;⑥本地時差:10時,;⑦本地時差:34分,;⑧校驗和:6E。其中校驗和包括$符,。

GPGLL語句格式如下:

上述語句中,,各數(shù)據(jù)項的意義如下:

  ①語句類型:$GPGLL,;②緯度值,;③北緯;④經(jīng)度值,;⑤西經(jīng),;⑥UTC時間,時時分分秒秒.秒秒秒格式,;⑦狀態(tài),,A=定位,V=未定位,;⑧校驗和:2C,。其中校驗和包括$符。

  接收上述GPS信息由AT89C20單片機" title="51單片機" target="_blank">51單片機的UART完成,。GPGLL為55個字符,,GPZDA為38個字符??紤]到單片機內(nèi)部RAM單元有限,,為適應(yīng)GPS同時輸出的數(shù)據(jù)句型比較多,數(shù)據(jù)量比較大的情況,,因此,,需要對句型進行選擇性接收。
2 主程序設(shè)計

  主程序主要包括以下幾個部分:初始化,、接收GPS數(shù)據(jù),、GPS信息處理,、超時處理判斷等。GPS數(shù)據(jù)采用中斷方式接收,,數(shù)據(jù)處理由獨立子程序完成,,主要包括時間、位置信息的提取,。數(shù)據(jù)接收處理完畢后,,傳送到LCD顯示。超時判斷時間間隔設(shè)定與GPS數(shù)據(jù)更新速度匹配即可,,其目的是保證GPS提供的位置,、時聞信息與用戶的可視信息同步。

  GPS接收機通常采用RS 232C/RS 485/422標準:傳輸速率可以設(shè)定,,有4 800 b/s等,,數(shù)據(jù)位:8 b,停止位:1 b,。

  對于AT89C2051單片機,,選擇定時器1作為波特率發(fā)生器,波特率取決于溢出速率,。波特率計算公式如下:

 

  系統(tǒng)時鐘取11.059 2 MHz,,則對于波特率4 800 b/s,定時器1重載值為FAH,。

3 數(shù)據(jù)處理子程序設(shè)計

  接收緩沖區(qū)存儲的內(nèi)容是ASCII碼(字符),,因此在處理成數(shù)據(jù)的時候要進行轉(zhuǎn)換。

  對于時間數(shù)據(jù),,處理成壓縮BCD格式,,如對于以下的GPZDA信息:

  $GPZDA,114523,,18,,11,2006,,10,,34*6E

  經(jīng)處理后,得到如下信息:11 H(時),,45 H(分),,23 H(秒),18 H(日),,11 H(月),,20 H(世紀)-06 H(年代),10 H(時差)。

  GPS數(shù)據(jù)處理子程序首先將接收的時間數(shù)據(jù)轉(zhuǎn)換為上述BCD數(shù)據(jù),。根據(jù)GPZDA得到UTC時間和本地時差后,,可以修正為本地時間輸出。時間修正要考慮到進位和借位問題,。在程序設(shè)計過程中閏年、大月小月需要分別處理,。

  Hour表示UTC時,,Min表示UTC分,Sec表示UTC秒,,Day表示UTC日,,Mon表示UTC月,YearH表示UTC世紀,,YearL表示UTC年代,;D_Hour和D_Min表示時差的時和分。

  常用GPS接收機輸出NMEA0183數(shù)據(jù)有V2.1,,V2.0和V1.5三種版本,,其中V2.1版本時差修正到分鐘,而V2.0和V1.5只到小時,。為滿足程序通用,,在實際信息解析時以V2.1為準,當接收的信息為V2.0和V1.5時,,只需將上述程序中D_min置為0即可,。

4 結(jié)語

  GPS信息處理系統(tǒng)解決了GPS標準數(shù)據(jù)式的解讀、信息的提取,、轉(zhuǎn)換和顯示問題,。另外,他具有時差修正功能,,便于全球各地用戶使用,。以AT89C2051單片機為控制核心,LCD和鍵盤作為人機界面,,以較低的成本滿足了用戶的一般需求,。目前,該系統(tǒng)已在船用導(dǎo)航系統(tǒng)中得到了成功應(yīng)用,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。