zoukankan      html  css  js  c++  java
  • GPS协议

    我们所说的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<CR><LF>

      <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<CR><LF>

      <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<CR><LF>

      <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<CR> <LF>

      <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<CR><LF>

      <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<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

  • 相关阅读:
    汉语-词语:慧根
    汉语-词语:悟性
    汉语-汉字:耑
    汉语-汉字:羣
    汉语-词语:觉察
    汉语-词语:醒悟
    汉语-词语:觉悟
    Redhat 5禁止IPv6
    从缓存行出发理解volatile变量、伪共享False sharing、disruptor
    【故障处理141119】一次数据库不繁忙时一条sql语句2个运行计划导致业务超时的故障处理
  • 原文地址:https://www.cnblogs.com/CJye/p/3099191.html
Copyright © 2011-2022 走看看