深圳市君辉电子有限公司

化工仪器网中级9

收藏

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

时间:2019-07-24      阅读:965

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

GPS简介

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

 

表1

 

 

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

 

 

图1 定位数据

 

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

 

表2

 

 

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

 

  AWorks外设使能配置

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

  • 通讯方式的选择配置

  • 解析定位数据得出结果

 

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

 

图2 GPS模块工作流程

 

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

 

本例程中选用的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指令的实现、上电时序的考虑即可得到所需的结果。

 

上一篇: HDMI兼容性测试的常见故障及解决方案 下一篇: 如何改善开关电源电路的EMI特性?
提示

请选择您要拨打的电话: