GPS帧格式说明.doc

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GPS帧格式说明

注:发送次序$PZDA、$GPGGA、$GPGLL、$GPVTG、$GPGSA、$GPGSV*3、$GPRMC 协议帧总说明: 该协议采用ASCII码,其串行通信默认参数为:波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。 帧格式形如:$aaccc,ddd,ddd,…,ddd*hhCRLF 1、“$”——帧命令起始位 2、aaccc——地址域,前两位为识别符,后三位为语句名 3、ddd…ddd——数据 4、“*”——校验和前缀 5、hh——校验和(check sum),$与*之间所有字符ASCII码的校验和(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。) 6、CRLF——CR(Carriage Return) + LF(Line Feed)帧结束,回车和换行 GPGGA GPS固定数据输出语句,这是一帧GPS定位的主要数据,也是使用最广的数据。 $GPGGA,1,2,3,4,5,6,7,8,9,10,11,12,13,14*15CRLF 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 校验和。 GPRMC 推荐最小数据量的GPS信息(Recommended Minimum Specific GPS/TRANSIT Data) $GPRMC,1,2,3,4,5,6,7,8,9,10,11,12*13CRLF 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 校验和。 NMEA数据处理中的注意事项 如果开发基于GPS的应用系统,就需要将GPS作为信息源,正确接收和解析GPS发送的NMEA一0183数据。此时,在编程实现时需要注意几个问题。 1、通讯端口的设置 虽然NMEA规范推荐的串行通讯参数为“波特率:4800;奇偶校验:无;数据位:8;停止位:1”,但也有厂商的产品允许用户将波特率设置的更高,此时需要注意设置计算机的接口参数与GPS设备一致。 2、 所需信息的正确提取 NMEA—O183是以语句形式发送数据的,接收机可能发送很多类型的语句,而我们需要的可能只是某些语句中的几个字段。因此就需要对接收到的数据进行解析,取得所需的信息。另外,可能会由于小数点位数不同等原因,语句的长度是可变的,因而分离感兴趣的信息时,不能按照该信息在语句中所处的字符位置来查找,只能依据逗号分隔符,这一点在数据提取的过程中非常重要。笔者就经常遇到一些应用软件工程师,在提取NMEA语句中的信息的时候按照字符的长度提取,这样编出来的程序,通用性差,而且经常会出现信息提取错误的问题。 以上都是我们在程序中需要注意的问题。为解决信息的正确提取问题,并提高程序的复用性,可以编写适当的函数,如一个函数用来分离语句(即通过$字符判断语句头,一直到换行回车结束一条语句);一个函数用来判断语句中的字段数(通过“,”分隔符来提取语句字段),还有一个函数用来返回语句中指定字段的内容。有了这三个函数,就可以方便的提取所需的信

文档评论(0)

gk892289 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档