GPS NMEA协议解析之通用语句

GPS NMEA协议解析(NMEA通用语句)


前言

NMEA是GPS的标准协议,它是National Marine Electronics Association 的缩写,是美国国家海洋电子协会的简称。


一、NMEA协议简介

NMEA是一套标准的GPS协议,其中主要包括数据和指令,分别有对应的格式。

二、NMEA数据格式

GPS数据包括RMC,VTG,GGA,GSA,GSV,GLL等数据

1.GGA(全球定位系统定位数据)

格式:GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>
实例:$GPGGA,140145.000,3150.863861,N,11711.928739,E,1,11,0.79,175.165,M,0.009,M,53
<1>信息ID
<2>UTC时间,格式:“时时分分秒秒.秒秒秒”。
<3>纬度,格式为"度度分分.分分分分”"
<4>N:南半球,S:北半球
<5>经度,格式为"度度度分分.分分分分”"
<6>E:东半球,W:西半球
<7>定位状态,
“0”=定位不可用或无效
“1”=GNSS 定位
“2”=DGPS 定位
<8>使用的卫星数(00~12),有可能不等于可见卫星数量
<9>水平精度因子
<10>大地高,单位:米
<11>米(固定字段)
<12>大地水准面差距,单位:米
<13>米(固定字段)
<14>差分卫星导航系统数据龄期,单位:秒。若不用 DGPS,则为空
<15>差分基准站标识号(0000-1023)。若不用 DGPS,则为空
<16>
,数据字段结束符
<17>校验和,格式:十六进制
<18>每条 NMEA 语句以回车换行符“”结束

2.GSA(GNSS 精度因子与有效卫星)

格式:GPGSA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<20>,<21>,<22>,
实例:$GPGSV,4,1,13,20,76,327,28,193,66,096,39,24,63,047,49,194,56,124,45,067
<1>信息ID
<2>模式选择,自动选择 2D/3D 定位:
“M”=手动,强制切换 2D/3D 定位模式
“A”=自动,允许 2D/3D 定位模式自动切换
<3>定位状态,
“0”=定位不可用或无效
“1”=GNSS 定位
“2”=DGPS 定位
<4>可用卫星 1 ID

<15>可用卫星 12 ID
<16>位置精度因子
<17>水平精度因子
<18>垂直精度因子
<19>GNSS 系统标识符:
“1”=GP
“2”=GL
“3”=GA
“4”=BD
<20>
,数据字段结束符
<21>校验和,格式:十六进制
<22>每条 NMEA 语句以回车换行符“”结束

3.GSV(可视的 GNSS 卫星)

格式:GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>,<15>,<16>,<17>,<18>,<19>,<20>,<21>,<22>,<23>,<24>
实例:$GPGSV,5,1,17,16,68,281,17,26,66,010,46,194,65,053,43,195,50,126,17,061
$GPGSV,5,2,17,31,45,074,47,14,40,153,27,23,31,313,48,27,31,181,33,0
65
$GPGSV,5,3,17,44,23,247,193,21,172,17,03,19,263,25,22,15,242,29,05F
$GPGSV,5,4,17,29,14,040,45,32,13,151,26,21,06,099,34,09,03,322,20,0
62
$GPGSV,5,5,17,08,02,200,05B
<1>信息ID
<2>GSV 语句总数
<3>语句编号
<4>可视的卫星总数
<5>卫星标识号
<6>仰角(0~90 度)
<7>真方位角(000~359 度)
<8>信噪比(00~99dB-Hz),未跟踪时为空字段。
<9>卫星标识号
<10>仰角(0~90 度)
<11>真方位角(000~359 度)
<12>信噪比(00~99dB-Hz),未跟踪时为空字段。
<13>卫星标识号
<14>仰角(0~90 度)
<15>真方位角(000~359 度)
<16>信噪比(00~99dB-Hz),未跟踪时为空字段。
<17>卫星标识号
<18>仰角(0~90 度)
<19>真方位角(000~359 度)
<20>信噪比(00~99dB-Hz),未跟踪时为空字段。
<21>信号标识符:“0”=所有信号
<22>
,数据字段结束符
<23>校验和,格式:十六进制
<24>每条 NMEA 语句以回车换行符“”结束

4.GLL(地理位置)

格式:GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>
实例:$GPGLL,3150.863861,N,11711.928739,E,140145.000,A,A50
<1>信息ID
<2>纬度,格式:“度度分分.分分分分”。
<3>“N”=北 “S”=南
<4>经度,格式:“度度度分分.分分分分”。
<5>“E”=东 “W”=西
<6>定位的 UTC 时间,格式:“时时分分秒秒.秒秒秒”。
<7>数据有效性:
“V”=无效
“A”=有效
<8>定位模式指示:
“N”=未定位,数据无效
“A”=自主 GNSS 定位
“D”=差分 GNSS 定位
<9>
,数据字段结束符
<10>校验和,格式:十六进制
<11>每条 NMEA 语句以回车换行符“”结束

  • 4
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: STM32F103版本可以通过串口接收GPS模块发送的NMEA协议数据,然后进行解析NMEA协议是一种常用的GPS数据格式,包含了位置、速度、时间等信息。解析NMEA协议数据需要先将数据按照逗号分隔,然后根据协议规定的字段解析出相应的数据。例如,$GPRMC协议中包含了UTC时间、经度、纬度、速度等信息,可以通过解析协议来获取这些数据。解析完成后,可以将数据存储到内存中或者通过其他方式进行处理和显示。 ### 回答2: 在使用STM32F103版本GPS解析NMEA协议数据时,需要先了解NMEA协议的结构。NMEA协议是用于GPS定位的标准协议,它的结构包含了数据类型标识符、数据字段和校验码。其中数据字段包括时间、日期、经度、纬度、海拔高度等信息,而校验码是用于校验数据的完整性和准确性。在解析NMEA协议数据时,首先需要对接收到的数据进行分析和提取,进而将数据转化为可表示的数据类型,如结构体或数组。 基于STM32F103版本进行GPS解析时,可以使用串口通信进行数据传输。可以通过串口中断程序获取数据,并在中断处理函数中对数据进行分析和处理。在程序的实现过程中,可以先设置一个缓存区用于存储串口中断处理函数接收到的数据,当接收到的数据中包含了完整的NMEA协议数据后,再进行解析和提取。 对于NMEA协议中的数据字段,需要对每个字段进行解析提取,例如通过解析语句$GPRMC中的时间和位置信息,可以得到当前时间和地理位置,而解析语句$GPGGA,可以得到卫星数量、海拔高度、信噪比等信息。另外,在获取到NMEA协议数据后,还需要对数据进行校验,以确保数据的正确性。校验可以通过校验码计算来实现,常用的校验方式是异或校验法,即将数据中所有字节进行异或运算得到一个校验码。 在实现GPS解析时,还需要考虑到系统对处理能力的要求。由于NMEA协议数据频繁更新,对系统的处理能力有一定的要求,因此可以通过优化代码逻辑结构,减小耗时的操作,提升系统性能。同时,还需要注意程序的健壮性,对异常情况进行防范和处理,以保证程序的稳定性和可靠性。 综上所述,STM32F103版本的GPS解析NMEA协议数据,需要先对协议结构进行了解,然后通过串口通信进行数据传输,并使用串口中断程序进行数据处理,在实现过程中,需要考虑到系统的处理能力和程序的健壮性。 ### 回答3: STM32F103系列是一款高性能、低功耗、32位Cortex-M3内核处理器的微控制器,广泛应用于各种嵌入式系统设计。随着GPS技术的广泛应用,STM32F103版本的GPS解析NMEA协议数据变得越来越重要,下面我将详细介绍STM32F103版本GPS解析NMEA协议数据的方法。 NMEA协议是一种用于GPS接收器和计算机之间的信息交换协议,它定义了一系列用于传输GPS数据的数据格式和协议NMEA协议的数据格式通常为ASCII码格式,不同的数据字段通过逗号分隔。 STM32F103版本的GPS解析NMEA协议数据需要完成以下几个步骤: 1.配置串口 GPS模块一般通过串口与MCU进行通信,因此需要首先配置STM32F103的串口,使其能够接收GPS模块发送的数据。 2.接收数据 在串口配置完成后,MCU需要不断接收GPS模块发送的数据,可以通过中断方式或轮询方式进行。 3.解析数据 MCU接收到GPS模块发送的NMEA协议数据后,需要解析出其中需要的数据字段。例如,获取GPS模块发送的经纬度信息,可以从数据中解析出GPRMC数据的经度和纬度字段。 4.处理数据 解析出需要的数据后,还需要进行一些数据处理,例如将经纬度数据转换为十进制表示,计算定位的海拔高度等。 5.输出数据 最后,MCU需要将处理后的数据输出到显示器、SD卡或其他设备中,以便用户实时查看或后续处理。 总之,STM32F103版本GPS解析NMEA协议数据需要进行串口配置、数据接收、数据解析、数据处理和数据输出等多个步骤,需要仔细调试和测试,才能确保正确解析和输出GPS数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值