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