技術文章
AWorks框架下GPS接口的編程與應用
閱讀:773 發(fā)布時間:2021-1-8AWorks框架下GPS接口的編程與應用
GPS簡介
GPS是Global Positioning System(q球定位系統(tǒng))的簡稱,由美國國防部組織研制,具有、全天候、全時段、高精度特點的軍民兩用的導航定位衛(wèi)星系統(tǒng)。在獲取定位數(shù)據(jù)時通常會將GNSS、BDS、GPS包含進來,三者說明如表1所示。
表1
GNSS包含了BDS、GLONASS、GALILEO、GPS、MASS、GAGAN等q球衛(wèi)星導航系統(tǒng),是一個包含了q球各衛(wèi)星導航系統(tǒng)的統(tǒng)稱,定位數(shù)據(jù)通常包含了多種信息類型,如圖1所示。
圖1 定位數(shù)據(jù)
圖1中有多種信息類型,如表2所示。
表2
不同的數(shù)據(jù)類型里有不同的數(shù)據(jù)內容,不同的數(shù)據(jù)代表不同信息,數(shù)據(jù)量較多需要按位進行數(shù)據(jù)解析,在AWorks平臺中,已經(jīng)將數(shù)據(jù)解析這一步處理完成,可以供用戶直接使用,不用再去考慮數(shù)據(jù)解析的問題就可得到定位信息。
AWorks外設使能配置
用戶使用GPS模塊定位分為兩個步驟:
通訊方式的選擇配置
解析定位數(shù)據(jù)得出結果
在AWorks平臺使用GPS模塊時,工作流程如圖2所示。
圖2 GPS模塊工作流程
當用戶需要使用某個設備時,在AWorks工程中用戶可以通過aw_prj_params.h配置文件設備宏使能進行設備添加與刪除,在aw_prj_params.文件中,每一個設備宏代表著一個硬件。
本例程中選用的GPS模塊是瑞士U-blox公司所生產(chǎn)的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進行集中管理,在使用一個硬件設備前,必須將其添加到系統(tǒng)硬件設備列表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
配置完通訊接口后還需要調用解析數(shù)據(jù)的GNSS文件,包含了NMEA-0183協(xié)議解碼驅動、GNSS接口文件,詳見程序清單3.4,所在位置為程參數(shù)自動配置文件aw_pri_param_auto_cfg.h 中。
程序清單3.4
AWorks中GPS的接口與參數(shù)說明
在GPS模塊接收到數(shù)據(jù)后,通過串口與MCU進行數(shù)據(jù)傳輸,在AWorks中已經(jīng)完成數(shù)據(jù)的解析等,用戶不再需要解析數(shù)據(jù)格式,只需調用相關接口即可,接口說明如表3所示。
表3 接口與參數(shù)
其中aw_gnss_ioctl_req_t為命令請求,原型詳見程序清單4.1。
程序清單4.1
aw_gnss_data_type_t是需要獲取的數(shù)據(jù)類型,詳見程序清單4.2。
程序清單4.2
如用戶在調用AW_GNSS_RMC_POSITION數(shù)據(jù)類型時,系統(tǒng)會自動解析對應的數(shù)據(jù),如經(jīng)緯度、時間等值,用戶可免去繁瑣的數(shù)據(jù)解析步驟。
應用案例代碼詳解
此應用基于M1052平臺演示,展示部分應用代碼,詳見程序清單5.1。
程序清單5.1
驗證結果
通過調用程序清單5.1,得出如圖3所示定位信息。
圖3 定位信息
由圖3得出應用例程中所需的結果,如表4所示
表4 數(shù)據(jù)結果
通過表4,將經(jīng)緯度坐標代入到地圖,如圖4所示。
圖4
通過坐標數(shù)據(jù)代入,定位位置與實際位置相同,精度可靠。可見在AWorks平臺下使用GPS模塊定位,免去了大量時間,不用考慮AT指令的實現(xiàn)、上電時序的考慮即可得到所需的結果。