袁廣升,薛守鈺,陳永,宋玖志
(遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院,遼寧 錦州 121001)
基于STM32的GPS信息采集與傳輸系統(tǒng)設(shè)計(jì)
袁廣升,薛守鈺,陳永,宋玖志
(遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院,遼寧 錦州 121001)
為了得到GPS采集到的地理位置信息,并將信息通過GSM移動通信網(wǎng)絡(luò)傳輸給遠(yuǎn)程用戶移動設(shè)備,設(shè)計(jì)一種基于STM32微處理器的GPS信息采集與傳輸系統(tǒng)。GPS接收模塊接收衛(wèi)星發(fā)出的導(dǎo)航電文,同時(shí)通過NEMA-0183傳輸協(xié)議與微處理器串口進(jìn)行通信,處理器將解析出的導(dǎo)航電文所包含的經(jīng)度、緯度、海拔、時(shí)間信息顯示到LCD上,并通過GSM移動通信網(wǎng)絡(luò)將信息發(fā)送至移動用戶端。文章最后通過實(shí)驗(yàn)驗(yàn)證了該系統(tǒng)設(shè)計(jì)的可行性。
STM32;GPS;GSM
10.16638/j.cnki.1671-7988.2016.01.030
CLC NO.:TB21 Document Code:A Article ID:1671-7988(2016)01-86-04
隨著科學(xué)技術(shù)的進(jìn)步,GPS導(dǎo)航定位技術(shù)在人們?nèi)粘I钪袘?yīng)用的越來越廣泛。GPS接收機(jī)連續(xù)不斷的接收導(dǎo)航衛(wèi)星發(fā)出的導(dǎo)航信號,導(dǎo)航信號經(jīng)過處理器解析后,得到用戶所需的地理信息,從而方便了車輛的定位及人們的日常出行。
本文從工程應(yīng)用的角度出發(fā),通過對STM32處理器的介紹,GPS定位技術(shù)、GSM移動通信技術(shù)的原理分析,提出了GPS信息采集與傳輸系統(tǒng)的設(shè)計(jì)方案。
GPS信息采集與傳輸系統(tǒng)涉及到的關(guān)鍵技術(shù)包括:GPS全球定位系統(tǒng)技術(shù)和GSM全球移動通信系統(tǒng)技術(shù)。
1.1 GPS全球定位技術(shù)
GPS(Global Position System)全球定位系統(tǒng),是由美國陸??杖娐?lián)合研制的新一代衛(wèi)星定位系統(tǒng),全球定位系統(tǒng)由空間部分、地面監(jiān)控部分和用戶接收機(jī)部分三大部分組成[1]。空間部分由高度約為2.02萬千米的24顆GPS衛(wèi)星組成,21+3顆衛(wèi)星均為近圓形軌道,運(yùn)行周期約為11小時(shí)58分,分布在六個(gè)軌道面上,每個(gè)軌道面四顆,軌道傾角為55度。衛(wèi)星的這種分布形式,使得全球的任何地方和任何時(shí)間都可以同時(shí)觀測到四顆以上的衛(wèi)星,并能保證良好的定位解算精度的幾何圖形,從而提供了全球?qū)Ш侥芰?。地面監(jiān)控部分由主控站、注入站和監(jiān)測站組成。GPS定位系統(tǒng)組成如圖1所示。
圖1 GPS定位系統(tǒng)組成示意圖
1.2 GSM移動通信技術(shù)
GSM(Global System for Mobile Communication)全球移動通信系統(tǒng),是目前非常成熟的通信系統(tǒng),其增值服務(wù)—SMS (Short Message Service)短消息服務(wù)是基于GSM網(wǎng)絡(luò)提供的傳輸數(shù)字或文字信息的服務(wù)。無需附加其他終端設(shè)備,就可以使手機(jī)與手機(jī)或手機(jī)與其他短信模塊之間完成中、英文信息傳輸?shù)哪康腫2]。隨著工業(yè)智能化程度的提高,近幾年,SMS技術(shù)主要應(yīng)用在智能設(shè)備上,如工業(yè)現(xiàn)場的智能電表,它可以靈活的發(fā)送和接收各種信息,從而檢測工業(yè)現(xiàn)場情況。
GPS信息采集與傳輸系統(tǒng)主要由微處理器單元、GPS接收模塊、GSM模塊、LCD模塊及JTAG程序調(diào)試接口組成。系統(tǒng)總體設(shè)計(jì)方案如圖2所示。
圖2 GPS信息采集與傳輸示意圖
2.1 STM32處理器
本文微處理器選用ST公司生產(chǎn)的STM32處理器,該處理器是基于ARMV7架構(gòu)的Cortex-M3內(nèi)核,主頻72MHz,內(nèi)部含有256K字節(jié)的FLASH和64K字節(jié)的SRAM,具有豐富的100管腳資源,完全可以滿足本文設(shè)計(jì)的要求。
2.2 GPS模塊
GPS模塊采用ublox公司生產(chǎn)的高性能、低功耗ublox-NEO-6M模塊,該模塊可以通過串口及USB接口向單片機(jī)系統(tǒng)和電腦輸出GPS定位信息。模塊實(shí)物如圖3所示。
圖3 GPS模塊實(shí)物圖
2.2.1 GPS定位原理及方法
GPS接收模塊工作原理:接收模塊連續(xù)不斷的接收到GPS導(dǎo)航衛(wèi)星發(fā)送的無線電導(dǎo)航信號,導(dǎo)航信號通過串口進(jìn)入處理器解析。根據(jù)已知的多顆衛(wèi)星實(shí)際坐標(biāo),結(jié)合測量出來的GPS接收機(jī)到已知衛(wèi)星之間的距離,將得到的數(shù)據(jù)進(jìn)行解算處理,從而得到接收機(jī)的位置坐標(biāo)及時(shí)間等信息[3]。
GPS接收模塊定位方法分析:衛(wèi)星上使用的是高精度的銫原子時(shí)鐘,用戶接收機(jī)使用的是普通的原子時(shí)鐘,如果兩個(gè)時(shí)鐘是精確同步的,則衛(wèi)星與用戶間的距離R=C*t,其中時(shí)間t是假設(shè)衛(wèi)星時(shí)鐘與接收機(jī)時(shí)鐘同步的情況下,信號從衛(wèi)星傳播到接收機(jī)所用的時(shí)間。但是,實(shí)際上兩個(gè)時(shí)鐘是無法達(dá)到精確同步的,即使兩個(gè)時(shí)鐘相差很小,再乘以信號的傳播速度,即光速C,造成的誤差也將很大,所以由于兩個(gè)時(shí)鐘存在的時(shí)鐘差△t,實(shí)際測得的距離并不是用戶和衛(wèi)星間的真實(shí)距離,而是偽距(Pseudo Range),簡稱PR,即PR=R+ C*△t,當(dāng)△t取正值,表示用戶時(shí)鐘慢于衛(wèi)星時(shí)鐘,反之表示用戶時(shí)鐘快于衛(wèi)星時(shí)鐘。GPS衛(wèi)星定位分布圖4所示。
圖4 GPS衛(wèi)星定位分布圖
假設(shè)衛(wèi)星時(shí)鐘和接收機(jī)時(shí)鐘同步,則衛(wèi)星到接收機(jī)的距離:
但是由于兩個(gè)時(shí)鐘之間存在誤差,則衛(wèi)星到接收機(jī)的實(shí)際距離:
其中,已知接收機(jī)到衛(wèi)星的偽距R,信號傳播速度C,衛(wèi)星的坐標(biāo)(Xi,Yi,Zi),未知變量包括接收機(jī)位置坐標(biāo)(x,y,z)和接收機(jī)與衛(wèi)星時(shí)鐘的時(shí)鐘差△t,因此可以通過以下四個(gè)方程解算出接收機(jī)的位置坐標(biāo)以及時(shí)鐘差,并且可以根據(jù)△t對接收機(jī)的時(shí)間進(jìn)行校準(zhǔn)。
2.2.2 GPS模塊接口設(shè)計(jì)
GPS接收模塊實(shí)時(shí)接收衛(wèi)星發(fā)送的導(dǎo)航電文,通過NEMA-0183傳輸協(xié)議與處理器串口進(jìn)行通信。本設(shè)計(jì)中GPS模塊只負(fù)責(zé)接收衛(wèi)星信號,所以模塊發(fā)送引腳與處理器單元的串口接收引腳連接。引腳連接示意圖如圖5所示。
圖5 GPS模塊引腳連接圖
2.2.3 GPS模塊程序設(shè)計(jì)
根據(jù)GPS接收模塊的功能:實(shí)時(shí)接收衛(wèi)星發(fā)送的導(dǎo)航電文,通過串口將數(shù)據(jù)發(fā)送至處理器進(jìn)行解析,數(shù)據(jù)解析后存儲并顯示在LCD上。GPS模塊與處理器間通過串口1進(jìn)行通信,因此程序設(shè)計(jì)主要包括:配置GPS模塊串口參數(shù)、串口中斷處理函數(shù)、LCD顯示處理函數(shù)。
GPS接收模塊接收并輸出標(biāo)準(zhǔn)NEMA0183協(xié)議格式的導(dǎo)航電文,因此與處理器之間采用NEMA0183通信協(xié)議,該協(xié)議語句結(jié)構(gòu)如下:
$<Address Field>,Data 1,Data 2, Data 3,…,Data n *hh<CR><LF>。
GPS輸出的消息語句主要包括$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL、$GPZDA等,本文提取的是$GPRMC和$GPGGA語句中的參數(shù)信息,其中包括經(jīng)度(Longitude)、緯度(Latitude)、海拔(Altitude)、時(shí)間(Time)信息。
程序設(shè)計(jì)流程:GPS接收模塊輸出NEMA0183標(biāo)準(zhǔn)語句到STM32處理器,處理器對接收到的信息進(jìn)行判斷解析,將解析得到的數(shù)據(jù)存儲并發(fā)送至LCD,程序設(shè)計(jì)流程圖如圖6所示。
圖6 GPS模塊程序流程圖
2.3 GSM模塊設(shè)計(jì)
移動通信部分采用FT100模塊,該模塊核心處理器部分采用移遠(yuǎn)通信(Quectel)的M35GSM模塊,該模塊專門針對短信工業(yè)應(yīng)用設(shè)計(jì),具有極高的性價(jià)比。通過模塊串口與處理器串口2連接,實(shí)現(xiàn)數(shù)據(jù)通信。模塊供電電壓是直流7-24V,其最大特點(diǎn)是所有與AT指令相關(guān)的操作均由模塊內(nèi)部完成。模塊實(shí)物如圖7所示。
圖7 GSM模塊實(shí)物圖
模塊通過標(biāo)準(zhǔn)9針串口線與微處理器單元的串口連接。本文設(shè)計(jì)將微處理器的串口2與GSM模塊連接,微處理器從GPS導(dǎo)航電文中解析出我們需要的地理信息后,將數(shù)據(jù)存儲在串口2,等待通過GSM模塊發(fā)送至用戶移動設(shè)備。GSM模塊硬件連接示意圖如圖8所示。
2.3.1 GSM移動通信系統(tǒng)結(jié)構(gòu)
圖9 GSM模塊采集與傳輸信息示意圖
基于GSM技術(shù)的移動通信系統(tǒng)主要由三部分組成:主控制端、GSM網(wǎng)絡(luò)、移動用戶端。無線通訊模塊通過RS232串口2與處理器連接,通過GSM無線網(wǎng)絡(luò)實(shí)現(xiàn)處理器與遠(yuǎn)程用戶端設(shè)備間的數(shù)據(jù)無線傳輸。本文以簡單的一點(diǎn)到一點(diǎn)的遠(yuǎn)程傳輸為例來說明系統(tǒng)通信結(jié)構(gòu)。GSM模塊傳輸數(shù)據(jù)示意圖如圖9所示。
2.3.2 SMS系統(tǒng)工作原理
SMS(Short Message Service)短消息服務(wù)業(yè)務(wù)是GSM網(wǎng)絡(luò)的一項(xiàng)基本業(yè)務(wù),主要由移動業(yè)務(wù)交換中心、短消息業(yè)務(wù)網(wǎng)關(guān)移動交換、本地用戶寄存器、訪問者位置寄存器和短消息服務(wù)中心等部分組成[4]。SMS系統(tǒng)工作原理如下:
短消息從GSM模塊發(fā)出后,首先傳輸?shù)交?,基站主要?fù)責(zé)移動設(shè)備和移動交換中心之間的信息傳遞,然后信息從移動交換中心尋址到需要的短信服務(wù)中心。當(dāng)移動設(shè)備接收來自GSM模塊的短消息時(shí),短消息服務(wù)中心必須確定一個(gè)合適的移動設(shè)備來結(jié)束發(fā)出的短消息的路由,短消息服務(wù)中心把接收到的短消息轉(zhuǎn)發(fā)到短消息業(yè)務(wù)網(wǎng)關(guān)移動交換中心,然后該交換中心向目的移動設(shè)備的歸屬位置寄存器詢問路由信息,從而把信息發(fā)送給合適的移動交換中心,經(jīng)該移動交換中心把消息傳遞給目的移動設(shè)備。SMS業(yè)務(wù)流程圖如圖10所示。
圖10 SMS業(yè)務(wù)流程圖
本文以STM32開發(fā)板(處理器型號是STM32F107VCT 6)、GPS模塊和GSM模塊為實(shí)驗(yàn)器材,驗(yàn)證GPS信息采集與傳輸系統(tǒng)設(shè)計(jì)的可行性。按照上述引腳及串口連接方式,將GPS模塊、GSM模塊與開發(fā)板連接,在Keil uVision4中編輯、編譯程序,通過Jlink下載程序到開發(fā)板,經(jīng)調(diào)試,實(shí)驗(yàn)現(xiàn)象如圖11所示。
圖11 GPS信息采集與傳輸示意圖
LCD液晶屏上顯示內(nèi)容如下:
Longitude:11618.7571(經(jīng)度:116度18分)Latitude:3957.40953(緯度:39度57分)Altitude:64.2(海拔64.2米)Time:15-11-26 19:33:46。北京市地界坐標(biāo)是北緯39度26分至41度03分;東經(jīng)115度25分至117度30分,實(shí)驗(yàn)中的經(jīng)緯度坐標(biāo)處于北京市的地界坐標(biāo)范圍之內(nèi),說明GPS模塊采集的數(shù)據(jù)有效。
通過手機(jī)發(fā)送短消息“實(shí)驗(yàn)查詢數(shù)據(jù)”到GSM模塊,GSM模塊收到短消息后,回復(fù)當(dāng)前采集到的GPS信息。短消息內(nèi)容如圖12所示。
圖12 短消息收發(fā)內(nèi)容示意圖
實(shí)驗(yàn)結(jié)果表明可以在LCD上實(shí)時(shí)顯示GPS接收模塊采集到的經(jīng)度(Longitude)、緯度(Latitude)、海拔(Altitude)、時(shí)間信息(Time),并且手機(jī)用戶可以發(fā)送短消息詢問當(dāng)前狀況,GSM模塊接收到短消息并將GPS采集到的信息通過GSM網(wǎng)絡(luò)發(fā)送到用戶手機(jī)上,實(shí)驗(yàn)結(jié)果驗(yàn)證了本文系統(tǒng)設(shè)計(jì)的可行性。
本文通過對GPS定位原理、GSM移動通信原理的介紹,詳細(xì)分析了兩個(gè)模塊與微處理器的接口連接方式及主要工作流程。本文結(jié)尾給出STM32開發(fā)板與GPS模塊、GSM模塊的通信實(shí)驗(yàn),將采集到的經(jīng)緯度、海拔、時(shí)間信息實(shí)時(shí)顯示在LCD上,并通過GSM網(wǎng)絡(luò)以短消息的方式發(fā)送到用戶手機(jī)上,從而驗(yàn)證了系統(tǒng)的可行性。
[1] Pratap Misra, per Enga.全球定位系統(tǒng)-信號、測量與性能.第二版[M].北京:電子工業(yè)出版社.2008.
[2] 李迎春,張佑生.GSM短消息在無線數(shù)據(jù)采集與監(jiān)控中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用, 2004(3):213-215.
[3] 劉基余. GPS衛(wèi)星導(dǎo)航定位原理與方法. 北京:科學(xué)出版社, 2003.
[4] 王洪瑞,權(quán)愛榮,肖金壯. GSM模塊收發(fā)中文短消息的關(guān)鍵技術(shù).單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008(4):73-75.
Design of GPS information collection and transmission based on STM32
Yuan Guangsheng, Xue Shouyu, Chen Yong, Song Jiuzhi
( College of Automobile and Traffic Engineering, Liaoning University of Technology, Liaoning Jinzhou 121001 )
In order to get the geographic information acquired by GPS, and transmit the information to the user’s mobile device through the GSM communication network, the paper give an design of GPS information acquisition and transmission based on STM32 processor. The GPS module communicates with the serial port of the processor unit through the NEMA-0183 transmission protocol. Then the processor analyzes the geographic information provided by the navigation message and display the analytical data on the LCD. Finally, the information is transmitted to the user’s mobile through the GSM module. At the end of the paper, the feasibility of the design is verified by experiment.
STM32; GPS; GSM
TB21
A
1671-7988(2016)01-86-04
袁廣升,碩士研究生,就讀于遼寧工業(yè)大學(xué),交通運(yùn)輸工程專業(yè),主要研究方向汽車交通安全。薛守鈺,碩士研究生,就讀于遼寧工業(yè)大學(xué),交通信息工程及控制專業(yè),主要研究方向交通信息工程與控制技術(shù)。陳永,碩士研究生,就讀于遼寧工業(yè)大學(xué),車輛工程專業(yè),主要研究方向汽車現(xiàn)代檢測技術(shù)。宋玖志,碩士研究生,就讀于遼寧工業(yè)大學(xué),車輛工程專業(yè),主要研究方向汽車CAD/CAE/CAM技術(shù)。