Chinaunix首页 | 论坛 | 博客
  • 博客访问: 278407
  • 博文数量: 91
  • 博客积分: 1772
  • 博客等级: 上尉
  • 技术积分: 930
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-17 19:49
文章分类

全部博文(91)

文章存档

2012年(1)

2011年(36)

2010年(50)

2008年(4)

我的朋友

分类: LINUX

2010-09-26 17:23:01

几乎现在所有的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=数据无效)

如果您喜欢这篇文章,可以加华清远见老师为好友,单击以下链接即可:

 
 

(作者:华清远见嵌入式培训中心         )



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