基于GPS GPRS定位定向導航系統(tǒng)車載終端應用
圖3 GPS數據格式(GPRMC)
(3)CPU對其它外圍接口的控制
主要通過通用I/O口實現開關(電平)輸入/輸出,同時通過外部中斷的方式實現了實現與車用防盜報警器、緊急報警(SOS)、醫(yī)療服務、故障服務、點火信號等的接口。
(4)CPU對系統(tǒng)的整體控制:
首先,CPU完成對GPRS、GPS及外圍接口的初始化工作;其次,CPU通過串行口UART1對GPRS進行操作,完成從撥號到PPP協商(創(chuàng)建PPP鏈路、用戶驗證、PPP回叫控制、協商和調用網絡層協議),并與服務器建立起TCP連接;然后,在保證與服務器之間的TCP連接正常的前提下,實現與服務器之間的數據交互與控制;最后,CPU還必須要周期性地對系統(tǒng)終端的當前狀 態(tài)作出測試及判斷,并對各種實際情況作出相應的處理,以保證系統(tǒng)能正常而穩(wěn)定地工作。
四、系統(tǒng)軟件設計
在整個GPS_GPRS定位系統(tǒng)的設計中,涉及到服務器軟件、客戶端應用軟件及車載終端底層軟件。在此,主要就車載終端底層軟件的設計作進一步的說明。
在GPS_GPRS定位系統(tǒng)車載終端底層軟件的設計中,程序采用了模塊化設計,軟件由一個主程序和若干個子程序構成,其中,子程序主要完成一些單一的基本工能,主程序則主要負責完成對各個功能模塊(即子程序)的調用,同時對車載終端的資源及邏輯作出規(guī)劃,主程序框圖如圖4所示。
圖4 系統(tǒng)主程序框圖
下面就主程序的設計要點作出如下闡述:
當系統(tǒng)完成GPS及GPRS的初始化之后,即進行網絡撥號、PPP協商、TCP聯結等操作,當車載終端與服務器之間建立起網絡聯結之后,便可通過自定義的車載終端與服務器之間的通訊協議進行數據交互。
在此過程中,系統(tǒng)會首先判斷,當前系統(tǒng)是否允許終端將GPS數據進行上傳,并進行相應操作;同時,會檢測是否收到控制命令(包括通過網絡發(fā)出的控制命令,或通過短信方式發(fā)出來的命令,或是通過遙控器發(fā)出的控制命令),倘若收到了控制命令,則對命令的合法性作出判斷,并進行相應的處理。
同時,系統(tǒng)會定時對網絡質量進行測試,倘若網絡測試正常,則返回到繼續(xù)判斷控制命令及對系統(tǒng)當前狀態(tài)進行處理;倘若網絡測試不正常,則進行有限次嘗試,倘若有限次嘗試均以失敗告終,而主動斷開網絡連結,并對GPRS作出復位及再次初始化操作,之后,再重復主程序的撥號、PPP協商、TCP聯結及網絡數據交互工作。
其中,與GPRS的數據交換,通過串行口UART0中斷完成;與GPS的數據交換,通過串行口UART1完成;另外,外部警情接收通過外部中斷0和1完成,無線遙控接收由外部中斷2完成。通訊超時及定時處理,由定時器TIME2完成,它們均以子程序的形式存在于車載終端控制軟件中,同時還包括一些對GPRS、GPS模塊進行初始化及設置,以及PPP協議、TCP/IP協議的解析與實現子程序,具體框圖及說明略。
由以上對車載載終端控制程序的說明可知,車載終端工作流程控制程序的工作流程如下:
1:與服務器建立網絡連接;
2:與服務器建立TCP聯結;
3:對用戶進行注冊;
4:向服務器發(fā)送GPS定位數據;
5:默認狀態(tài)下,按設定周期(默認狀態(tài)為每5秒一幀),定位數據不間斷地上傳到服務器;
6:網絡狀態(tài)檢測及網絡質量測試,并據網絡當前狀況,作出相應處理(比如斷線重撥);
7:接收網絡或第三方控制或操作命令,并作出相應處理(比如:GPS采樣周期設定、停止發(fā)送GPS數據、開始發(fā)送GPS數據、設置監(jiān)聽號碼、更改操作密碼等);
8:處理突發(fā)警情(自動撥打監(jiān)聽中心號碼、上報求助警情信息等)。
五、結語
利用GPRS的數據傳輸功能,對GPS數據進行實時傳輸,與以往GPS監(jiān)控系統(tǒng)所采用的短信、GSM數據通道或DTMF數據傳輸等傳統(tǒng)方法相比,運營成本得到了極大的降低,同時其可操作性及實時性也都有了顯著的提高,而且成本較低,結構簡單,達到了較高的可靠性。
該系統(tǒng)中,PPP、TCP/IP協議棧都由8位單片機完成,由于速度上的限制,使得系統(tǒng)中的協議棧只能椐實際應用而作出相應的壓縮與處理,但這已足以達到該系統(tǒng)的資源需求。同時,該系統(tǒng)為以GPRS為代表的無線網絡接入方式的應用提供了一個可循的途徑。隨著GPRS、C DMA等無線網絡接入方式的不斷完善,相信以此為代表的新一代無線數據傳輸方式具有很大的應用前景。
評論