打印
[MM32软件]

移植NMEA协议库解析GGA数据格式

[复制链接]
3376|48
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
灵动MM32单片机移植NMEA协议库解算GGA数据格式通过串口dma硬件传输
今天使用一款常见的gps模块,goouuu果云GPS模块,这款产品可以说是便宜好用,但是这个原版本的例程我觉得不太行,解析库的时候太浪费资源,而且兼容性不好。所以我就用灵动mm32在果云GPS模块上移植野火的开发的GPS库文件

使用特权

评论回复
评论
梅花香自123 2022-6-29 20:26 回复TA
———————————————— 版权声明:本文为CSDN博主「有把原木色的吉他」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_45829708/article/details/125019463 
沙发
梅花香自123|  楼主 | 2022-6-29 20:27 | 只看该作者
用到的硬件和库文件:
①MM32F3277G9P单片机 ②goouuu果云GPS模块模块 ③智能车逐飞MM32开源库 ④野火开源库

逐飞开源库链接: 逐飞科技MM32F327X_G9P开源库
https://link.csdn.net/?target=https%3A%2F%2Fgitee.com%2Fseekfree%2FMM32F327X_G9P_Library%3F_from%3Dgitee_search野火GPS模块资料链接

使用特权

评论回复
板凳
梅花香自123|  楼主 | 2022-6-29 21:10 | 只看该作者
一、模块介绍
ATGM336H-5N系列模块是小尺寸的高性能BDS/GNSS全星座定位导航模块系列的总称。

该系列模块产品都是基于中科微第四代低功耗GNSS SOC单芯片—AT6558
支持多种卫星导航系统,包括中国的BDS(北斗卫星导航系统),美国的GPS,俄罗斯的GLONASS,欧盟的GALILEO,日本的QZSS 以及卫星增强系统SBAS ( WAAS,EGNOS,GAGAN,MSAS )。

使用特权

评论回复
地板
梅花香自123|  楼主 | 2022-6-29 21:11 | 只看该作者
AT6558是一款真正意义的六合一多模卫星导航定位芯片,包含32个跟踪通道,可以同时接收六个卫星导航系统的GNSS信号,并且实现联合定位导航与授时。

使用特权

评论回复
5
梅花香自123|  楼主 | 2022-6-29 21:11 | 只看该作者

使用特权

评论回复
6
梅花香自123|  楼主 | 2022-6-29 21:12 | 只看该作者
二、模块引脚说明及模块资源
引脚说明:
VCC :电源线,正常电压范围为: 3.3~5V
GND:地线
TXD: 串口数据发送信号线,使用 TTL 电平
RXD: 串口数据接收信号线,使用 TTL 电平
PPS: 时间脉冲信号线,模块接收到 GPS 时间信息后,输出可调节的脉冲信号,默认为 1Hz,脉冲上升沿与 UTC 时间对齐

使用特权

评论回复
7
梅花香自123|  楼主 | 2022-6-29 21:13 | 只看该作者
资源描述:
XH414 法拉电容:
参数为: 3.3V 0.07F。它的功能和锂电池一样,在主电源掉电的时候可以为定位模块的 RTC 部分供电,以使定位模块在下次启动时能快速搜索到卫星,一般可持续供电 1 小时。

使用特权

评论回复
8
梅花香自123|  楼主 | 2022-6-29 21:14 | 只看该作者
有源天线 IPX接口: IPX 接口用于连接有源天线

使用特权

评论回复
9
梅花香自123|  楼主 | 2022-6-29 21:16 | 只看该作者
时间脉冲指示灯:
模块上电后,时间脉冲指示灯即亮,在定位模块接收到时间信息后,时间脉冲信号指示灯会默认以 1Hz 的频率闪烁,该信号频率可以调节。

使用特权

评论回复
10
梅花香自123|  楼主 | 2022-6-29 21:16 | 只看该作者
三、NMEA-0183 协议
NMEA-0183 是一套定义接收机输出的标准信息,有几种不同的格式,每种都是独立相关的 ASCII 格式, 使用逗号隔开数据,数据流长度从 30-100 字符不等,通常以每秒间隔选择输出。

使用特权

评论回复
11
梅花香自123|  楼主 | 2022-6-29 21:17 | 只看该作者
最常用的格式为"GGA",它包含了定位时间,纬度,经度,高度,定位所用的卫星数, DOP 值, 差分状态和校正时段等,其他的有速度,跟踪,日期等。 NMEA 实际上已成为所有的定位接收机中最通用的数据输出格式。

使用特权

评论回复
12
梅花香自123|  楼主 | 2022-6-29 21:17 | 只看该作者
3-1协议框架

使用特权

评论回复
13
梅花香自123|  楼主 | 2022-6-29 21:18 | 只看该作者
NMEA 语句的数据段为信息主体,不同类型的语句用于传输不同类型的定位信息, 其语句类型又分为两部分, 如 GNZDA 前面两个字符 GN 用于区分定位系统

使用特权

评论回复
14
梅花香自123|  楼主 | 2022-6-29 21:18 | 只看该作者

使用特权

评论回复
15
梅花香自123|  楼主 | 2022-6-29 21:19 | 只看该作者
其中 GN 标识符比较特殊,当发送器具有多模功能时(即同时支持一个以上的定位系统),系统会把各系统的信息整合、 处理后,再把这些综合信息采用 GN 作为标识符发送出来,如前面的时间日期信息, 使用 GNZDA 语句, 在这样的系统中, GP、 BD 等标识符仅用于表示对应系统的卫星信息,如 GPGSA 和 BDGSA 语句分别用于表示美国 GPS 系统和北斗系统的卫星信息。

使用特权

评论回复
16
梅花香自123|  楼主 | 2022-6-29 21:20 | 只看该作者
NMEA-0183 协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有 GGA、RMC、 VTG、 GLL、 ZDA、 GSA、 GSV 等。下面给出这些常用 NMEA-0183 语句的字段定义解释

使用特权

评论回复
17
梅花香自123|  楼主 | 2022-6-29 21:21 | 只看该作者
3-2 协议帧格式说明:
该协议采用 ASCII 码。 帧格式形如: $ aaccc,ddd,ddd,…,ddd * hh < C R >< LF>
<1> “$”——帧命令起始位
<2> aaccc——地址域,前两位为识别符,后三位为语句名
<3> ddd…ddd——数据
<4> “ * ”——校验和前缀
<5> hh——校验和(check sum), $与*之间所有字符 ASCII 码的校验和(各字节做异或运算,得到校验和后,再转换 16 进制格式的 ASCII 字符。)
<6> < CR>< LF>——CR(Carriage Return) + LF(Line Feed)帧结束,回车和换行

使用特权

评论回复
18
梅花香自123|  楼主 | 2022-6-29 21:21 | 只看该作者
3-3 GGA数据格式
GPS 固定数据输出语句(Global positioning system fix data)。

格式:$GNGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15>< CR>< LF >

$GNGGA,012842.000,2253.7220,N,11350.7025,E,1,11,1.5,44.8,M,0.0,M,*44

<1> UTC 时间,格式为 hhmmss.sss
<2> 纬度,格式为 ddmm.mmmm(前导位数不足则补 0)
<3> 纬度半球, N 或 S(北纬或南纬)
<4> 经度,格式为 dddmm.mmmm(前导位数不足则补 0)
<5> 经度半球, E 或 W(东经或西经)
<6> 定位质量指示, 0=定位无效, 1=标准定位, 2=差分定位, 6=估算
<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> 校验和。

其他数据格式这里就不再介绍

使用特权

评论回复
19
梅花香自123|  楼主 | 2022-6-29 21:22 | 只看该作者
四、NMEA库移植过程
NMEA解码库使用纯 C 语言编写,支持解析 GPGGA,GPGSA ,GPGSV, GPRMC, GPVTG 这五种语句(这五种语句已经提供足够多的 GPS 信息),

解析得的 GPS 数据信息以结构体存储,附加了地理学相关功能,可支持导航等数据工作。

使用特权

评论回复
20
梅花香自123|  楼主 | 2022-6-29 21:24 | 只看该作者
将nmea_decode文件夹复制到工程目录之下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

99

主题

1095

帖子

0

粉丝