技術(shù)文章
AWorks框架下GPS接口的編程與應(yīng)用
閱讀:963 發(fā)布時(shí)間:2019-7-24AWorks框架下GPS接口的編程與應(yīng)用
GPS簡(jiǎn)介
GPS是Global Positioning System(定位系統(tǒng))的簡(jiǎn)稱(chēng),由美國(guó)國(guó)防部組織研制,具有、全天候、全時(shí)段、高精度特點(diǎn)的軍民兩用的導(dǎo)航定位衛(wèi)星系統(tǒng)。在獲取定位數(shù)據(jù)時(shí)通常會(huì)將GNSS、BDS、GPS包含進(jìn)來(lái),三者說(shuō)明如表1所示。
表1
GNSS包含了BDS、GLONASS、GALILEO、GPS、MASS、GAGAN等衛(wèi)星導(dǎo)航系統(tǒng),是一個(gè)包含了各衛(wèi)星導(dǎo)航系統(tǒng)的統(tǒng)稱(chēng),定位數(shù)據(jù)通常包含了多種信息類(lèi)型,如圖1所示。
圖1 定位數(shù)據(jù)
圖1中有多種信息類(lèi)型,如表2所示。
表2
不同的數(shù)據(jù)類(lèi)型里有不同的數(shù)據(jù)內(nèi)容,不同的數(shù)據(jù)代表不同信息,數(shù)據(jù)量較多需要按位進(jìn)行數(shù)據(jù)解析,在A(yíng)Works平臺(tái)中,已經(jīng)將數(shù)據(jù)解析這一步處理完成,可以供用戶(hù)直接使用,不用再去考慮數(shù)據(jù)解析的問(wèn)題就可得到定位信息。
AWorks外設(shè)使能配置
用戶(hù)使用GPS模塊定位分為兩個(gè)步驟:
通訊方式的選擇配置
解析定位數(shù)據(jù)得出結(jié)果
在A(yíng)Works平臺(tái)使用GPS模塊時(shí),工作流程如圖2所示。
圖2 GPS模塊工作流程
當(dāng)用戶(hù)需要使用某個(gè)設(shè)備時(shí),在A(yíng)Works工程中用戶(hù)可以通過(guò)aw_prj_params.h配置文件設(shè)備宏使能進(jìn)行設(shè)備添加與刪除,在aw_prj_params.h文件中,每一個(gè)設(shè)備宏代表著一個(gè)硬件。
本例程中選用的GPS模塊是瑞士U-blox公司所生產(chǎn)的MAX-7Q系列模塊,具有支持GPS/QZSS/GLONASS定位,無(wú)需AT指令控制、默認(rèn)波特率9600、上電自動(dòng)定位的特點(diǎn)。
在例程中選用串口3與GPS模塊進(jìn)行通訊,因此在aw_prj_params.h中使能AW_DEV_IMX1050_LPUART3(串口宏),具體選用哪一個(gè)串口進(jìn)行通訊由用戶(hù)自行決定。
在使用不同硬件設(shè)備時(shí)打開(kāi)不同硬件設(shè)備宏,在本例程中使用GPS設(shè)備,因此打開(kāi)AW_DEV_GNSS_UBLOX(GPS模塊宏),如程序清單2.1所示。
程序清單2.1
AWorks中GPS的硬件配置
在A(yíng)Works中所有設(shè)備由AWbus_lite進(jìn)行集中管理,在使用一個(gè)硬件設(shè)備前,必須將其添加到系統(tǒng)硬件設(shè)備列表aw_const struct awbl_devhcf g_awbl_devhcf_list[] 中(在awbus_lite_hwconf_usrcfg.c中定義),awbl_devhcf結(jié)構(gòu)體成員如程序清單3.1所示。
程序清單3.1
在使用GPS模塊時(shí),設(shè)備管理列表g_awbl_devhcf_list[] 中已包含硬件設(shè)備名,其中GPS硬件配置信息如程序清單3.2所示。
程序清單3.2
其中指向設(shè)備信息(常量)如:與MCU通訊的串口號(hào)、波特率、需要使用的引腳等,具體信息詳見(jiàn)程序清單3.3所示。
程序清單3.3
配置完通訊接口后還需要調(diào)用解析數(shù)據(jù)的GNSS文件,包含了NMEA-0183協(xié)議解碼驅(qū)動(dòng)、GNSS接口文件,詳見(jiàn)程序清單3.4,所在位置為程參數(shù)自動(dòng)配置文件aw_pri_param_auto_cfg.h 中。
程序清單3.4
AWorks中GPS的接口與參數(shù)說(shuō)明
在GPS模塊接收到數(shù)據(jù)后,通過(guò)串口與MCU進(jìn)行數(shù)據(jù)傳輸,在A(yíng)Works中已經(jīng)完成數(shù)據(jù)的解析等,用戶(hù)不再需要解析數(shù)據(jù)格式,只需調(diào)用相關(guān)接口即可,接口說(shuō)明如表3所示。
表3 接口與參數(shù)
其中aw_gnss_ioctl_req_t為命令請(qǐng)求,原型詳見(jiàn)程序清單4.1。
程序清單4.1
aw_gnss_data_type_t是需要獲取的數(shù)據(jù)類(lèi)型,詳見(jiàn)程序清單4.2。
程序清單4.2
如用戶(hù)在調(diào)用AW_GNSS_RMC_POSITION數(shù)據(jù)類(lèi)型時(shí),系統(tǒng)會(huì)自動(dòng)解析對(duì)應(yīng)的數(shù)據(jù),如經(jīng)緯度、時(shí)間等值,用戶(hù)可免去繁瑣的數(shù)據(jù)解析步驟。
應(yīng)用案例代碼詳解
此應(yīng)用基于M1052平臺(tái)演示,展示部分應(yīng)用代碼,詳見(jiàn)程序清單5.1。
程序清單5.1
驗(yàn)證結(jié)果
通過(guò)調(diào)用程序清單5.1,得出如圖3所示定位信息。
圖3 定位信息
由圖3得出應(yīng)用例程中所需的結(jié)果,如表4所示
表4 數(shù)據(jù)結(jié)果
通過(guò)表4,將經(jīng)緯度坐標(biāo)代入到地圖,如圖4所示。
圖4
通過(guò)坐標(biāo)數(shù)據(jù)代入,定位位置與實(shí)際位置相同,精度可靠。可見(jiàn)在A(yíng)Works平臺(tái)下使用GPS模塊定位,免去了大量時(shí)間,不用考慮AT指令的實(shí)現(xiàn)、上電時(shí)序的考慮即可得到所需的結(jié)果。