http://www.gpsinformation.org/dale/nmea.htm
我们所说的GPS协议一般指:NMEA-0183协议
NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的RTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。
NMEA协议有0180、0182和0183这3种,0183可以认为是前两种的升级,也是目前使用最为广泛的一种
。NMEA-0183协议是GPS接收机应当遵守的标准协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。也有少数厂商或软件不支持NMEA-0183,购买和使用的时候需要注意识别。
NAEA 0183 GPS协议
该协议为NAEA 0183 2.0版,此协议是为了在不同的GPS导航设备中建立统一的RTCM标准。NAEA 0183语句以ASCII格式输出,传输速率可自定义。
NMEA通讯协议所定义的标准通讯接口参数为:
波特率:4800bit/s(缺省值 );
数据位:8位;
停止位:1位;
奇偶校验:无;
传输长度表:传输长度=传输总字符数/每秒传输数
波特率 每秒传输数 语句 最大字符
1200 120 GPGGA 72
2400 240 GPGSA 65
4800 480 GPGSV 210
9600 960 GPRMC 70
NMEA通讯协议所规定的通讯语句都已是以ASCII码为基础的,NMEA-0183协议语句的数据格式如下:“
”为语句起始标志;“,”为域分隔符;“∗”为校验和识别符,其后面的两位数为校验和,代表了“
”和“*”之间所有字符的按位异或值(不包括这两个字符);“/”为终止符,所有的语句必须以回车换行来结束,也就是ASCII 字符的“回车”(十六进制的0D)和“换行”(十六进制的0A)
在读取输出语句时数据之间最好用“,”区分,不要按位读取,以保证应用程序的兼容性。
1、GGA
GPGGA、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、M,<11>、<12>∗hh <0>
GPGG,语句ID,表明该语句为GlobalPositioning System Fix Data(GGA)GPS定位信息
<1>UTC时间,hh mm ss格式(定位它的卫星提供)
<2>纬度dd mm mmmm 格式(前导位数不足则补0)
<3>纬度方向 (北纬)或S(南纬)
<4>经度ddd mm mmmm 格式(前导位数不足则补0)
<5>经度方向E(东经)或W(西经)
<6>GPS状态指示:0—未定位, 1—无差分定位信息, 2—带差分定位信息 ,3-无效GPS,6-正在估算
<7>正在使用的卫星数量(00- 12)(前导位数不足则补0)
<8>HDOP水平精度因子(0.5- 99.9)
<9>海平面高度(-9999.9- 99999.9)
<10>地球椭球面相对大地水准面的高度
<11>差分GPS信息,即差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)
<12>差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)
2、GSA
GPGSA、<1>、<2>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<4>、<5>、<6>、∗hh <0>
GPGSA,语句ID,表明该语句为GPSDOP and Active Satellites(GSA)当前卫星信息
<1>定位模式M—手动,A—自动
<2>当前状态 1—无定位信息,2—2D 3—3D
<3>PRN号01~32(伪随机噪声码),当前信道(共12个信道)正在使用的卫星PRN码编号(00)(前导位数不足则补0)
<4>PDOP综合位置精度因子(0.5- 99.9)
<5>HDOP水平精度因子(0.5- 99.9)
<6>VDOP垂直精度因子(0.5- 99.9)
3、GSV
GPGSV、<1>、<2>、<3>、<4>、<5>、<6>、<7><4>、<5>、<6>、<7>∗hh <0>
GPGSV,语句ID,表明该语句为GPSSatellites in View(GSV)可见卫星信息
<1>GSV语句的总数目(1 -3)
<2>当前GSV语句数目(1 -3)
<3>显示卫星的总数目00~12(前导位数不足则补0)
<4>卫星的PRN号星号(01- 32)(前导位数不足则补0)
<5>卫星仰角(00- 90)度(前导位数不足则补0)
<6>卫星旋角(00- 359)度(前导位数不足则补0)
<7>信噪比(00-99)dbHz
*语句共两条,每条最多包括4颗星的处所。每个星有4个数据,即<4>—星号 <5>—仰角<6>—方位<7>—信噪比
4、RMC
GPRMC、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、<11>、∗hh <0>
GPRMC,语句ID,表明该语句为RecommendedMinimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息
<1>定位时UTC时间hhmmss.sss格式
<2>状态A=定位V=导航
<3>经度ddmm.mmm 格式(前导位数不足则补0)
<4>经度方向N(北纬)或S(南纬)
<5>纬度dddmm.mmmm (前导位数不足则补0)
<6>纬度方向E(东经)或W(西经)
<7>速率,节,Knots
<8>方位角(二维方向指向,相当于二维罗盘)
<9>当前UTC日期ddmmyy 格式
<10>磁偏角,(000- 180)度(前导位数不足则补0)
<11>磁偏角方向,E=东经 W=西经
5、VTG
GPVTG、<1>、T、<2>、M、<3>、N、<4>K∗hh <0>
GPVTG,语句ID,表明该语句为TrackMade Good and Ground Speed(VTG)地面速度信息
<1>真实方向(000 - 359),(前导位数不足则补0)
T-正北参照系
<2>相对方向
M-磁北参照系
<3>步长
N-节,Knots
<4>速率
K-公里/时,km/h
6、GPGLL
例:
GPGLL,<1>,S,<3>,E,<5>,<6>∗<7> <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>:校验值
1、NMEA接收语句
*GPS 25输入语句,主要为初始化,参数设置导通过RXP管脚
(1)ALM(历书信息)格式:
GPALM、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、<11>、<12>、<13>、<14>、<15>、∗hh 如果板上的备用电池耗完,用此语句初始化信息 <1>在历书下传时能将历书总数传至GPS板上,当发送历书到GPS板上此字段可空或任意数。 <2>当前历书数20这个字段可为空或任意值; <3>卫星PRN数不清0到32 <4>GPS星历数 <5>SV状态,每个历书的17−24位 <6>离心率 <7>星历参考时间 <8>倾角 <9>上升速率 <10>半轴 <11>近地点的末端 <12>节经度 <13>近点离角 <14>Afo时间参数 <15>Af1时间参数 hh:语句末端的hh为该语句的校检符,应由用户计算送给GPS25板,计算规则为:“S”后的所有字节的8个计,每4个组成一个BCD码(A、B、C等应用大写)。GPS25输出,语句后均有校验位,用户可通过它,验证结果。 (2)初始化信息命令(仅在GPS25上用)
PGRMI用来初始化板子设定卫星位置和时间
该语句一般在裙位置和当前实际位置的距离超过800公里时使用,以回忆定位速度
格式:
PGRMI
GPALM、<1>、<2>、<3>、<4>、<5>、<6>、*hh
<1>纬度ddmm.mmm格式(初始化必须被写入板子)
<2>纬度方向N或S
<3>经度ddmm.mmm格式(初始化必须被写入板子)
<4>经度方向E或N
<5>当前UTC日期,kkmm yy格式
<6>当前UTC时间hhmm ss格式
(3)板子配置信息命令(仅用于GPS 25)
GPALM配置接收板上的参数,存储在备用电池上。
GPALM、 <1>、<2>、<3>、<4>、<5>、<6>、<7>、 <8>、<9>、<10>、<11>、<12>、*hh< LF>
<1>合适的工作模式A——自动,2——2D模式,3—3D模式
<2>海平面高度-1500.00~1800.00米
<3>地理坐标索引
<4>用户在地坐标
<5>用户大地坐标精度
<6>用户大地坐标 x轴
<7>用户大地坐标 y轴
<8>用户大地坐标z轴
<9>差分模式A—自动(激活时自动输出差分信息)D—差分模式
<10>NMEA波特率1=200 2=2400 3=4800 4=9600
<11>速度滤波器状态0=不过滤 1—自动 2~255=滤波器时间常数
<12>PPS模式:1=无Z=1HZ
波特率和PPS的改变在重新加电或PIN6初始化后发挥作用。
(4)输出语句的激活(仅适用于GPS 25)
PGRMO决定是否进行语句输出。
PGRMO<1>、<2>*hh
(1)语句描述
(2)语句模式0—关闭特殊1 —开启特 2—关闭所有 3—开启所有(除GPALM)
注意:(1)如果为2或3时,不做检验。允许有空字段
(2)如果为0或1时,描述字段必须被定义
(3)如果如果都不作用时(指上语句中<1><2>),该语句无影响
(4)
PGRMO、GPALM、1将传送所有昨历 2、NMEA的发送语句 通过TXD管脚(GPS25板上) (1)传输速率 用户可自定义 传输长度表传输长度=传输总字符数/每秒传输数 波特率每秒传输数语句最大字符 1200120GPGGA72 2400240GPGSA65 4800480GPGSV210 9600960GPRMC70 GPVTG34 PGRME36 PGRMT47 PGRMV26 PGRMF79 LCGLL36 LCDTG34 缺省波特率为48000。 (2)时间传输 输出UTC时间和日期,通过计算板上时间得到当前日期时间。 (3)全球卫星的星历(ALM)
GPALM、 <1>、<2>、<3>、<4>、<5>、<6>、<7>、 <8>、<9>、<10>、<11>、<12>、<13>、< 14>、<15>、*hh
I 不能正常传送,要通过
PGRMO、GPALM、1命令初始化后得到 ∗在读取输出语句时数据之间最好用“、”区分,不要按位读取,以保证应用程序兼容性 (4)位置信息(GGA)
GPGGA、 <1>、<2>、<3>、<4>、<5>、<6>、<7>、 <8>、<9>、M, <11>、<12>*hh
<1>UTC时间,hh mm ss格式(定位它的)
<2>经度dd mm mmmm 格式(非0)
<3>经度方向 N或S
<4>纬度ddd mm mmmm 格式(非0)
<5>纬度方向E或W
<6>GPS状态批示0—未定位 1—无差分定位信息 2—带差分定位信息
<7>使用卫星号(00~08)
<8>精度百分比
<9>海平面高度
<10>*大地随球面相对海平面的高度
<11>差分GPS信息
<12>差分站ID号 0000-123
(5) GPS DOP 和活动卫星
GPGSA、<1>、<2>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<3>、<4>、<5>、<6>、∗hh <1>模式M—手动,A—自动 <2>当前状态1—无定位信息,2—2D3—3D <3>PRN号01 32 <4>位置精度 <5>垂直精度 <6>水平精度 (6)当前GPS卫星状态(GSV)
GPGSV、<1>、<2>、<3>、<4>、<5>、<6>、< 7><4>、<5>、<6>、<7>*hh
<1>GSV语句的总数目
<2>当前GSV语句数目
<3>显示卫星的总数目00~12
<4>卫星的PRV号星号
<5>卫星 仰角
<6>卫星 旋角
<7>信操比
语句共两条,第条最多包括4颗星的处所。每个星有4个数据,即<4>—星号 <5>—仰角<6>—方位<7>—信噪比
(7)最简特性(RMC)
GPRMC、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、<11>、∗hh <1>定位时UTC时间hhmmss格式 <2>状态A=定位V=导航 <3>经度ddmm.mmm格式 <4>经度方向N或S <5>纬度dddmm.mmmm <6>纬度方向E或W <7>速率 <8>方位敬爱(二维方向指向,相当于二维罗盘) <9>当前UTC日期ddmmyy格式 <10>太阳方位 <11>太阳方向 (8)VTG速度相对正北的方向
GPVTG、<1>、T、<2>、M、<3>、N、<4>K*hh
<1>真实方向<2>、相对方向<3>步长<4>速率
(9)带有LORAN ID的地理信息命令
LCGLL 报告位置信息
LCGLL、<1>、<2>、<3>、<4>,<5> 1、经度,ddmm.mm格式 2、经度方向N或S 3、纬度,dddmm.mm格式 4、纬度方向E或W 5、UTC时间(定位点)hhmmss格式 (10)带有LORANID的轨迹,速度信息 LCVTG报告轨迹和速度信息
LCVTG、<1>、T、<2>、、<3>、N、<4>,K,
1、 真实方向(相对于正北)
2、 相对方向
3、 步长
4、 速率
(11)评估错误信息
PGRME报告评估错误信息
PGRME、<1>、M、<2>、M、<3>、M、*hh
1、 GPS星号(0-1023)
2、 附加PGS(0-604799)
3、 UTC日期(当前点)hhmmss格式
4、 UTC时间(当前点)hhmmss格式
5、 GPS跳跃秒数
6、 经度,ddmm.mmmm格式
7、 经度方向,N或S
8、 纬度,dddmm.mmmm格式
9、 纬度方向,E或W
10、模式 M=”手动” A=”自动”
11、定位类型 0=没定位 1=2D 2=3D
12、速率
13、方位角
(13)状态信息
PGRMT、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>∗hh 报告板子状态语句 1、产品名称,模式和软件版本 2、自测P−通过F−失败 3、接收检测P−通过F−失败 4、储存数据状态R−保留L−丢失 5、时钟数据状态R−保存L−丢失 6、晶振检测P−通过F−测试有误 7、数据采集C−收集空时为不收集 8、板子温度℃ 9、板子配置数据R−保留L−丢失 (14)3D定位信息
PGRMV、<1>、<2>、<3>*hh
1、 向东真实速率 -999.9 to 9999.9
2、 向北真实速率 -999.9 to 9999.9
3、 垂直速率 -999.9 to 9999.9
数据实例
GPGSA,A,1,,,,,,,,,,,,,99.9,99.9,99.9∗09
PSNY,0,00,05,500,06,06,06,06*14
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
PSNY,0,00,05,500,06,06,06,06∗14
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
转自:http://blog.csdn.net/henry19850318/article/details/6907181