(1.長江師范學(xué)院 物理學(xué)與電子工程學(xué)院,重慶 408100;2.西南交通大學(xué) 電氣工程學(xué)院,成都 610031)
目前,越來越多的家庭擁有了私家車,汽車失竊案的數(shù)量日漸增多。與此同時(shí),人們對(duì)個(gè)人的人身安全也提出了更高的要求,尤其是未成年人、老人和野外工作人員。因此,對(duì)地面移動(dòng)目標(biāo)跟蹤報(bào)警這一課題的研究正逐漸成為熱點(diǎn)。目前,汽車上的GPS定位系統(tǒng)大多只具有定位信息接收功能,基于此,本文將GPS衛(wèi)星定位技術(shù)與GSM移動(dòng)通信技術(shù)相結(jié)合,完成了地面移動(dòng)目標(biāo)跟蹤報(bào)警系統(tǒng)的設(shè)計(jì)。該系統(tǒng)具有異地獲取地面移動(dòng)目標(biāo)(如汽車、行人)定位信息的功能,可實(shí)現(xiàn)對(duì)地面移動(dòng)目標(biāo)的遠(yuǎn)程跟蹤,解決汽車防盜和尋找迷路行人的問題。此外,系統(tǒng)還具有一鍵報(bào)警功能,即在遭遇危險(xiǎn)的緊急情況下(如汽車或個(gè)人在野外遭遇突發(fā)事故),可通過系統(tǒng)的一鍵報(bào)警功能,將本地定位信息連同求救信息一并發(fā)送給異地用戶,異地用戶在收到報(bào)警短信后可及時(shí)采取適當(dāng)?shù)拇胧┦┚取?/p>
GPS跟蹤報(bào)警系統(tǒng)結(jié)構(gòu)設(shè)計(jì)采用中心控制方案,由GPS模塊、LM3S1138主控模塊、GSM模塊、電源模塊、鍵盤和LCD顯示模塊組成,系統(tǒng)硬件結(jié)構(gòu)如圖1所示。GPS模塊采用Leadtek公司生產(chǎn)的GPS9808 OEM模塊,具有結(jié)構(gòu)小巧、性能優(yōu)良等特點(diǎn),熱啟動(dòng)時(shí)間小于8 s,重捕時(shí)間小于0.1 s,定位精度在差分模式(DGPS)下小于5 m,數(shù)據(jù)格式支持標(biāo)準(zhǔn)NMEA-0183,SiRF二進(jìn)制協(xié)議,功耗僅215 mW,非常適合在汽車電子等對(duì)功耗、體積要求較高的系統(tǒng)中應(yīng)用[1]。LM3S1138是Luminary Micro公司新推出的32位Cortex-M3 ARM處理器,是針對(duì)工業(yè)應(yīng)用方案而設(shè)計(jì)的一款低功耗微控制器,其優(yōu)勢在于能夠方便地運(yùn)用多種ARM的開發(fā)工具和片上系統(tǒng)(SoC)的底層IP應(yīng)用方案,擁有龐大的用戶群體。此外,LM3S1138使用了兼容ARM Thumb指令集的Thumb2指令集來減少存儲(chǔ)容量的需求,降低了成本[2]。GSM通信模塊由C8051F020單片機(jī)結(jié)合TC35i設(shè)計(jì)而成,TC35i是西門子公司專為GSM通信設(shè)計(jì)的專用模塊,具有語音、數(shù)據(jù)、傳真和點(diǎn)對(duì)點(diǎn)短信功能,工作于EGSM900和GSM1800頻段[3]。鍵盤采用ZLG7289鍵盤掃描管理芯片完成按鍵的掃描和管理,可同時(shí)掃描管理64個(gè)按鍵。顯示模塊采用基于ST7920控制器的中文圖形128×64 LCD來實(shí)現(xiàn)。電源模塊主要為系統(tǒng)各模塊提供安全可靠的電源保障。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure diagram
GPS模塊上電完成初始自檢后,自動(dòng)接收來自天線的GPS射頻信號(hào),經(jīng)變頻、放大、相關(guān)、混頻等一系列處理后,完成并行通道對(duì)其視界內(nèi)幾何位置最佳的數(shù)顆衛(wèi)星的連續(xù)跟蹤,并測出信號(hào)從衛(wèi)星到接收天線的傳播時(shí)間,解譯出GPS衛(wèi)星所發(fā)送的導(dǎo)航電文,最后經(jīng)由I/O口串行輸出緯度、經(jīng)度、速度、時(shí)間等定位信息[4]。一般情況下,LM3S1138主控模塊從導(dǎo)航電文中進(jìn)一步解析出緯度、經(jīng)度、速度、時(shí)間等定位信息并存儲(chǔ)、顯示。遠(yuǎn)程用戶在需要獲取移動(dòng)目標(biāo)的定位信息時(shí),可通過手機(jī)向系統(tǒng)發(fā)送獲取移動(dòng)目標(biāo)定位信息的短信,GSM模塊在收到這樣的短信后,先將需要發(fā)送的定位信息進(jìn)行格式封裝,然后將定位信息發(fā)送給遠(yuǎn)程用戶,從而實(shí)現(xiàn)對(duì)移動(dòng)目標(biāo)的跟蹤報(bào)警,這種情況適用于汽車被盜、對(duì)未成年人監(jiān)護(hù)、防止老人走失等。在緊急情況下(如被劫持或遭遇危險(xiǎn)處境),本地用戶可通過系統(tǒng)按鍵實(shí)現(xiàn)移動(dòng)目標(biāo)定位信息和求救信息的一鍵發(fā)送,遠(yuǎn)程用戶在接收到帶有定位信息的報(bào)警短信后可采取相應(yīng)的措施進(jìn)行施救。
系統(tǒng)的軟件開發(fā)采用“C語言+驅(qū)動(dòng)庫”的新概念開發(fā)模式,開發(fā)軟件采用IAR Embedded Workbench for ARM 5.11(下面簡稱IAR EWARM)。IAR EWARM是一個(gè)針對(duì)ARM處理器的集成開發(fā)環(huán)境,它包含項(xiàng)目管理器、編輯器、C/C++編譯器和ARM匯編器、連接器XLINK和支持RTOS的調(diào)試工具C-SPY。在IAR EWARM環(huán)境下可以使用C/C++和匯編語言方便地開發(fā)嵌入式應(yīng)用程序。比較其它的ARM開發(fā)環(huán)境,IAR EWARM具有使用方便、代碼緊湊等特點(diǎn)。由于Luminary Micro免費(fèi)提供基于C語言(符合ANSI C標(biāo)準(zhǔn))的驅(qū)動(dòng)庫軟件包,并且源代碼公開,因此用戶完全可以摒棄晦澀難懂的匯編語言,也不需要掌握底層寄存器的操作細(xì)節(jié),只要懂C語言就能進(jìn)行軟件的設(shè)計(jì)開發(fā)。
主控程序主要功能是完成GPS-OEM板數(shù)據(jù)幀的讀取、數(shù)據(jù)幀處理、GSM模塊的控制、GSM信息的處理等。軟處理器在接收到GPS信息后先判別是不是需要的GPS數(shù)據(jù)信息,若是則進(jìn)行信息處理,提取需要的定位信息并保存,然后對(duì)按鍵信息進(jìn)行掃描,有一鍵報(bào)警情況時(shí),將定位信息和報(bào)警文字按要求編碼后通過GSM模塊發(fā)出;沒有一鍵報(bào)警時(shí),則對(duì)GSM模塊的輸出信號(hào)進(jìn)行判別;有遠(yuǎn)程調(diào)用短信時(shí),則將定位信息按要求編碼后發(fā)出,其流程如圖2所示。
系統(tǒng)上電后開始執(zhí)行主程序,首先進(jìn)行系統(tǒng)初始化。系統(tǒng)初始化主要包括對(duì)GPS模塊、GSM模塊的初始化,GPS模塊初始化主要是對(duì)串行口UART0進(jìn)行初始化,即設(shè)置UART0的傳輸幀格式和波特率。根據(jù)GPS模塊硬件特性,設(shè)置UART0波特率為4 800 bit/s,8個(gè)數(shù)據(jù)位,無奇偶校驗(yàn)位,1個(gè)停止位。GSM模塊初始化主要是對(duì)串行口UART1的初始化,設(shè)置UART1的傳輸幀格式和波特率。根據(jù)GSM模塊硬件特性,設(shè)置UART1波特率為9 600 bit/s,8個(gè)數(shù)據(jù)位,無奇偶校驗(yàn)位,1個(gè)停止位。初始化完成后則進(jìn)入主控程序的數(shù)據(jù)處理部分。
圖2 主控程序流程圖Fig.2 Master program flow chart
GPS模塊接收GPS衛(wèi)星定位信號(hào),判斷其為GPRMC格式,經(jīng)解析留下經(jīng)緯度、UTC時(shí)間等主要信息以待下一步處理,否則繼續(xù)接收GPS衛(wèi)星定位信號(hào),其流程圖如圖3所示。
圖3 GPS數(shù)據(jù)解析流程圖Fig.3 GPS data analysis flow chart
GPS模塊程序設(shè)計(jì)的關(guān)鍵是實(shí)現(xiàn)定位信息解析。GPS的OEM板輸出的定位信息符合NMEA-0183通信標(biāo)準(zhǔn)格式,其輸出數(shù)據(jù)采用的是ASCII碼,包含了緯度、經(jīng)度、速度、日期、時(shí)間、航向以及衛(wèi)星狀況等信息[5]。語句有GGA、GLL、GSA、GSV、RMC和VGT 6種,系統(tǒng)采用的是RMC記錄語句,它包含了系統(tǒng)需要的所有信息。由于只關(guān)注與移動(dòng)目標(biāo)位置相關(guān)的定位信息,因此,只讀取“$GPRMC”語句即可[5]。一條“$GPRMC”語句幀包括15個(gè)記錄,“$GPRMC”語句是GPS推薦的最短數(shù)據(jù)幀,共占用73個(gè)字節(jié)(包括用于分隔記錄所使用的12個(gè)逗號(hào))。GPS模塊的程序設(shè)計(jì)首先判斷是否為RMC記錄,如果是則對(duì)GPRMC字段進(jìn)行解析并保存數(shù)據(jù)。下面給出的是提取經(jīng)度和緯度的部分核心源代碼。
void Parse-gprmc(void)
……
if(′,′ != temp) // 提取緯度
{ Latitude[0] = temp;
for(i=0; i<3; i++)
{ Latitude[i+1] = Read-byte();
}
Read-byte();
for(i=0; i<5; i++)
{ Latitude[4+i] = Read-byte();
}
Read-byte();
}
temp = Read-byte();
……
if(′,′ != temp) // 提取經(jīng)度
{ Longitude[0] = temp;
for(i=0; i<4; i++)
{ Longitude[i+1] = Read-byte();
}
Read-byte();
for(i=0; i<5; i++)
{ Longitude[5+i] = Read-byte();
}
Read-byte();
}
temp = Read-byte();
……
GSM模塊在系統(tǒng)中主要負(fù)責(zé)接收遠(yuǎn)程控制信息和傳送定位信息。接收和發(fā)送手機(jī)短消息(SMS)常用的模式主要有兩種: 文本(Text)模式和協(xié)議數(shù)據(jù)單元 (Protocol Data Unit,PDU)模式[6]。Text模式是純文本方式,可使用不同的字符集。該模式下信息傳送和接收的編碼比較簡單,但國內(nèi)手機(jī)Text模式下不支持收發(fā)中文漢字字符的短消息。PDU模式被所有手機(jī)支持,可發(fā)送中英文短信。PDU模式下可采用7位、8位和UCS2 3種編碼方式,分別用于發(fā)送普通的ASCII字符、數(shù)據(jù)消息和Unicode字符(按照GSM07.05協(xié)議規(guī)定,手機(jī)短信息中的漢字編碼均采用Unicode碼)。因此發(fā)送和接收中文或中英文混合的短信息只能采用PDU模式,并在將定位信息以短消息形式傳送給遠(yuǎn)程用戶之前,完成漢字編碼到Unicode碼的轉(zhuǎn)換。GSM模塊的程序設(shè)計(jì)流程圖如圖4所示。
圖4 GSM模塊程序流程圖Fig.4 GSM module program flow chart
將系統(tǒng)各部分正確連接后上電,系統(tǒng)液晶屏上將顯示本地的GPS定位信息。本地顯示正常后,通過手機(jī)發(fā)送控制短信給系統(tǒng)GSM模塊,GSM模塊收到短信后發(fā)出提示音,并將定位信息發(fā)送到手機(jī)上,實(shí)驗(yàn)室測試的手機(jī)截屏如圖5所示。
圖5 系統(tǒng)測試結(jié)果Fig.5 System test result
將GPS與GSM無線通信技術(shù)相結(jié)合開發(fā)完成的移動(dòng)目標(biāo)跟蹤報(bào)警系統(tǒng),采用LM3S1138 ARM處理器在實(shí)現(xiàn)小型化、集成化和高可靠性的同時(shí)增強(qiáng)了控制能力,降低了成本,提高了系統(tǒng)的智能化程度。GSM無線通信技術(shù)的引入實(shí)現(xiàn)了定位及報(bào)警信息的異地遠(yuǎn)程獲取。GPS跟蹤報(bào)警系統(tǒng)可完成對(duì)車輛、行人等地面移動(dòng)目標(biāo)的精確定位,在車輛被盜和個(gè)人遭遇危險(xiǎn)(如車輛在野外遭遇事故或人員走失)的情況下,能夠?qū)崿F(xiàn)對(duì)移動(dòng)目標(biāo)的跟蹤和報(bào)警,其應(yīng)用前景十分廣闊。
參考文獻(xiàn):
[1] Leadtek GPS Module Technical Specification GPS9808 Version 1.03[Z].[S.l.]:Leadtek Limited, 2004.
[2] Luminary Micro.LM3S1138微控制器數(shù)據(jù)手冊(cè)[M]. 廣州:廣州周立功單片機(jī)發(fā)展有限公司,2008.
Luminary Micro. LM3S1138 Microcontroller Data Sheet[M]. Guangzhou :Guangzhou ZLG MCU Development Co., Ltd.,2008.(in Chinese)
[3] Siemens. TC35i Hardware Interface Description Version 03.01a[Z].[S.l.]:Siemens AG,2007.
[4] 林綠洲,陸起涌,田小芳,等.基于嵌入式平臺(tái)的公交車輛監(jiān)控系統(tǒng)[J].電訊技術(shù),2006,46(3):78-80.
LIN LV-zhou, LU Qi-yong, TIAN Xiao-fang,et al. Bus Supervisory System Design Based on Embedded Platform[J]. Telecommunication Engineering,2006,46(3):78-80. (in Chinese)
[5] 楊梅.GPS-GPRS定位系統(tǒng)車載終端的應(yīng)用設(shè)計(jì)與實(shí)現(xiàn)[J].電訊技術(shù),2004, 44(3):103-106.
YANG Mei. Application Design and Implementation of GPS-GPRS Location System Vehicle Terminals[J]. Telecommunication Engineering,2004, 44(3):103-106. (in Chinese)
[6] 張曉培,李祥.從Unicode到GBK的內(nèi)碼轉(zhuǎn)換[J].微計(jì)算機(jī)應(yīng)用,2006,27(6):757-759.
ZHANG Xiao-pei, LI Xiang. From Unicode to GBK's Code Converter[J]. Micro-Computer Applications,2006,27(6):757-759.(in Chinese)