几乎现在所有的GPS接收机都遵循美国国家海洋电子协会(National
Marine Electronics
Association)所指定的标准规格,这一标准制订所有航海电子仪器间的通讯标准,其中包含传
输资料的格式以及传输资料的通讯协议。NMEA协议有0180、0182和0183三种,0183可以
认为是前两种的超集,现在正广泛的使用,0183有几个版本,V1.5 V2.1。所以,如果大家
的GPS接收机要联上笔记本里通用的GPS导航程序,就应该选择NEMA V2.0以上的协议。
NMEA规定的通讯速度是4800 b/S。
下面是NMEA协议常用的几种输出类型:
GPRMC(建议使用最小GPS数据格式)
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>
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>
⋯
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>
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>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一
行出现,若未使用,这些字段会空白。
http://blog.sina.com.cn/s/blog_604168010100ddeu.html
GPS简介
GPS的全称: 卫星测时测距导航/全球定位系统 Navigation Satellite Time and Ranging/
Global Positioning System,它分为三个部分:空间部分、地面控制部分和用户设备部分。
空间部分:由24颗卫星分布在20200KM高空中固定的6个轨道上,每个轨道4颗。
地面控制部分:有一个主控站、5个全球监控站和3个地面控制站组成。他们为卫星提供准去的卫星轨道和时钟参数。
用户设备部分及GPS接收机。主要功能是捕获卫星的一些信息计算出用户堆在位置的经纬度、高度、速度时间等性息。接收机由接受单元和天线单元组成,而用户设备则由接收机硬件和机内软件(地图……)构成。
GPS接受模块是串口输出,市面上的接收机由USB接口的、PS2接口的、RS232接口的,可根据需要选择合适自己的设备。
GPS接收机接受到得信息可以通过串口读出来,下面是一组数据。
$PSRFTXT,Version:GSW3.2.4_3.1.00.12-SDK003P1.00a
$PSRFTXT,Version2:F-GPS-03-0701231
$PSRFTXT,WAAS Disable
$PSRFTXT,TOW: 105921
$PSRFTXT,WK: 1538
$PSRFTXT,POS: -2170399 4386065 4076920
$PSRFTXT,CLK: 95585
$PSRFTXT,CHNL: 12
$PSRFTXT,Baud rate: 4800
$GPGGA,052613.172,3959.1983,N,11619.6639,E,0,03,,74.0,M,-6.5,M,,0000*5B
$GPGSA,A,1,30,14,29,,,,,,,,,,,,*13
$GPRMC,052613.172,A,3959.1983,N,11619.6639,E,,,290609,,*01
$GPGGA,052614.266,3959.2084,N,11619.6691,E,1,03,4.1,74.0,M,-6.5,M,,0000*7F
$GPGSA,A,2,30,14,29,,,,,,,,,,4.2,4.1,1.0*3C
$GPRMC,052614.266,A,3959.2084,N,11619.6691,E,1.24,10.61,290609,,*3E
$GPGGA,052615.269,3959.2074,N,11619.6690,E,1,03,4.1,74.0,M,-6.5,M,,0000*7F
$GPGSA,A,2,30,14,29,,,,,,,,,,4.2,4.1,1.0*3C
$GPRMC,052615.269,A,3959.2074,N,11619.6690,E,2.09,90.96,290609,,*32
$GPGGA,052616.269,3959.2080,N,11619.6676,E,1,04,3.9,48.4,M,-6.5,M,,0000*7C
$GPGSA,A,3,30,14,29,12,,,,,,,,,4.0,3.9,1.0*33
$GPRMC,052616.269,A,3959.2080,N,11619.6676,E,0.39,281.94,290609,,*03
$GPGGA,052617.266,3959.2117,N,11619.6940,E,1,04,6.9,70.3,M,-6.5,M,,0000*7E
$GPGSA,A,3,30,14,29,12,,,,,,,,,8.3,6.9,4.5*39
$GPGSV,3,1,10,14,56,115,34,30,37,049,41,29,23,103,34,12,08,041,30*73
$GPGSV,3,2,10,16,75,122,,21,51,183,,31,50,055,,20,23,309,*7E
$GPGSV,3,3,10,22,21,297,,18,03,169,*73
$GPRMC,052617.266,A,3959.2117,N,11619.6940,E,0.10,299.68,290609,,*09
$GPGGA,052618.000,3959.2142,N,11619.7011,E,1,04,6.9,80.7,M,-6.5,M,,0000*74
$GPGSA,A,3,30,14,29,12,,,,,,,,,8.3,6.9,4.5*39
$GPRMC,052618.000,A,3959.2142,N,11619.7011,E,0.16,318.14,290609,,*0D
$GPGGA,052619.000,3959.2174,N,11619.7146,E,1,04,6.9,90.3,M,-6.5,M,,0000*76
$GPGSA,A,3,30,14,29,12,,,,,,,,,8.3,6.9,4.5*39
$GPRMC,052619.000,A,3959.2174,N,11619.7146,E,0.42,64.37,290609,,*32
$GPGGA,052620.000,3959.2194,N,11619.7277,E,1,04,6.9,96.9,M,-6.5,M,,0000*7F
$GPGSA,A,3,30,14,29,12,,,,,,,,,8.3,6.9,4.5*39
$GPRMC,052620.000,A,3959.2194,N,11619.7277,E,1.04,76.65,290609,,*30
$GPGGA,052621.000,3959.2216,N,11619.7391,E,1,04,6.9,104.4,M,-6.5,M,,0000*49
$GPGSA,A,3,30,14,29,12,,,,,,,,,8.3,6.9,4.5*39
$GPRMC,052621.000,A,3959.2216,N,11619.7391,E,0.97,72.92,290609,,*36
$GPGGA,052622.000,3959.2227,N,11619.7426,E,1,04,6.9,107.2,M,-6.5,M,,0000*46
$GPGSA,A,3,30,14,29,12,,,,,,,,,8.3,6.9,4.5*39
$GPGSV,3,1,10,14,56,115,35,30,37,049,40,29,23,103,33,12,08,041,30*74
$GPGSV,3,2,10,16,75,122,,21,51,183,,31,50,055,,20,23,309,*7E
$GPGSV,3,3,10,22,21,297,,18,03,169,*73
我们从这些信息中可以得到我们的大致位置、和准确的时间等信息。下面是这些数据的具体格式。
说明:NMEA0183格式以“$”开始,主要语句有GPGGA,GPVTG,GPRMC等
1、 GPS DOP and Active Satellites(GSA)当前卫星信息
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>
<1>模式 :M = 手动, A = 自动。
<2>定位型式 1 = 未定位, 2 = 二维定位, 3 = 三维定位。
<3>PRN 数字:01 至 32 表天空使用中的卫星编号,最多可接收12颗卫星信息。
<4> PDOP位置精度因子(0.5~99.9)
<5> HDOP水平精度因子(0.5~99.9)
<6> VDOP垂直精度因子(0.5~99.9)
<7> Checksum.(检查位).
2、 GPS Satellites in View(GSV)可见卫星信息
$GPGSV,
<1>,<2>,<3>,<4>,<5>,<6>,<7>,?<4>,<5>,<6>,<7>,<8>
<1> GSV语句的总数
<2> 本句GSV的编号
<3> 可见卫星的总数,00 至 12。
<4> 卫星编号, 01 至 32。
<5>卫星仰角, 00 至 90 度。
<6>卫星方位角, 000 至 359 度。实际值。
<7>讯号噪声比(C/No), 00 至 99 dB;无表未接收到讯号。
<8>Checksum.(检查位).
第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。
3、Global Positioning System Fix Data(GGA)GPS定位信息
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh
<1> UTC时间,hhmmss(时分秒)格式
<2> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<3> 纬度半球N(北半球)或S(南半球)
<4> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<5> 经度半球E(东经)或W(西经)
<6> GPS状态:0=未定位,1=非差分定位,2=差分定位,6=正在估算
<7> 正在使用解算位置的卫星数量(00~12)(前面的0也将被传输)
<8> HDOP水平精度因子(0.5~99.9)
<9> 海拔高度(-9999.9~99999.9)
<10> 地球椭球面相对大地水准面的高度
<11> 差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
<12> 差分站ID号0000~1023(前面的0也将被传输,如果不是差分定位将为空)
4、Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐定位信息
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
<1> UTC时间,hhmmss(时分秒)格式
<2> 定位状态,A=有效定位,V=无效定位
<3> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)
<4> 纬度半球N(北半球)或S(南半球)
<5> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)
<6> 经度半球E(东经)或W(西经)
<7> 地面速率(000.0~999.9节,前面的0也将被传输)
<8> 地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)
<9> UTC日期,ddmmyy(日月年)格式
<10> 磁偏角(000.0~180.0度,前面的0也将被传输)
<11> 磁偏角方向,E(东)或W(西)
<12> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
5、 Track Made Good and Ground Speed(VTG)地面速度信息
$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
<1> 以真北为参考基准的地面航向(000~359度,前面的0也将被传输)
<2> 以磁北为参考基准的地面航向(000~359度,前面的0也将被传输)
<3> 地面速率(000.0~999.9节,前面的0也将被传输)
<4> 地面速率(0000.0~1851.8公里/小时,前面的0也将被传输)
<5> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
如果您喜欢这篇文章,可以加华清远见老师为好友,单击以下链接即可:
(作者:华清远见嵌入式培训中心 )