基于GPSOne模塊的個(gè)人定位終端設(shè)計(jì)
GPSOne綜合了GPS、CDMAlX(碼分多址分組數(shù)據(jù)交換網(wǎng)絡(luò))、GIS(地理信息系統(tǒng))和互聯(lián)網(wǎng)技術(shù),是美國高通公司為基于位置業(yè)務(wù)而開發(fā)的定位技術(shù),采用Client/Server方式。它將無線輔助A-GPS和高級前向鏈路AFLT三角定位技術(shù)有機(jī)結(jié)合,實(shí)現(xiàn)高精度、高可用性和較高速度的定位。在A-GPS定位技術(shù)無法使用的環(huán)境中,會(huì)自動(dòng)切換到AFLT三角定位技術(shù),確保定位的成功率和精確度。這里基于GPSOne模塊DTGS-800和低功耗單片機(jī)MSP430設(shè)計(jì)并實(shí)現(xiàn)了具有定位、監(jiān)控和報(bào)警功能的個(gè)人定位終端。
1 系統(tǒng)硬件設(shè)計(jì)
個(gè)人定位終端的硬件組成如圖1所示。為了解決GPS在室內(nèi)和高層建筑密集區(qū)難以定位的問題,選用AnyData公司的DTGS-800 GPSOne模塊;為了縮小體積、降低功耗和成本,主控單元MCU選用超低功耗的16位單片機(jī)MSP430F147,顯示器選用LED。單片機(jī)負(fù)責(zé)控制 GPSOne模塊發(fā)起定位請求,接收并解析CDMA網(wǎng)絡(luò)控制中心發(fā)送的信息,獲取當(dāng)前的經(jīng)、緯度及其他信息,并以短信的方式送至控制中心或操作者的手機(jī)。主控單元MCU如圖2所示。它包括MSP430F147,外接高速晶振和低速晶振,在不需要高速處理時(shí),可將高速晶振關(guān)閉,只使用低速晶振,以降低功耗;MSP430F147有2個(gè)串行異步通信接口(USART),其中一個(gè)(DCD、CTS、DTR、RI、RFR/RTS、TXD、RXD引腳)接口連接DTGS-800的UAR-T1,另一個(gè)(URXD0、UTXDO)接口與PC機(jī)的串口相連,供系統(tǒng)調(diào)試使用。nRst、MS、TCK、TDI、TD0 引腳連接JTAG插座,用于程序下載和在線調(diào)試;keyl和key2引腳分別接"Help"和預(yù)留按鍵。外接的LED DS3和LED DS4分別用指示電池電量不足和DTGS-800與MSP430之間的通信;BatTest用于檢測電池電量。
DTGS-800模塊是定位終端的主體,其內(nèi)部集成有GPSOne器件,采用GPSOne解決方案定位;支持機(jī)卡分離RUIM,提供標(biāo)準(zhǔn)RS-232數(shù)據(jù)接口和標(biāo)準(zhǔn)的AT命令接口,為數(shù)據(jù)、語音、短消息和傳真提供快速、可靠、安全的傳輸。該模塊可采用外接電源或電池供電,電池供電電壓為+4.0 V±10%,外接電源供電電壓+4.5 V±10%,外接電源還能通過模塊內(nèi)部的電源管理器件為電池充電。
DTGS-800模塊的電路如圖3所示。其中DCD、CTS、DTR、RI、RFR/RTS、TXD、RXD引腳連接MSP430F147的UART1,是DTGS-800與MSP430F147的通信通道;UIM_DATA、UIM_CLK、UIM_PWR_EN、UIM_RESET接UIM卡(圖 4);Sgl_SMS、Sgl_IDEL、Sgl_GPS、Sgl_busy、Sgl_Power、Sgl_ch-arge是系統(tǒng)狀態(tài)指示信號,分別連接 6個(gè)LED,用于指示新短信信號、CDMA網(wǎng)絡(luò)信號、GPS信號、CDMA網(wǎng)絡(luò)忙、系統(tǒng)上電和電池充電等狀態(tài);BatGauge接電池測試端,用于檢測電池溫度(圖5)。
UIM卡是CDMA手機(jī)的一種智能卡,其功能類似于GSM手機(jī)中的SIM卡。它支持專用的鑒權(quán)加密算法和0TA技術(shù)(0ver The Air),可以通過無線空中接口方式對卡上的數(shù)據(jù)進(jìn)行更新和管理。UIM卡固定在卡座上,通過卡座的6個(gè)引腳與外部連接,如圖4所示,其中 UIM_RESET和UIM_CLK需通過100 kΩ電阻下拉,UIM_DATA需通過10 kΩ電阻上拉。
電源Battery和Charger模塊如圖5所示。DTGS-800模塊的第88、90引腳是專用于電池供電的電源輸入引腳。若需模塊既可用外接電源又可用電池供電,可將外接電源接到第87和89引腳,電池接到第88、90引腳。此時(shí),外接電源還能通過模塊內(nèi)部電源管理器件為電池充電。在模塊只采用電池供電的情況下,需要給該模塊一個(gè)power on信號;對該引腳進(jìn)行第2次觸發(fā)時(shí),模塊power off。
2 系統(tǒng)軟件設(shè)計(jì)
該終端的軟件設(shè)計(jì)有主程序、按鍵檢測、電池檢測、存儲(chǔ)和串口通信5個(gè)模塊。圖6為主程序流程。
主程序模塊負(fù)責(zé)其他4個(gè)模塊的初始化和數(shù)據(jù)處理與存儲(chǔ)。該模塊判斷接收數(shù)據(jù)的正確性,從中提取位置和其他有用信息,實(shí)現(xiàn)數(shù)據(jù)的分離和有效數(shù)據(jù)在片上RAM 的臨時(shí)存儲(chǔ),并將有用信息通過串口發(fā)送給DTGS8-800,DTGS-800再以短信的形式傳給第三方。系統(tǒng)啟動(dòng)時(shí),首先進(jìn)行初始化,包括看門狗、定時(shí)器、電壓檢測模塊(含MD轉(zhuǎn)換器)、UART、按鍵檢測模塊和DTGS-800的初始化;系統(tǒng)初始化完成后,如果沒有中斷請求則進(jìn)入低功耗模式,以節(jié)約電量。
按鍵檢測模塊和電池檢測模塊都是以中斷方式執(zhí)行的。當(dāng)有按鍵按下時(shí),就會(huì)產(chǎn)生中斷,通知控制器進(jìn)行掃描,判斷是哪個(gè)鍵按下,然后進(jìn)行相應(yīng)的處理;電池檢測模塊以一定時(shí)間間隔檢測電池電量,如果電池電量不足則通知控制器開始計(jì)數(shù),如果連續(xù)檢測到電壓過低狀態(tài)超過一定次數(shù)后,則使相應(yīng)的LED閃爍,提醒用戶充電。
如果用戶發(fā)送報(bào)警信息,即按下Help鍵,則產(chǎn)生中斷請求,執(zhí)行中斷服務(wù)子程序,系統(tǒng)退出低功耗模式,進(jìn)入“HELP”狀態(tài),發(fā)起定位請求,接收并解析定位信息,將有用信息和報(bào)警信息打包后,以短信的形式發(fā)送給HelpNum指定的服務(wù)器,發(fā)送成功后,系統(tǒng)進(jìn)入低功耗模式。
如果是第三方發(fā)起定位請求,系統(tǒng)則退出低功耗模式,進(jìn)入“MPC定位”狀態(tài),發(fā)起定位請求,接收并解析定位信息,將有用信息以短信的形式發(fā)送給指定手機(jī)或服務(wù)器,成功后系統(tǒng)返回低功耗模式。服務(wù)密碼及MPC的地址可通過短信以特定的格式遠(yuǎn)程設(shè)置。
3 系統(tǒng)測試
通過在不同環(huán)境下的綜合測試,結(jié)果表明:該系統(tǒng)具有以下功能:1)進(jìn)行MPC第三方定位(即網(wǎng)絡(luò)側(cè)發(fā)起定位);2)直接控制終端進(jìn)行主動(dòng)定位(即終端側(cè)發(fā)起定位);3)支持單次定位和連續(xù)定位;4)支持MS-Based和MS-Assist定位模式;5)能遠(yuǎn)程設(shè)置各種參數(shù);6)具有緊急報(bào)警、越區(qū)報(bào)警和超速報(bào)警等功能。
系統(tǒng)初始定位時(shí)間在20 S內(nèi),室內(nèi)定位誤差在500 m內(nèi),室外定位誤差在20 m內(nèi);報(bào)警信息能在1 s內(nèi)傳到控制中心,出界、超速、電池電量過低等報(bào)警靈敏度高,系統(tǒng)可連續(xù)工作24 h,待機(jī)72 h,運(yùn)行穩(wěn)定可靠,可以滿足個(gè)人定位系統(tǒng)基本的功能需求。
4 結(jié)束語
本文基于GPSOne模塊DTGS-800和低功耗單片機(jī)MSP430F147,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)集個(gè)人定位、監(jiān)控和報(bào)警于一體的個(gè)人定位終端,解決了在室內(nèi)、隧道等場合GPS無法定位的問題。由于采用低功耗處理器,使整個(gè)系統(tǒng)功耗降到最低。能夠長期待機(jī)工作,為用戶帶來了極大方便,具有較高的實(shí)用價(jià)值。但由于系統(tǒng)使用CDMA網(wǎng)絡(luò)的短消息信道傳輸信息,實(shí)時(shí)性還不夠理想。為了提高系統(tǒng)的實(shí)時(shí)性,可考慮改用GPSOne模塊內(nèi)置的TCP/IP協(xié)議來進(jìn)行信息傳輸。