葛 欣,藺雪葳,牟進達,王依岳(哈爾濱理工大學榮成學院,山東 榮成 264300)
?
手持定位器的設計與實現
葛 欣,藺雪葳,牟進達,王依岳
(哈爾濱理工大學榮成學院,山東 榮成 264300)
摘 要:為適應定位導航市場的需求,本文設計了一種便捷、精確、價格低廉的手持定位器,主要實現了接收定位數據,經緯度、海拔、時間顯示,數據傳送至移動終端等基本功能,完成了從定位到數據傳輸的追蹤功能。
關鍵詞:手持定位器;GPS定位;GSM通信;串口通信
近年來,隨著科技的發展,便攜式定位裝置越來越受到人們的關注。該裝置有較高的實用價值,可以用于登山旅游、野外勘探等等。人們對于更加輕便、準確、可靠的手持定位器的需求越來越強烈。手持定位器的產生和推廣必然是今后定位產品發展的趨勢[1]。
但是普通手持定位追蹤器只實現了定位功能,隨著GSM網絡技術和GPS技術之間的聯系越來越緊密,GSM系統短消息業務快速地成為了GPS定位系統應用中一種全新的通信鏈路建立、數據信息傳輸的途徑,本裝置對GSM以及GPS進行了完美的結合.
設備整體設計。該裝置硬件部分由STC12C5A60S2單片機、GPS模塊、GSM模塊、12864液晶顯示屏、電量檢測模塊組成。GPS模塊通過衛星定位,把準確的經緯度通過串口通信傳輸到單片機,數據進行處理后顯示在12864液晶屏上。同時定位數據不斷通過GSM模塊發送至移動終端,移動終端可以是手機、電腦等。電源采用5v鋰離子電池,具有重量輕、體積小、循環壽命長等優點。
2.1 主控系統
STC12C5A60S2具有SPI同步通信口,是一種全雙工可設置主模式/從模式,高速同步的通訊總線,可以用來進行多單機的主從通信,可以及時接收GPS發送的定位數據,及時把定位數據發送至GSM模塊。而且在原來8052共256字節RAM的基礎上,擴展了256字節的RAM,共512字節,可以寫入足夠大的程序[2]。
2.2 GPS定位模塊
模塊采用U-BLOX NEO-6M模組U-BLOX NEO-6M模塊采用50個通道的U-blox6引擎 GPS L1 C/A碼,接收衛星數據高效迅速,相比于基站定位、RFID/二維碼等[3]。標簽識別定位、場景識別定位等,具有方便,可靠性好,性價比高等一系列優點,現已廣泛應用于民用領域。U-BLOX NEO-6M模組,完全支持OMA SUPL規范。具有AssistNow自主定位快速功能,可以更快的捕獲衛星信息,接收更新速率達到5Hz,跟蹤靈敏-162dBm。使之更加準確的定位后,經RS232標準I/O輸出串行數據或者輸出TTL數據,向MCU進行發送。
2.3 GSM通信模塊
基于GSM系統的短消息收發系統的實現方案,采用在電腦或單片機通過GSM模塊向手機等移動終端發送短信,比較適合本產品的開發。其短信收發分為兩種模式:Text、PDU模式,PDU模式比較復雜,需要用專門的函數將文本格式轉換為PDU格式,應用Text模式開發比較簡單,本設計采用的是Text模式。在這種方法中,可以通過PC 與GSM模塊通信獲得定位數據,但是電腦等硬件體積大,不便于攜帶,可通過手機與GSM模塊通信,此種方法便于實現。
該定位器主要完成GPS信號接收、實時顯示經緯度、無線數據傳輸、電源電量顯示等功能,采用模塊化設計。硬件設計完成后,對軟件進行相關設計,編寫關于GPS定位程序、LCD12864顯示定位數據程序以及通信模塊無線數據傳輸程序。
3.1 系統軟件整體設計流程
系統軟件由初始化模塊和數據接收處理模塊組成。系統的初始化主要包括RAM初始化、特殊功能寄存器初始化和外圍設備的初始化。程序工作流程圖如圖1所示。
3.2 軟件模塊設計
3.2.1 GPS定位數據接收與發送程序設計
接收程序負責定位信息的接收、所需協議語句數據的提取以及其他情況(接收溢出、錯誤報警等)的處理。在檢測到有效信息后,接收程序將接收緩沖器中的內容讀入MCU的數據存儲區。
如今市場上的GPS模塊種類各異,但大都遵守NMEA-0183協議。該協議是美國國家海洋電子協會為海用電子設備制定的標準格式,目前已成了GPS導航設備統一的RTCM標準協議。NMEA-0183協議采用ASCII碼來傳遞GPS定位信息,稱之為幀[4]。
定位器使用異步串行通信對數據進行發送,首先把數據讀入SBUF中,根據預先設置好的通信數據格式,對停止位以及起始位進行自動植入。當發送抵達停止位時,標識發送為禁止,當禁止接觸時,數據接收方單片機就會做出反應。當數據接收時,采樣時鐘以輸入數據波特率的16倍頻率采樣輸入數據線,如果連續8次采樣到低電平,認為是一幀數據的起始位,當接收到起始位后,連續接收預先定位的數據以及停止位,這樣就接收到了一幀的數據。
GPS系統中有兩種時間區分,一為UTC,另一為LT(地方時)兩者的區別為時區不同,因此在計算定位時的標準時間要統一用UTC時間進行換算。整個地球分為二十四時區,每個時區都有自己的本地時間,在國際無線電通信中,為統一而普遍使用一個標準時間,稱為通用協調時(UTC,Universal Time Coordinated)。如果要把UTC時間轉化為本地時間,可以使用以下公式:
UTC + 時區差=本地時間
時區差東為正,西為負。為此,把東八區時區差記為 +0800,那么UTC + (+0800) = 本地(北京)時間。
3.2.2 通信模塊接收與發送數據程序設計
通信部分是由單片機、SIM900A和移動終端組成。U-BLOX NEO-6M收到的數據傳送到單片機中處理,再由單片機和SIM900A之間的串行口以AT的形式發送。發送的數據要進行PDU解碼以十六進制形式發送。單片機發送數據方式采用異步串行通信,與定位數據的接收方式相同。
用戶(追蹤器)可以通過接收定位器發送的短信來提取定位數據,也可以發送短信來對定位器進行控制和功能設置。這需要定位器在收到短信后能夠自動識別命令類型并自動執行,包括跟蹤開始,跟蹤停止等基本命令。
3.2.3 GPS定位信息顯示程序設計
中斷接收程序已對“$GPGGA”協議語句進行了解析,然后將經度、緯度、時間信息等實時刷新顯示在LCD12864液晶屏上。GPS模塊不斷收到新的數據,單片機不斷刷新RAM,在液晶屏上顯示相應數據。
本文設計了一種基于STC12C5A60S2單片機的簡易手持定位器,實現了GPS經度、緯度、時間等信息數據的讀取。本設計方法靈活,采用了單片機實現數據處理,易于調試,價格便宜,成本低,性能較穩定,方便從GPS定位模塊中提取各種所需定位數據,可廣泛用于民用領域,方便攜帶,在所需衛星導航定位信息的廣大領域內具有廣闊的應用前景。
參考文獻:
[1]陶宗儀.GPS的發展、應用及前景[M].航空電子技術,2010(03):1-7.
[2]李全利.單片機原理及接口技術(第二版)[M].北京:高等教育出版社,2009:10-16.
[3]陳嘉清.手持定位裝置的設計與實現[D].大連海事大學,2009:25-29.
[4]錢德俊,張哲,胡晨.NMEA0183協議解析[J].電子器件,2007(02):1-3.
資助項目:哈爾濱理工大學大學生創新創業訓練計劃項目(簡易手持定位追蹤器系統的設計)
DOI:10.16640/j.cnki.37-1222/t.2016.12.216
作者簡介:葛欣(1995-),女,山東齊河人,本科在讀,研究方向:電子信息工程。