AWorks框架下GPS接口的編程與應(yīng)用
GPS簡介
GPS是Global Positioning System(定位系統(tǒng))的簡稱,由美國國防部組織研制,具有、全天候、全時(shí)段、高精度特點(diǎn)的軍民兩用的導(dǎo)航定位衛(wèi)星系統(tǒng)。在獲取定位數(shù)據(jù)時(shí)通常會將GNSS、BDS、GPS包含進(jìn)來,三者說明如表1所示。
表1
GNSS包含了BDS、GLONASS、GALILEO、GPS、MASS、GAGAN等衛(wèi)星導(dǎo)航系統(tǒng),是一個(gè)包含了各衛(wèi)星導(dǎo)航系統(tǒng)的統(tǒng)稱,定位數(shù)據(jù)通常包含了多種信息類型,如圖1所示。
圖1 定位數(shù)據(jù)
圖1中有多種信息類型,如表2所示。
表2
不同的數(shù)據(jù)類型里有不同的數(shù)據(jù)內(nèi)容,不同的數(shù)據(jù)代表不同信息,數(shù)據(jù)量較多需要按位進(jìn)行數(shù)據(jù)解析,在AWorks平臺中,已經(jīng)將數(shù)據(jù)解析這一步處理完成,可以供用戶直接使用,不用再去考慮數(shù)據(jù)解析的問題就可得到定位信息。
AWorks外設(shè)使能配置
用戶使用GPS模塊定位分為兩個(gè)步驟:
通訊方式的選擇配置
解析定位數(shù)據(jù)得出結(jié)果
在AWorks平臺使用GPS模塊時(shí),工作流程如圖2所示。
圖2 GPS模塊工作流程
當(dāng)用戶需要使用某個(gè)設(shè)備時(shí),在AWorks工程中用戶可以通過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定位,無需AT指令控制、默認(rèn)波特率9600、上電自動定位的特點(diǎn)。
在例程中選用串口3與GPS模塊進(jìn)行通訊,因此在aw_prj_params.h中使能AW_DEV_IMX1050_LPUART3(串口宏),具體選用哪一個(gè)串口進(jìn)行通訊由用戶自行決定。
在使用不同硬件設(shè)備時(shí)打開不同硬件設(shè)備宏,在本例程中使用GPS設(shè)備,因此打開AW_DEV_GNSS_UBLOX(GPS模塊宏),如程序清單2.1所示。
程序清單2.1
AWorks中GPS的硬件配置
在AWorks中所有設(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通訊的串口號、波特率、需要使用的引腳等,具體信息詳見程序清單3.3所示。
程序清單3.3
配置完通訊接口后還需要調(diào)用解析數(shù)據(jù)的GNSS文件,包含了NMEA-0183協(xié)議解碼驅(qū)動、GNSS接口文件,詳見程序清單3.4,所在位置為程參數(shù)自動配置文件aw_pri_param_auto_cfg.h 中。
程序清單3.4
AWorks中GPS的接口與參數(shù)說明
在GPS模塊接收到數(shù)據(jù)后,通過串口與MCU進(jìn)行數(shù)據(jù)傳輸,在AWorks中已經(jīng)完成數(shù)據(jù)的解析等,用戶不再需要解析數(shù)據(jù)格式,只需調(diào)用相關(guān)接口即可,接口說明如表3所示。
表3 接口與參數(shù)
其中aw_gnss_ioctl_req_t為命令請求,原型詳見程序清單4.1。
程序清單4.1
aw_gnss_data_type_t是需要獲取的數(shù)據(jù)類型,詳見程序清單4.2。
程序清單4.2
如用戶在調(diào)用AW_GNSS_RMC_POSITION數(shù)據(jù)類型時(shí),系統(tǒng)會自動解析對應(yīng)的數(shù)據(jù),如經(jīng)緯度、時(shí)間等值,用戶可免去繁瑣的數(shù)據(jù)解析步驟。
應(yīng)用案例代碼詳解
此應(yīng)用基于M1052平臺演示,展示部分應(yīng)用代碼,詳見程序清單5.1。
程序清單5.1
驗(yàn)證結(jié)果
通過調(diào)用程序清單5.1,得出如圖3所示定位信息。
圖3 定位信息
由圖3得出應(yīng)用例程中所需的結(jié)果,如表4所示
表4 數(shù)據(jù)結(jié)果
通過表4,將經(jīng)緯度坐標(biāo)代入到地圖,如圖4所示。
圖4
通過坐標(biāo)數(shù)據(jù)代入,定位位置與實(shí)際位置相同,精度可靠。可見在AWorks平臺下使用GPS模塊定位,免去了大量時(shí)間,不用考慮AT指令的實(shí)現(xiàn)、上電時(shí)序的考慮即可得到所需的結(jié)果。
相關(guān)產(chǎn)品
免責(zé)聲明
- 凡本網(wǎng)注明“來源:化工儀器網(wǎng)”的所有作品,均為浙江興旺寶明通網(wǎng)絡(luò)有限公司-化工儀器網(wǎng)合法擁有版權(quán)或有權(quán)使用的作品,未經(jīng)本網(wǎng)授權(quán)不得轉(zhuǎn)載、摘編或利用其它方式使用上述作品。已經(jīng)本網(wǎng)授權(quán)使用作品的,應(yīng)在授權(quán)范圍內(nèi)使用,并注明“來源:化工儀器網(wǎng)”。違反上述聲明者,本網(wǎng)將追究其相關(guān)法律責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其他來源(非化工儀器網(wǎng))的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé),不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品第一來源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。