Chinaunix首页 | 论坛 | 博客
  • 博客访问: 584716
  • 博文数量: 141
  • 博客积分: 3425
  • 博客等级: 中校
  • 技术积分: 1609
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-23 15:55
文章分类

全部博文(141)

文章存档

2019年(5)

2011年(19)

2010年(36)

2009年(13)

2008年(50)

2007年(18)

分类:

2009-04-09 09:01:16

GPS NMEA-0183协议

几乎现在所有的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>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一

行出现,若未使用,这些字段会空白。


阅读(2205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~