董文超
摘 要:根據(jù)生活中對(duì)人和物體的定位和追蹤需求,設(shè)計(jì)了基于ARM處理器為STM32F103C8T6的追蹤定位器。其支持GNSS和多種AGPS技術(shù),可以迅速通過北斗、GPS多星座衛(wèi)星系統(tǒng)解調(diào)算法得到位置信息;并利用GSM短信息和TCP通信兩種通信方式相結(jié)合,通過PC端和手機(jī)端遠(yuǎn)程對(duì)其進(jìn)行終端位置信息查詢或通過以手動(dòng)按鍵方式進(jìn)行控制終端位置信息的發(fā)出。
關(guān)鍵詞:32位ARM處理器;追蹤;定位
中圖分類號(hào):TP333 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):2095-2945(2018)07-0027-02
Abstract: According to the need of locating and tracking people and objects in life, a tracking locator based on ARM processor for STM32F103C8T6 is designed. It supports GNSS and many kinds of AGPS technology. It can obtain the position information quickly through the demodulation algorithm of Beidou and GPS multi-constellation satellite systems. By the use of two communication methods, GSM short message and TCP communication, the terminal location information is queried remotely by the PC and the mobile phone, or the terminal position information is controlled by the manual keystroke.
Keywords: 32-bit ARM processor; tracking; location
1 概述
隨著各國(guó)導(dǎo)航衛(wèi)星的不斷成功發(fā)射升空,追蹤定位技術(shù)開始得到發(fā)展,使得對(duì)人、物的追蹤定位得以更好的實(shí)現(xiàn),它的出現(xiàn)極大地提高了人們的生活質(zhì)量,滿足了人們渴望的需求,例如對(duì)老人、兒童、罪犯等目標(biāo)的追蹤定位。
2 系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)總體描述
系統(tǒng)利用定位模塊接收導(dǎo)航衛(wèi)星數(shù)據(jù)通過北斗、GPS、GNSS等多星座衛(wèi)星系統(tǒng)解調(diào)算法得到位置信息,再將定位模塊的位置數(shù)據(jù)通過UART(異步收發(fā)傳輸器)傳輸?shù)組CU(微控制器),經(jīng)MCU對(duì)接收到的位置數(shù)據(jù)進(jìn)行解析處理,使其成為可被應(yīng)用的位置信息,而后MCU將可用的位置數(shù)據(jù)再次通過UART傳輸?shù)酵ㄐ拍K,利用通信模塊的GSM短信息服務(wù)或TCP通信將位置信息發(fā)送出去,最后通過PC端或手機(jī)端接收位置信息后利用百度地圖或GSM的短信息進(jìn)行目標(biāo)的遠(yuǎn)程定位或監(jiān)控。
2.2 系統(tǒng)設(shè)計(jì)圖(見圖1)
3 硬件設(shè)計(jì)
3.1 硬件總體設(shè)計(jì)
本系統(tǒng)硬件部分主要由MCU主控制模塊、定位通信模塊、鍵盤、顯示模塊、電源模塊構(gòu)成。定位通信模塊負(fù)責(zé)接收導(dǎo)航衛(wèi)星數(shù)據(jù)、遠(yuǎn)程傳送MCU處理好的數(shù)據(jù)信息及接收遠(yuǎn)程命令信息;顯示模塊使用OLED屏幕顯示位置信息和接收終端手機(jī)的號(hào)碼;鍵盤用于手動(dòng)控制發(fā)送位置信息和修改接收終端手機(jī)號(hào)碼;電源模塊用于給各個(gè)模塊供電。
3.2 MCU控制模塊
主控采用STM32F103C8T6,是一款32位ARM嵌入式微處理器,其具有多個(gè)通訊接口,包括UART,使其可以輕松地實(shí)現(xiàn)與定位通信模塊之間的通信;它的主頻為72M,從而可快速地完成對(duì)定位模塊接收數(shù)據(jù)的處理,系統(tǒng)各模塊的初始化和對(duì)遠(yuǎn)程命令的快速反應(yīng);其供電電壓為2.0-3.6V,功耗低,適合長(zhǎng)時(shí)攜帶使用。
3.3 定位通信模塊
采用聯(lián)發(fā)科技的MC20模塊,它是一款集成了LCC封裝和四頻段GSM/GSRS于一體的多功能通信模塊,體積小,功耗低;除支持通信功能外,還具有定位功能,支持GNSS技術(shù),可通過北斗、GPS、QZSS等多星座衛(wèi)星系統(tǒng)解調(diào)算法得到位置信息,使定位更加精準(zhǔn),并且支持多種AGPS技術(shù),可實(shí)現(xiàn)快速定位。
4 軟件設(shè)計(jì)
4.1 程序流程圖(見圖2)
4.2 定位數(shù)據(jù)處理、顯示程序設(shè)計(jì)
定位數(shù)據(jù)的是MCU以異步通信方式通過AT指令控制定位模塊接收衛(wèi)星數(shù)據(jù);最后MCU獲取接收到的數(shù)據(jù),再以同樣的方式將處理好的數(shù)據(jù)傳送給通信模塊并通過AT指令控制其發(fā)送。
定位數(shù)據(jù)遵守NMEA-0183協(xié)議,MCU獲取定位數(shù)據(jù)后,將其存儲(chǔ)到一個(gè)字符串?dāng)?shù)組里,再對(duì)其進(jìn)行解析,提取出經(jīng)度,緯度,再不斷循環(huán)處理新的定位數(shù)據(jù),在不斷地在OLED顯示屏上進(jìn)行刷新顯示。
4.3 通信程序設(shè)計(jì)
位置信息的傳遞發(fā)送首先是MCU不斷地通過AT指令查詢通信模塊是否收到遠(yuǎn)程控制命令和不斷掃描鍵盤檢測(cè)發(fā)送鍵是否被按下,當(dāng)收到遠(yuǎn)程命令或發(fā)送鍵被按下時(shí),MCU用指令將處理好的位置信息傳送到通信模塊,并用指令控制通信模塊以GSM短信息方式或TCP通信方式將位置信息發(fā)送出去。
5 結(jié)束語(yǔ)
為滿足生活中人們對(duì)目標(biāo)的追蹤和位置的確定的需求,設(shè)計(jì)了本系統(tǒng),系統(tǒng)采用一體化的定位通信模塊,使功耗變低,體積減小,方便長(zhǎng)時(shí)使用,并在通信功能上支持兩種通信方式,GSM短信息和TCP通信;在系統(tǒng)初始化,位置信息處理和遠(yuǎn)程命令應(yīng)答方面采用了主頻為72M的MCU,極大地保障了系統(tǒng)運(yùn)行的速率和及時(shí)的應(yīng)答;讓系統(tǒng)在生活中有關(guān)追蹤定位的各個(gè)方面,都有著很好的應(yīng)用。
參考文獻(xiàn):
[1]楊振江,朱敏波,豐博,等.基于STM32ARM處理器的編程技術(shù)[M].西安:西安電子科技大學(xué)出版社,2016,1.
[2]葛超,王嘉偉,陳磊.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2012,12.
[3]張勇.ARM Cortex-M3嵌入式開發(fā)與實(shí)踐:基于STM32F103[M].北京:清華大學(xué)出版社,2017,3.
[4]黃志偉,王兵,朱衛(wèi)華.STM32F32位ARM微控制器的應(yīng)用設(shè)計(jì)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2012,8.
[5]趙剡,吳發(fā)林,劉楊.高精度衛(wèi)星導(dǎo)航技術(shù)[M].北京:北京航空航天大學(xué)出版社,2014,5.
[6]中國(guó)衛(wèi)星導(dǎo)航定位協(xié)會(huì).衛(wèi)星導(dǎo)航定位與北斗系統(tǒng)應(yīng)用[M].北京:測(cè)繪出版社,2014,9.
[7]施滸立,景貴飛,崔君霞.后GPS和GPS后時(shí)代的衛(wèi)星導(dǎo)航系統(tǒng)[M].北京:科學(xué)出版社,2012,5.
[8]何曉峰,胡小平,羅兵.北斗/微慣導(dǎo)組合導(dǎo)航方法研究[M].北京:國(guó)防工業(yè)出版社,2015,10.
[9]上海移遠(yuǎn)通信技術(shù)股份有限公司.Quectel_MC20_GSM模塊說明[EB/OL].http://www.quectel.com/cn/product/mc20.html
[10]錢德俊,張哲,胡晨.NMEA0183協(xié)議解析[J].電子器件,2007(02).endprint