产品列表PRODUCTS LIST

首页 > 技术与支持 >AWorks框架下GPS接口的编程与应用
AWorks框架下GPS接口的编程与应用
点击次数:629 更新时间:2021-11-25

AWorks框架下GPS接口的编程与应用

GPS简介

GPS是Global Positioning System(q球定位系统)的简称,由美国国防部组织研制,具有、全天候、全时段、高精度特点的军民两用的导航定位卫星系统。在获取定位数据时通常会将GNSS、BDS、GPS包含进来,三者说明如表1所示。


表1



GNSS包含了BDS、GLONASS、GALILEO、GPS、MASS、GAGAN等q球卫星导航系统,是一个包含了q球各卫星导航系统的统称,定位数据通常包含了多种信息类型,如图1所示。



图1 定位数据


图1中有多种信息类型,如表2所示。


表2



不同的数据类型里有不同的数据内容,不同的数据代表不同信息,数据量较多需要按位进行数据解析,在AWorks平台中,已经将数据解析这一步处理完成,可以供用户直接使用,不用再去考虑数据解析的问题就可得到定位信息。


 AWorks外设使能配置

用户使用GPS模块定位分为两个步骤:

  • 通讯方式的选择配置

  • 解析定位数据得出结果


在AWorks平台使用GPS模块时,工作流程如图2所示。


图2 GPS模块工作流程


当用户需要使用某个设备时,在AWorks工程中用户可以通过aw_prj_params.h配置文件设备宏使能进行设备添加与删除,在aw_prj_params.文件中,每一个设备宏代表着一个硬件。


本例程中选用的GPS模块是瑞士U-blox公司所生产的MAX-7Q系列模块,具有支持GPS/QZSS/GLONASS定位,无需AT指令控制、默认波特率9600、上电自动定位的特点。


在例程中选用串口3与GPS模块进行通讯,因此在aw_prj_params.h中使能AW_DEV_IMX1050_LPUART3(串口宏),具体选用哪一个串口进行通讯由用户自行决定。


在使用不同硬件设备时打开不同硬件设备宏,在本例程中使用GPS设备,因此打开AW_DEV_GNSS_UBLOX(GPS模块宏),如程序清单2.1所示。


程序清单2.1




 AWorks中GPS的硬件配置

在AWorks中所有设备由AWbus_lite进行集中管理,在使用一个硬件设备前,必须将其添加到系统硬件设备列表aw_const struct awbl_devhcf  g_awbl_devhcf_list[] 中(在awbus_lite_hwconf_usrcfg.c中定义),awbl_devhcf结构体成员如程序清单3.1所示。


程序清单3.1



在使用GPS模块时,设备管理列表g_awbl_devhcf_list[] 中已包含硬件设备名,其中GPS硬件配置信息如程序清单3.2所示。


程序清单3.2




其中指向设备信息(常量)如:与MCU通讯的串口号、波特率、需要使用的引脚等,具体信息详见程序清单3.3所示。


程序清单3.3



配置完通讯接口后还需要调用解析数据的GNSS文件,包含了NMEA-0183协议解码驱动、GNSS接口文件,详见程序清单3.4,所在位置为程参数自动配置文件aw_pri_param_auto_cfg.h 中。


程序清单3.4



 AWorks中GPS的接口与参数说明

在GPS模块接收到数据后,通过串口与MCU进行数据传输,在AWorks中已经完成数据的解析等,用户不再需要解析数据格式,只需调用相关接口即可,接口说明如表3所示。

 

表3 接口与参数



其中aw_gnss_ioctl_req_t为命令请求,原型详见程序清单4.1。


程序清单4.1



aw_gnss_data_type_t是需要获取的数据类型,详见程序清单4.2。


程序清单4.2




如用户在调用AW_GNSS_RMC_POSITION数据类型时,系统会自动解析对应的数据,如经纬度、时间等值,用户可免去繁琐的数据解析步骤。


 应用案例代码详解

此应用基于M1052平台演示,展示部分应用代码,详见程序清单5.1。


程序清单5.1







 验证结果

通过调用程序清单5.1,得出如图3所示定位信息。



图3 定位信息


由图3得出应用例程中所需的结果,如表4所示


表4 数据结果



通过表4,将经纬度坐标代入到地图,如图4所示。

图4


通过坐标数据代入,定位位置与实际位置相同,精度可靠。可见在AWorks平台下使用GPS模块定位,免去了大量时间,不用考虑AT指令的实现、上电时序的考虑即可得到所需的结果。


点击了解更多产品信息