如何快速在AWorks OS操作系统中开发并稳定应用GPS模块

电子说

1.3w人已加入

描述

物联智能时代,GPS定位应用愈发广泛,如何快速应用GPS定位模块,稳定有效的获取定位信息,缩短项目周期是至关重要的。本文就如何快速在AWorks OS操作系统中开发并稳定应用GPS模块进行详细介绍。

  GPS简介

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

表1

GPS定位

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

GPS定位

图1 定位数据

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

表2

GPS定位

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

  AWorks外设使能配置

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

通讯方式的选择配置

解析定位数据得出结果

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

GPS定位

图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

GPS定位

  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定位

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

程序清单3.2 

GPS定位

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

程序清单3.3

GPS定位

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

程序清单3.4

GPS定位

  AWorks中GPS的接口与参数说明

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

表3 接口与参数

GPS定位

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

程序清单4.1

GPS定位

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

程序清单4.2

GPS定位

GPS定位

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

  应用案例代码详解

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

程序清单5.1

GPS定位

GPS定位

GPS定位

GPS定位

GPS定位

  验证结果

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

GPS定位

图3 定位信息

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

表4 数据结果

GPS定位

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

图4

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分