Skip to content

GPS定位

本文档介绍了GPS定位的大致功能,通过demo_gps.c进行举例演示,本文中所指的GPS即为GNSS

工作原理

  • 模组通过UART2与GPS模块通信, 获取GPS NMEA数据并解析。
  • gps tools iNavTool_V4207工具,与模组UART1连接,获取NMEA数据,显示卫星个数、信号、定位信息等,并且可以通过UART1下发命令,如热启动,冷启动等,通过UART1口转发给GPS
  • Agps, 将时间,位置,星历数据通过UART2注入GPS芯片

​ 时间使用的是系统本地时间

​ 位置,通过基站定位获取, 需要通过agps_token_set接口设置基站定位的token id, 如果不设置辅助定位缺少位置信息注入

​ 星历2个小时更新一次, 5分钟检测一次有效期

准备工作

在使用GPS功能之前,请将定位器连接到开发板的GNSS接口,天线连接至网络天线接口,插入SIM卡, GNSS 本身可以在不联网的情况下完成基本的定位功能,但联网能够为其提供额外的辅助,提升定位的速度、精度和可靠性。

开发板通过UART1与电脑连接,gps tools iNavTool_V4207工具通过UART1获取信息,下发命令

GPS接口介绍

初始化GPS系统

  • GPS初始化

gps_init();

  • AGPS初始化

agps_init();

  • 初始化GPS TOOLS

gps_tools_init();

注册 AGPS 回调函数

  • 向GPS注入辅助定位信息时,会有对应的上报

agps_register_callback(AGPS_CALLBACK cb);

设置TOKEN

  • 设置基站定位的TOKEN

agps_token_set(char *token);

启动定位功能

  • 打开GPS

gps_open();

  • AGPS使能

agps_enable(bool time_enable, bool location_enable, bool eph_enable);

参数:

参数 说明
time_enable 时间使能
location_enable 位置使能
eph_enable eph使能

获取GPS数据

  • 获取NMEA解析后的数据

gps_get_data();

关闭GPS

  • 关闭GPS

gps_close(bool vbckp_off)

参数:

参数 说明
vbckp_off 是否关闭GPS VBCKP
不关闭可以热启动

固件烧录

编译命令:.\build.bat YM310_X09S.U62 gps

举例演示

Gps tools工具显示

日志显示

解析NMEA数据并输出

Agps 辅助定位注入成功日志

也可以通过工具查询AGPS状态