GPS NEMA 0183协议

来源:互联网 发布:新浪博客加js代码 编辑:程序博客网 时间:2024/05/01 09:04
GPS NEMA 0183协议 软件接口GPS25板的软件接口协议采用美国的NMEA0183 ASC II码协议,该协议为NAEA 0183 20版(此协议是为了在不同一GPS导航设备中建立统一的RTCM标准)。下列命令描述了GPS 25导航仪的数据格式定义,包括波特率选择,秒脉冲输出,RTCM定义输出。 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为该语句的校检符,应由用户计算送给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 <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 <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管脚(GPS 25板上)(1)传输速率 用户可自定义 传输长度表传输长度=传输总字符数/每秒传输数波特率每秒传输数语句最大字符1200120GPGGA722400240GPGSA654800480GPGSV2109600960GPRMC70 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>、*hhI 不能正常传送,要通过$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—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 <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或S3、纬度,dddmm .mm格式4、纬度方向 E或W5、UTC时间(定位点)hhmmss格式(10)带有LORAN ID的轨迹,速度信息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或S8、纬度,dddmm.mmmm格式9、纬度方向,E或W10、模式 M=手动 A=自动11、定位类型 0=没定位 1=2D 2=3D12、速率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>*hh1、向东真实速率 -999.9 to 9999.92、向北真实速率 -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,,*4CGPRMC(建议使用最小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.(检查位). 第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。 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.(检查位). NMEA-0183数据格式 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.(检查位). 第<4>,<5>,<6>,<7>项个别卫星会重复出现,每行最多有四颗卫星。其余卫星信息会于次一行出现,若未使用,这些字段会空白。 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.(检查位). PS固定数据输出语句($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)回车,换行。   b.可视卫星状态输出语句($GPGSV)     例2:$GPGSV,2,1,08,06,33,240,45,10,36,074,47,16,21,078,44,17,36,313,42*78   标准格式:   $GPGSV,(1),(2),(3),(4),(5),(6),(7),…(4),(5),(6),(7)*hh(CR)(LF)   各部分含义为:   (1)总的GSV语句电文数;2;(2)当前GSV语句号:1;   (3)可视卫星总数:08;   (4)卫星号:06;   (5)仰角(00~90度):33度;   (6)方位角(000~359度):240度;   (7)信噪比(00~99dB):45dB(后面依次为第10,16,17号卫星的信息);   *总和校验域;  hh 总和校验数:78;   (CR)(LF)回车,换行。   注:每条语句最多包括四颗卫星的信息,每颗卫星的信息有四个数据项,即:  (4)-卫星号,(5)-仰角,(6)-方位角,(7)-信噪比。GPS入门术语大全 GPS作为野外定位的最佳工具,在户外运动中有广泛的应用,在国内也可以越来越经常地看见有人使用了。GPS不象电视或收音机,打开就能用,它更象一架相机,你需要有一定的知识。  首先大家要弄清使用GPS时常碰到的一些术语:  1.坐标(coordinate)  有2维、3维两种坐标表示,当GPS能够收到4颗及以上卫星的信号时,它能计算出本地的3微坐标:经度、纬度、高度,若只能收到3颗卫星的信号,它只能计算出2维坐标:精度和纬度,这时它可能还会显示高度数据,但这数据是无效的。大部分GPS不仅能以经/纬度(Lat/Long)的方式,显示坐标,而且还可以用UTM(Universal Transverse Mercator)等坐标系统显示坐标但我们一般还是使用LAT/LONG系统,这主要是由你所使用的地图的坐标系统决定的。坐标的精度在Selective Availability(美国防部为减小GPS精确度而实施的一种措施)打开时,GPS的水平精度在100-50米之间,视接受到卫星信号的多少和强弱而定,若根据GPS的指示,说你已经到达,那么四周看看,应该在大约一个足球场大小的面积内发现你的目标的。  在SA关闭时,精度能达到15米左右。高度的精确性由于系统结构的原因,更差些。经纬度的显示方式一般都可以根据自己的爱好选择,一般有/"hddd.ddddd/",/"hddd*mm.mmm/"/",/"hddd*mm/"ss.s/"/"/"(其中的“*”代表“度”,以下同)地球子午线长是39940.67公里,纬度改变一度合110.94公里,一分合1.849公里,一秒合30.8米,赤道圈是40075.36公里,北京地区纬在北纬40度左右,纬度圈长为40075*sin(90-40),此地经度一度合276公里,一分合1.42公里一秒合23.69米,你可以选定某个显示方式,并把各位数字改变一对应地面移动多少米记住,这样能在经纬度和实际里程间建立个大概的对应。大部分GPS都有计算两点距离的功能,可给出两个坐标间的精确距离。高度的显示会有英制和公制两种方式,进GPS的SETUP页面,设置成公制,这样在其他象速度、距离等的显示也都会成公制的了。  2.路标(Landmark or Waypoint) GPS内存中保存的一个点的坐标值。在有GPS信号时,按一下/"MARK/"键,就会把当前点记成一个路标,它有个默认的一般是象/"LMK04/"之类的名字,你可以修改成一个易认的名字(字母用上下箭头输入),还可以给它选定一个图标。路标是GPS数据核心,它是构成“路线”(见3)的基础。标记路标是GPS主要功能之一,但是你也可以从地图上读出一个地点的坐标,手工或通过计算机接口输入GPS,成为一个路标。一个路标可以将来用于GOTO功能(见5)的目标,也可以选进一条路线Route,见3.)作为一个支点。一般GPS能记录500个或以上的路标。  3.路线(ROUTE)  路线是GPS内存中存储的一组数据,包括一个起点和一个终点的坐标,还可以包括若干中间点的坐标,每两个坐标点之间的线段叫一条/"腿/"(leg)。常见GPS能存储20条线路,每条线路30条/"腿/"。各坐标点可以从现有路标中选择,或是手工/计算机输入数值,输入的路点同时做为一个路标(Waypoint/Landmark)保存。实际上一条路线的所有点都是对某个路标的引用,比如你在路标菜单下改变一个路标的名字或坐标,如果某条路线使用了它,你会发现这条线路也发生了同样的变化。可以有一条路线是/"活跃/"(Activity)的。“活跃”路线的路点是导向(见5)功能的目标。  4.前进方向(Heading)  GPS没有指北针的功能,静止不动时它是不知道方向的。但是一旦动了起来,它就能知道自己的运动方向。GPS每隔一秒更新一次当前地点信息,每一点的坐标和上一点的坐标一比较,就可以知道前进的方向,请注意这并不是GPS头指的方向,它老人家是不知道自己的脑袋和运动路线是成多少度角的。不同GPS关于前进方向的算法是不同的,基本上是最近若干秒的前进方向,所以除非你已经走了一段并仍然在走直线,否则前进方向是不准确的,尤其是在拐弯的时候你会看到数值在变个不停。方向的是以多少度显示的,这个度数是手表表盘朝上,12点指向北方,顺时针转的角度。有很多GPS还可以用指向罗盘和标尺的方式来显示这个角度。一般同时还显示前进平均速度,也是根据最近一段的位移和时间计算的。  5.导向(Bearing)  导向功能在以下条件下起作用:  1.)以设定/"走向/"(GOTO)目标。/"走向/"目标的设定可以按/"GOTO/"键,然后从列表中选择一个路标。以后/"导向/"功能将导向此路标。  2.)目前有活跃路线(Activity route)。活跃路线一般在设置->路线菜单下设定。如果目前有活动路线,那么/"导向/"的点是路线中第一个路点,每到达一个路点后,自动指到下一个路点。  在/"导向/"页面上部都会标有当前导向路点名称(/"ROUTE/"里的点也是有名称的)。它是根据当前位置,计算出导向目标对你的方向角,以与/"前进方向/"相同的角度值显示。同时显示离目标的距离等信息。读出导向方向,按此方向前进即可走到目的地。有些GPS把前进方向和导向功能结合起来,只要用GPS的头指向前进方向,就会有一个指针箭头指向前进方向和目标方向的偏角,跟着这个箭头就能找到目标。  6.日出日落时间(Sun set/raise time)  大多数GPS能够显示当地的日出、日落时间,这在计划出发/宿营时间时是有用的。这个时间是GPS根据当地经度和日期计算得到的,是指平原地区的日出、日落时间,在山区因为有山脊遮挡,日照时间根据情况要早晚各少半个小时以上。GPS的时间是从卫星信号得到的格林尼制时间,在设置(setup)菜单里可以设置本地的时间偏移,对中国来说,应设+8小时,此值只与时间的显示有关。  7.足迹线(Plot trail)  GPS每秒更新一次坐标信息,所以可以记载自己的运动轨迹。一般GPS能记录1024个以上足迹点,在一个专用页面上,以可调比例尺显示移动轨迹。足迹点的采样有自动和定时两种方式自动采样由GPS自动决定足迹点的采样方式,一般是只记录方向转折点,长距离直线行走时不记点;定时采样可以规定采样时间间隔,比如30秒、一分钟、5分钟或其他时间,每隔这么长时间记一个足迹点。在足迹线页面上可以清楚地看到自己足迹的水平投影。你可以开始记录、停止记录、设置方式或清空足迹线。“足迹”线上的点都没有名字,不能单独引用,查看其坐标,主要用来画路线图(计算机下载路线?)和“回溯”功能。很多GPS有一种叫做“回溯”(Trace back)的功能,使用此功能时,它会把足迹线转化为一条“路线”(ROUTE),路点的选择是由GPS内部程序完成的一般是选用足迹线上大的转折点。  同时,把此路线激活为活动路线,用户即可按导向功能原路返回。要注意的是回溯功能一般会把回溯路线放进某一默认路线(比如route0)中,看你GPS的说明书,使用前要先检查此线路是否已有数据,若有,要先用拷贝功能复制到另一条空线路中去,以免覆盖。回溯路线上的各路点用系统默认的临时名字如/"T001/"之类,有的GPS定第二条回溯路线时会重用这些名字,这时即使你已经把旧的路线做了拷贝,由于路点引用的名字被重用了,所以路线也会改变,不是原来那条回溯路线了。请查看你GPS的使用说明书,并试用以明确你的情况。有必要的话,对于需要长期保存的TraceBack路线,要拷贝到空闲路线,并重命名所有路点名字。我眼中的NMEA-0183协议 NMEA是National Marine Electronics Association(美国国家海事电子协会)的缩写。该协会是一家专门从事海洋电子设备方面研究的民间机构,它制定了关于GPS(全球定位系统)电子设备之间的通信接口和协议的NMEA标准。NMEA-0183协议是目前GPS接收机上使用最广泛的协议,大多数常见的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。一、 电器特性Baud Rate:4800bpsData Bits:8(d7=0)Parity:NoneStop Bits:One(or more)二、 协议1. 语法格式NMEA 0183的信息格式一般如下所示:$aaaaa,df1,df2,....[CR][LF] 所有的信息由$开始,以换行结束,紧跟着$后的五个字符解释了信息的基本类型,多个参数之间用逗号隔开。2. 协议类型NMEA 0183中有以下三种基本的协议类型:a) 信息源b) 查询c) 属性 1) 信息源标准格式为:$ttsss,df1,df2,....[CR][LF] 在紧随$后的两个字符用来识别作为信息内容识别码的后3个字符,信息识别码定义了保留的数据区,在NMEA 0183标准下,每个类型的数据区的信息内容是符合标准的。例如: $HCHDM,238,M[CR][LF]标明“HC”说明信息源作为一个磁性的罗盘,“HDM” 指明以下是磁性的船首向航向,238是船首向航向的值,M指明船首向航向的值是磁性的。2) 查询标准格式为: $ttllQ,sss,[CR][LF]头两个字符做为请求者的信息源的识别码,后两个字符作为被查询的设备的信息识别,最后一个字符说明这是一个查询信息。紧跟着的字段(sss)包含了三个字的被查询内容的记忆信息。查询意味着接受端需要从信息源那里得到一个有规律的内容,例如,我们可以发一个信息给GPS接受器请求传送一个“DISTANCE-TO-WAYPOINT”的信息,得到响应后,GPS接受器会发送请求的内容,直到接到别的请求。例如: $CCGPQ,GGA[CR][LF]说明“CC”这个设备(计算机)正从 “GP”这个设备(GPS)查询GGA的内容。GPS将每隔一秒传送这个内容,直到有别的查询请求。3) 属性 这对厂商来说是一种使用没有在标准下预定义的特殊内容的方法。它通常的格式为:$PmmmA,df1,df2,...,[CR][LF] P说明是属性内容,mmm定义为厂商信息代码,A(A-Z)标明信息类型。 NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。3. 协议语法1) 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也将被传输,如果不是差分定位将为空)2) GPS DOP and Active Satellites(GSA)当前卫星信息$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=2D定位,3=3D定位<3> PRN码(伪随机噪声码),正在用于解算位置的卫星号(01~32,前面的0也将被传输)。<4> PDOP位置精度因子(0.5~99.9)<5> HDOP水平精度因子(0.5~99.9)<6> VDOP垂直精度因子(0.5~99.9)3) GPS Satellites in View(GSV)可见卫星信息$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,…<4>,<5>,<6>,<7>*hh<1> GSV语句的总数<2> 本句GSV的编号<3> 可见卫星的总数(00~12,前面的0也将被传输)<4> PRN码(伪随机噪声码)(01~32,前面的0也将被传输)<5> 卫星仰角(00~90度,前面的0也将被传输)<6> 卫星方位角(000~359度,前面的0也将被传输)<7> 信噪比(00~99dB,没有跟踪到卫星时为空,前面的0也将被传输)注:<4>,<5>,<6>,<7>信息将按照每颗卫星进行循环显示,每条GSV语句最多可以显示4颗卫星的信息。其他卫星信息将在下一序列的NMEA0183语句中输出。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=数据无效)6) Geographic Position(GLL)定位地理信息$GPGLL,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<1> 纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<2> 纬度半球N(北半球)或S(南半球)<3> 经度dddmm.mmmm(度分)格式(前面的0也将被传输)<4> 经度半球E(东经)或W(西经)<5> UTC时间,hhmmss(时分秒)格式<6> 定位状态,A=有效定位,V=无效定位<7> 模式指示(仅NMEA0183 3.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效) 
原创粉丝点击