GPS 协议简体中文文档 nmea 0183 format v3.01
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
gps 语句说明NMEA-0813
2010-03-16 16:20
NMEA-0813数据格式说明(转)
2008-06-11 09:11
NMEA-0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。
统一标准格式NMEA-0183输出采用ASCII 码,其串行通信的参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
NMEA-0183 的每条语句的格式如下表所示。
符号(ASCII)——定义——HEX——DEX
“$”——语句起始位——24——36
aaccc——地址域,前两位为识别符,后三位为语句名
“,”——域分隔符——2C——44
ddd…ddd——发送的数据内容
“*”——效验和符号,后面的两位数是效验和——2A——42
hh——效验和
<CR>/<LF> ——终止符,回车或换行——OD,OA——13,10
不同的GPS OEM接收板提供的NMEA语句有很大差异,主要表现在字段的意义和位置上。
我们需要先弄清楚需要哪些信息,然后对照GPS OEM接收板的技术资料,寻找那些包括所需信息的NMEA语句。
1 GPRMC语句(Recommended Minimum Specific GPS/TRANSIT Data-RMC,推荐定位信息1次/1秒)
对于一般的GPS动态定位应用,GPRMC语句完全满足要求。
该语句中包括经纬度、速度、时间和磁偏角等字段,这些数据为导航定位应用提供了充分的信息。
下表详细说明GPRMC语句中的各个字段:
$GPRMC, <1>,<2>,<3>,<4>,<5>,<6>,<7>, <8>,<9>,<10>,<ll>,<12>
字段 $GPRMC语句意义——取值范围
<1> UTC时间:hhmmss.ss——000000.00~235959.99
<2> 状态,有效性——A表示有效;V表示无效
<3> 纬度格式:ddmm.mmmm——0000.00000~8959.9999
<4> 南北半球——N北纬;S南纬
<5> 经度格式:dddmm.mmmm——00000.0000~17959.9999
<6> 东西半球——E表示东经;W表示西经
<7> 地面速度——000.00~999.999
<8> 速度方向——000.00~359.99
<9> 日期格式,月日年——010100~123199
<10> 磁偏角,单位:度——00.00~99.99
<ll> 磁偏角方向——E表示东;W表示西
<12> 模式指示及校验和—— A=自主定位,D=差分,E=估算,N=数据无效
例如:
$GPRMC,074529.82,A,2429.6717,N,11804.6973,E,12.623,32.122,010806,,W, A*08
2 GPGGA语句(Global Positioning System Fix Data-GGA,GPS定位信息, 输出1次/1秒)
GPS定位主要数据,该语句中包括经纬度、质量因子、HDOP、高程、基准站号等字段。
下表详细说明GPGGA语句中的各个字段:
$GPGGA, <1>,<2>,<3>,<4>,<5>,<6>,<7>, <8>,<9>,<10>,<ll>,<12>,<l3>,< 14>
字段 $GPGGA语句意义——取值范围
<1> UTC时间:hhmmss.ss——000000.00~235959.99
<2> 纬度,格式:ddmm.mmmm ——0000.00000~8959.9999
<3> 南北半球——N北纬;S南纬
<4> 经度格式:dddmm.mmmm ——00000.0000~17959.9999
<5> 东西半球——E表示东经;W表示西经
<6> 质量因子——0=未定位,1=GPS单点定位固定解,2=差分定位,3=PPS解;4=RTK固定解;5=RTK浮点解;6=估计值;7=手工输入模式;8=模拟模式;
<7> 应用解算位置的卫星数——00~12
<8> HDOP,水平图形强度因子——0.500~99.000 ;大于6不可用
<9> 天线高程(海平面)——-9999.9~99999.9
<10> 线线高程单位(m) ——m
<ll> 大地水准面起伏——地球椭球面相对大地水准面的高度
<12> 大地水准面起伏单位(m) ——m
<13> 差分GPS数据期——差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空),不使用DGPS时为空
<14> 基准站号——0000~1023;不使用DGPS时为空
$GPGGA,074529.82,2429.6717,N,11804.6973,E,1,8,1.098,42.110,M,,M,,*76
3 GPGSV语句(GPS Satellites in View-GSV,可见卫星信息,1次/5秒)
GPS可见星的方位角、俯仰角、信噪比等
每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即:(4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>, <15>,<16>,<17>,<18>,<19>
字段 $GPGSV语句意义——取值范围
<1> 总的GSV语句电文数——0~12
<2> 当前GSV语句号
<3> 可视卫星总数——0~32
<4> 卫星号——1~32
<5> 仰角——00~90
<6> 方位角——000~359
<7> 信噪比——00~99dB无表未接收到讯号
<8> 卫星号——1~32
<9> 仰角——00~90
<10> 方位角——000~359
<ll> 信噪比——00~99dB无表未接收到讯号
<12> 卫星号——1~32
<13> 仰角——00~90
<14> 方位角——000~359
<15> 信噪比——00~99dB 无表示未接收到讯号
<16> 卫星号——1~32
<17> 仰角——00~90
<18> 方位角——000~359
<19> 效验和,格式:*效验和——检查位
$GPGSV,3,1,11,1,83,54,32,3,19,192,28,6,26,57,36,7,51,140,37*7D $GPGSV,3,2,11,14,40,136,34,16,64,266,36,20,21,293,,22,2,168,*4C $GPGSV,3,3,11,23,10,321,,25,53,7,40,30,2,46,*48
4. $GPVTG语句(Track Made Good and Ground Speed-VTG,地面速度信息)格式:$GPVTG,<1>,T,<2>,M,<3>,N,<4>,K,<5>*hh
字段 $GPVTG语句意义——取值范围
<1> 以真北为参考基准的地面航向——000.000~359.999
<2> 以磁北为参考基准的地面航向——000.000~359.999
<3> 地面速率——000.000~999.999节
<4> 地面速率——0000.0~1851.8公里/小时
<5> 模式指示——A=自主定位,D=差分,E=估算,N=数据无效(仅NMEA0183 3.00版本输出)
<6> hh 校检位
$GPVTG,257.314,T,257.314,M,10.739,N,19.888,K,A*2F
5、 $GPGSA语句(GPS DOP and Active Satellites-GSA,当前卫星信息,1次/1秒)
GSA : GNSS 的当前卫星和精度因子,包括可见卫星PRN号,以及PDOP、HDOP、VDOP。
如:
<1> 模式——M = 手动, A = 自动。
<2> 定位类型——1 = 未定位, 2 = 二维定位, 3 = 三维定位。
<3> PRN 数字——01 至 32 表天空使用中的卫星编号,最多可接收12颗卫星信息。
正在用于解算位置的卫星号(01~32,前面的0也将被传输)。
<4> PDOP位置精度因子——0.5~99.9
<5> HDOP水平精度因子——0.5~99.9
<6> VDOP垂直精度因子——0.5~99.9
<7> Checksum.(检查位).
$GPGSA,<1>,<2>,<3>,<3>,,,,,<3>,<3>,<3>,<4>,<5>,<6>,<7>
$GPGSA,A,3,19,11,03,23,27,13,16,,,,,,3.43,1.67,2.99*0E
6. $GPGLL语句(输出大地坐标信息)
$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*61
字段 $GPGLL语句意义——取值范围
<1> 纬度:ddmm.mmmmm——0000.00000~8959.9999
<2> 南纬或北纬——北纬N,S南纬
<3> 经度:dddmm.mmmmm——0000.00000~17959.99999
<4> 东、西经——东经E,西经W
<5> UTC时间——hh:mm:ss
<6> 数据状态——A有效,V无效
$GPGLL,2431.25310,N,11806.15429,E,081401.00,A,A*61
7.$GPZDA语句(输出UTC时间和日期信息)
$GPZDA, <1>,<2>,<3>,<4>,<5>*hh
字段 $GPZDA语句意义——取值范围
<1> 时间:hhmmss.ss——0000000.00~235959.99
<2> 日——00~31
<3> 月——00~12
<4> 年——0000~9999
<5> 地方时与世界时之差
<6> 检校位 *hh——*
$GPZDA,081401.00,14,09,2006,00,00*62
8. $GPGST 语句(GPS 伪距噪声统计,包括了三维坐标的标准偏差信息)
字段——示例——说明
Sentence ID ——$GPGST
UTC Time——024603.00——UTC time of associated GGA fix
RMS deviation——3.2——Total RMS standard deviation of ranges inputs to the navigation solution
Semi-major deviation——6.6——Standard deviation (meters) of
semi-major axis of error ellipse
Semi-minor deviation——4.7——Standard deviation (meters) of
semi-minor axis of error ellipse
Semi-major orientation——47.3——Orientation of semi-major axis of error ellipse (true north degrees)
Latitude error deviation——5.8——Standard deviation (meters) of
latitude error
Longitude error deviation——5.6——Standard deviation (meters) of longitude error
Altitude error deviation——22.0——Standard deviation (meters) of latitude error
Checksum—— *58
$GPGST,024603.00,3.2,6.6,4.7,47.3,5.8,5.6,22.0*58
9. $GPCN0语句
各颗用于解算的卫星信噪比:
$GPCN0,30,40,35,26,24,36,31,38
其他说明:
II. 输出格式:
GPGGA(1次/1秒)
GPGSA(1次/1秒)
GPGSV(1次/5秒)
GPRMC(1次/1秒)
另可选用GLL,VTG或SiRF二进制格式
III.使用座标系统:WGS84
DOP值有三种测量类型:
水平、垂直和说明(mean)。
HDOP测量它和经纬度的关系作为精度,VDOP测量他和海拔的关系作为精度,PDOP,给出一个关于经纬度、海拔精度的完整等级。
每个DOP值都是1到50之间数值,其中50 表示非常差的精度,1则表示很理想的精确度。
表2-1列出了划分的一份精确的PDOP值细目分类。
PDOP分类描述:
PDOP值——评价——说明
1~2——理想——这是最高的信任级别,应用程序可以在任何时候获取最高的精度
2~3——极好——值得信任的级别,位置的测量相当精确,可以应用于绝大多数应用程序,但是有些非常敏感的应用程序就不行了
4~6——好——这是用来做商业应用的最低等级。
位置的测量可以用来做线路导航建议
7~8——中等——位置测量可以用来计算,但是质量还应该提高。
推荐用语天空观察
9~20——中下——信任级别很低。
位置测量结果应该丢弃或者仅用于粗略估计当前位置
21~50——差——在这个级别的测量结果是不精确的,大概会有半个足球场大的误差,应该丢弃
标签:NAEA 0183
NAEA 0183 GPS协议
<1>模式M—手动,A—自动
<2>当前状态1—无定位信息,2—2D 3—3D
<3>PRN号01~32
<4>位置精度
<5>垂直精度
<6>水平精度
3、GSV
$GPGSV、<1>、<2>、<3>、<4>、<5>、<6>、< 7><4>、<5>、<6>、<7>*hh<CR><LF>
<1>GSV语句的总数目
<2>当前GSV语句数目
<3>显示卫星的总数目00~12
<4>卫星的PRV号星号
<5>卫星仰角
<6>卫星旋角
<7>信操比
*语句共两条,第条最多包括4颗星的处所。
每个星有4个数据,即<4>—星号<5>—仰角<6>—方位<7>—信噪比
4、RMC
$GPRMC、<1>、<2>、<3>、<4>、<5>、< 6>、<7>、<8>、<9>、<10>、<11>、*hh<CR> <LF>
<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>太阳方向
5、VTG
$GPVTG、<1>、T、<2>、M、<3>、N、<4>K*hh<CR><LF>
<1>真实方向
<2>相对方向
<3>步长
<4>速率
1、NMEA接收语句
*GPS 25输入语句,主要为初始化,参数设置导通过RXP管脚
(1)ALM(历书信息)格式:$ GPALM、<1>、<2>、<3>、<4>、<5>、<6>、< 7>、<8>、<9>、<10>、<11>、<12>、<13>、<14>、<15>、*hh<CR><LF> 如果板上的备用电池耗完,用此语句初始化信息
<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为该语句的校检符,应由用户计算送给GPS 25板,计算规则为:“S”后的所有字节的8个计,每4个组成一个BCD码(A、B、C等应用大写)。
GPS 25输出,语句后均有校验位,用户可通过它,验证结果。
(2)初始化信息命令(仅在GPS 25上用)
$PGRMI用来初始化板子设定卫星位置和时间
该语句一般在裙位置和当前实际位置的距离超过800公里时使用,以回忆定位速度
格式:$PGRMI$GPALM、<1>、<2>、<3>、<4>、<5>、<6>、*hh<CR><LF>
<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<CR>< 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<CR><LF>
(1)语句描述
(2)语句模式0—关闭特殊1 —开启特2—关闭所有3—开启所有(除GPALM)
注意:(1)如果为2或3时,不做检验。
允许有空字段
(2)如果为0或1时,描述字段必须被定义
(3)如果如果都不作用时(指上语句中<1><2>),该语句无影响
(4)$PGRMO、GPALM、1将传送所有昨历
2、NMEA的发送语句
通过TXD管脚(GPS 25板上)
(1)传输速率
用户可自定义
传输长度表传输长度=传输总字符数/每秒传输数
波特率每秒传输数语句最大字符
1200 120 GPGGA 72
2400 240 GPGSA 65
4800 480 GPGSV 210
9600 960 GPRMC 70
GPVTG 34
PGRME 36
PGRMT 47
PGRMV 26
PGRMF 79
LCGLL 36
LCDTG 34
缺省波特率为48000。
(2)时间传输
输出UTC时间和日期,通过计算板上时间得到当前日期时间。
(3)全球卫星的星历(ALM)
$GPALM、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、<10>、<11>、
<12>、<13>、< 14>、<15>、*hh<CR><LF>
I 不能正常传送,要通过$PGRMO、GPALM、1命令初始化后得到
*在读取输出语句时数据之间最好用“、”区分,不要按位读取,以保证应用程序兼容性
(4)位置信息(GGA)
$GPGGA、<1>、<2>、<3>、<4>、<5>、<6>、<7>、<8>、<9>、M, <11>、<12>*hh<CR><LF>
<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<CR><LF>
<1>模式M—手动,A—自动
<2>当前状态1—无定位信息,2—2D 3—3D
<3>PRN号01~32
<4>位置精度
<5>垂直精度
<6>水平精度
(6)当前GPS卫星状态(GSV)
$GPGSV、<1>、<2>、<3>、<4>、<5>、<6>、< 7><4>、<5>、<6>、
<7>*hh<CR><LF>
<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<CR><LF>
<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<CR><LF>
<1>真实方向<2>、相对方向<3>步长<4>速率
(9)带有LORAN ID的地理信息命令
LCGLL 报告位置信息
$LCGLL、<1>、<2>、<3>、<4>,<5> <CR><LF>
1、经度,ddmm .mm格式
2、经度方向N或S
3、纬度,dddmm .mm格式
4、纬度方向E或W
5、UTC时间(定位点)hhmmss格式
(10)带有LORAN ID的轨迹,速度信息
LCVTG报告轨迹和速度信息
$LCVTG、<1>、T、<2>、、<3>、N、<4>,K,<CR><LF>
1、真实方向(相对于正北)
2、相对方向
3、步长
4、速率
(11)评估错误信息
$PGRME 报告评估错误信息
$PGRME、<1>、M、<2>、M、<3>、M、*hh <CR><LF>
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<CR><LF> 报告板子状态语句
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<CR><LF>
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
NMEA-0183
NMEA 0183是美国国家海洋电子协会(National Marine Electronics Association )为海用电子设备制定的标准格式。
目前业已成了GPS导航设备统一的RTCM(Radio Technical Commission for Maritime services)标准协议。
注:发送次序$PZDA、$GPGGA、$GPGLL、$GPVTG、$GPGSA、$GPGSV*3、$GPRMC
协议帧总说明:
该协议采用ASCII码,其串行通信默认参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
帧格式形如:$aaccc,ddd,ddd,…,ddd*hh<CR><LF>
1、“$”——帧命令起始位
2、aaccc——地址域,前两位为识别符,后三位为语句名
3、ddd…ddd——数据
4、“*”——校验和前缀
5、hh——校验和(check sum),$与*之间所有字符ASCII码的校验和(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。
)
6、<CR><LF>——CR(Carriage Return)+ LF(Line Feed)帧结束,回车和换行
GPGGA
GPS固定数据输出语句,这是一帧GPS定位的主要数据,也是使用最广的数据。
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15 ><CR><LF>
<1> UTC时间,格式为hhmmss.sss。
<2> 纬度,格式为ddmm.mmmm(前导位数不足则补0)。
<3> 纬度半球,N或S(北纬或南纬)。
<4> 经度,格式为dddmm.mmmm(前导位数不足则补0)。
<5> 经度半球,E或W(东经或西经)。
<6> 定位质量指示,0=定位无效,1=定位有效。
<7> 使用卫星数量,从00到12(前导位数不足则补0)。
<8> 水平精确度,0.5到99.9。
<9> 天线离海平面的高度,-9999.9到9999.9米
<10> 高度单位,M表示单位米。
<11> 大地椭球面相对海平面的高度(-999.9到9999.9)。
<12> 高度单位,M表示单位米。
<13> 差分GPS数据期限(RTCM SC-104),最后设立RTCM传送的秒数量。
<14> 差分参考基站标号,从0000到1023(前导位数不足则补0)。
<15> 校验和。
GPGSA
GPS精度指针及使用卫星格式
$GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15 >,<16>,<17>*<18><CR><LF>
<1> 模式2:M = 手动,A = 自动。
<2> 模式1:定位型式1 = 未定位,2 = 二维定位,3 = 三维定位。
<3> 第1信道正在使用的卫星PRN码编号(Pseudo Random Noise,伪随机噪声码),01至32(前导位数不足则补0,最多可接收12颗卫星信息)。
<4> 第2信道正在使用的卫星PRN码编号
<5> 第3信道正在使用的卫星PRN码编号
<6> 第4信道正在使用的卫星PRN码编号
<7> 第5信道正在使用的卫星PRN码编号
<8> 第6信道正在使用的卫星PRN码编号
<9> 第7信道正在使用的卫星PRN码编号
<10> 第8信道正在使用的卫星PRN码编号
<11> 第9信道正在使用的卫星PRN码编号
<12> 第10信道正在使用的卫星PRN码编号
<13> 第11信道正在使用的卫星PRN码编号
<14> 第12信道正在使用的卫星PRN码编号
<15> PDOP综合位置精度因子(0.5 - 99.9)
<16> HDOP水平精度因子(0.5 - 99.9)
<17> VDOP垂直精度因子(0.5 - 99.9)
<18> 校验和
GPGSV
可视卫星状态输出语句
$GPGSV, <1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*<8><CR><LF>
<1> 总的GSV语句电文数。
<2> 当前GSV语句号。
<3> 可视卫星总数,00至12。
<4> 卫星编号,01至32。
<5> 卫星仰角,00至90度。
<6> 卫星方位角,000至359度。
实际值。
<7> 信噪比(C/No),00至99dB;无表未接收到讯号。
<8> 校验和。
注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即:卫星编号、卫星仰角、卫星方位角、信噪比。
GPRMC
推荐最小数据量的GPS信息(Recommended Minimum Specific GPS/TRANSIT Data)
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*<13><CR><LF>
<1> UTC(Coordinated Universal Time)时间,hhmmss(时分秒)格式
<2> 定位状态,A=有效定位,V=无效定位
<3> Latitude,纬度ddmm.mmmm(度分)格式(前导位数不足则补0)
<4> 纬度半球N(北半球)或S(南半球)
<5> Longitude,经度dddmm.mmmm(度分)格式(前导位数不足则补0)
<6> 经度半球E(东经)或W(西经)
<7> 地面速率(000.0~999.9节,Knot,前导位数不足则补0)
<8> 地面航向(000.0~359.9度,以真北为参考基准,前导位数不足则补0)
<9> UTC日期,ddmmyy(日月年)格式
<10> Magnetic Variation,磁偏角(000.0~180.0度,前导位数不足则补0)
<11> Declination,磁偏角方向,E(东)或W(西)
<12> Mode Indicator,模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)
<13> 校验和。
GPVTG
地面速度信息
$GPVTG,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>*<10>
<1> 真北参照系运动角度(000到359度,前导位数不足则补0)。
<2> 运动角度参照系,<>
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>项个别卫星会重复出现,每行最多有四颗卫星。
其余卫星信息会于次一行出现,若未使用,这些字段会空白。