天天看點

GPS 入門 4 —— GPS NMEA-0183協定 [轉]

GPS 入門 4 —— GPS NMEA-0183協定 [轉] (2008-10-11 18:42:39)

<script> var $tag='gps,nmea-0183協定,超級終端,雜談'; var $tag_code='62efebceadcf711ddd8373bba24d2d27'; </script> 标簽:gps nmea-0183協定 超級終端 雜談  分類:GPS.our.life

GPS可以輸出實時定位資料讓其他的裝置使用,這就牽扯到了資料交換協定。幾乎現在所有的GPS接收機都遵循美國國家海洋電子協會(National Marine Electronics Association)所指定的标準規格,這一标準制訂所有航海電子儀器間的通訊标準,其中包含傳輸資料的格式以及傳輸資料的通訊協定。NMEA協定有0180、0182和0183三種,0183可以認為是前兩種的超集,現在正廣泛的使用,0183有幾個版本,V1.5 V2.1。是以,如果大家的GPS接收機如果要聯上筆記本裡通用的GPS導航程式,比如OZIEXPLORER和俺的GPSRECEIVER,就應該選擇NEMA V2.0以上的協定。NMEA規定的通訊速度是4800 b/S。現在有些接收機也可以提供更高的速度,但說實話,沒有什麼用,4800就足夠了。

  象GARMIN,自己有一個mapsource軟體,為了不讓其他品牌的GPS使用該軟體,就設計了私有的GARMIN協定,隻有GARMIN的機器才能輸出這種資料,而MAPSOURCE隻能接收GARMIN協定,這樣一來MAPSOURCE就隻能讓GARMIN的機器使用.

SIFR 天寶、摩托羅拉也有自己的專用二進制協定,但都支援NMEA協定輸出的,通過專用的設定軟體可以更改輸出方式。

下面是NMEA協定常用的幾種輸出類型:

GPRMC(建議使用最小GPS資料格式)

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11><CR><LF>

1) 标準定位時間(UTC time)格式:時時分分秒秒.秒秒秒(hhmmss.sss)。

2) 定位狀态,A = 資料可用,V = 資料不可用。

3) 緯度,格式:度度分分.分分分分(ddmm.mmmm)。

4) 緯度區分,北半球(N)或南半球(S)。

5) 經度,格式:度度分分.分分分分。

6) 經度區分,東(E)半球或西(W)半球。

7) 相對位移速度, 0.0 至 1851.8 knots

8) 相對位移方向,000.0 至 359.9度。實際值。

9) 日期,格式:日日月月年年(ddmmyy)。

10) 磁極變量,000.0 至180.0。

11) 度數。

12) Checksum.(檢查位)

GPGSV(所示衛星格式)

$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,⋯<4>,<5>,<6>,<7>,<8><CR><LF>

1) 天空中收到訊号的衛星總數。

2) 定位的衛星總數。

3) 天空中的衛星總數,00 至 12。

4) 衛星編号, 01 至 32。

5) 衛星仰角, OO 至 90 度。

6) 衛星方位角, OOO 至 359 度。實際值。

7) 訊号噪聲比(C/No), 00 至 99 dB;無表未接收到訊号。

8) Checksum.(檢查位).

GPGSA(GPS精度指針及使用衛星格式)

$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7><CR><LF>

1)模式 2:M = 手動, A = 自動。

2)模式 1:定位型式 1 = 未定位, 2 = 二維定位, 3 = 三維定位。

3) PRN 數字:01 至 32 表天空使用中的衛星編号,最多可接收12顆衛星資訊。

4) PDOP-位置精度稀釋 0.5 至 99.9.

5) HDOP-水準精度稀釋 0.5 to 99.9.

6) VDOP-垂直精度稀釋 0.5 to 99.9.

7) Checksum.(檢查位).  

GPS固定資料輸出語句($GPGGA)   

這是一幀GPS定位的主要資料,也是使用最廣的資料。為了便于了解,下面舉例說明$GPGGA語句各部分的含義。例1是用GN-77N和筆者開發的軟硬體接口,在筆者所在地接收到的$GPGGA語句的内容。

例1:$GPGGA,050901,3931.4449,N,11643.5123,E,1,07,1.4,76.2,M,-7.0,M,,*65   

其标準格式為:$GPGGA,(1),(2),(3),(4),(5),(6),(7),(8),(9),M,(10),M,(11),(12)*hh(CR)(LF)  

各部分所對應的含義為:   

(1)定位UTC時間:05時09分01秒  

(2)緯度(格式ddmm.mmmm:即dd度,mm.mmmm分);  

(3)N/S(北緯或南緯):北緯39度31.4449分;  

(4)經度(格式dddmm.mmmm:即ddd度,mm.mmmm分);  

(5)E/W(東經或西經):東經116度43.5123分;  

(6)品質因子(0=沒有定位,1=實時GPS,2=差分GPS):1=實時GPS;  

(7)可使用的衛星數(0~8):可使用的衛星數=07;  

(8)水準精度因子(1.0~99.9);水準精度因子=1.4;  

(9)天線高程(海平面,-9999.9~99999.9,機關:m);天線高程=76.2m);   

(10)大地橢球面相對海平面的高度(-999.9~9999.9,機關:m):-7.0m;   

(11)差分GPS資料年齡,實時GPS時無:無;   

(12)差分基準站号(0000~1023),實時GPS時無:無;   

*總和校驗域;  

hh 總和校驗數:65   

(CR)(LF)回車,換行。   

GPGLL地理定位資訊

例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D

字段0:$GPGLL,語句ID,表明該語句為Geographic Position(GLL)地理定位資訊

字段1:緯度ddmm.mmmm,度分格式(前導位數不足則補0)

字段2:緯度N(北緯)或S(南緯)

字段3:經度dddmm.mmmm,度分格式(前導位數不足則補0)

字段4:經度E(東經)或W(西經)

字段5:UTC時間,hhmmss.sss格式

字段6:狀态,A=定位,V=未定位

字段7:校驗值

$GPVTG地面速度資訊

例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F

字段0:$GPVTG,語句ID,表明該語句為Track Made Good and Ground Speed(VTG)地面速度資訊

字段1:運動角度,000 - 359,(前導位數不足則補0)

字段2:T=真北參照系

字段3:運動角度,000 - 359,(前導位數不足則補0)

字段4:M=磁北參照系

字段5:水準運動速度(0.00)(前導位數不足則補0)

字段6:N=節,Knots

字段7:水準運動速度(0.00)(前導位數不足則補0)

字段8:K=公裡/時,km/h

字段9:校驗值

收到的資訊就是這樣的:

$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09

$GPVTG,000.0,T,,M,000.0,N,000.0,K*60

$GPGGA,062320,3537.8333,N,13944.6667,E,0,00,99.9,0100,M,,M,000,0000*7D

$GPGLL,3537.8333,N,13944.6667,E,062320,V*3B

$GPRMC,062320,V,3537.8333,N,13944.6667,E,000.0,000.0,030222,,*0D

$GPZDA,062320,03,02,2022,,*4E

$GPGSV,1,1,00,,,,,,,,,,,,,,,,*79

$GPVTG,000.0,T,,M,000.0,N,000.0,K*60

$GPGGA,062321,3537.8333,N,13944.6667,E,0,00,99.9,0100,M,,M,000,0000*7C

$GPGLL,3537.8333,N,13944.6667,E,062321,V*3A

$GPRMC,062321,V,3537.8333,N,13944.6667,E,000.0,000.0,030222,,*0C

$GPZDA,062321,03,02,2022,,*4F

$GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9*09

$GPVTG,000.0,T,,M,000.0,N,000.0,K*60

$GPGGA,062322,3537.8333,N,13944.6667,E,0,00,99.9,0100,M,,M,000,0000*7F

$GPGLL,3537.8333,N,13944.6667,E,062322,V*39

$GPRMC,062322,V,3537.8333,N,13944.6667,E,000.0,000.0,030222,,*0F

$GPZDA,062322,03,02,2022,,*4C

第<3>,<4>,<5>,<6>項個别衛星會重複出現,每行最多有四顆衛星。其餘衛星資訊會于次一行出現,若未使用,這些字段會空白。

這下,超級終端中顯示的資料就能看懂了吧,其實所有的軟體也都是對這些标準的輸出資料進行處理和運算!

GPS 入門 4 —— GPS NMEA-0183協定 [轉]