基于GPRS網(wǎng)絡(luò)的GPS圖形導(dǎo)航儀(下)
3系統(tǒng)軟件設(shè)計
在整個GPS導(dǎo)航系統(tǒng)中,全套軟件系統(tǒng)由用戶軟件、導(dǎo)航儀底層驅(qū)動軟件和服務(wù)器端控制軟件組成。這里,以導(dǎo)航儀底層驅(qū)動軟件來說明整個系統(tǒng)的軟件是如何設(shè)計和運作的。
整個導(dǎo)航儀底層驅(qū)動軟件劃分成若干個模塊,由主模塊和多個子模塊組成。這里,使用了實時嵌入式系統(tǒng)μC/OS-II,其優(yōu)點是功能強大,對系統(tǒng)資源的占用要求小,實時響應(yīng),而且可以很輕松地實現(xiàn)多個任務(wù)的調(diào)度。這里,將所有的子程序設(shè)置成不同的任務(wù),如下:
①OSTaskCreate(SystemInit,(void*)0,(OS_STK*)SystemInit[OSTaskStkSiz],4);
//整個系統(tǒng)的初始化,作為第一個任務(wù),包括對CPU、GPRS、GPS以及LCD的初始化工作
②OSTaskCreate(GPS_Get_Data,(void*)0,(OS_STK*)GPS[OSTaskStkSiz],5);
//將從GPS模塊讀取定位信息作為第二個任務(wù)
③OSTaskCreate(GPRS_Send_Data,(void*)0,(OS_STK*)GPRS_S[OSTaskStkSiz],6);
//設(shè)置通過GPRS模塊向指定的網(wǎng)絡(luò)服務(wù)器發(fā)送數(shù)據(jù)作為一個任務(wù)
④OSTaskCreate(GPRS_Get_Data,(void*)0,(OS_STK*)GPRS_R[OSTaskStkSiz],7);
//設(shè)置通過GPRS模塊從指定的網(wǎng)絡(luò)服務(wù)器接收數(shù)據(jù)作為另外一個任務(wù)
⑤OSTaskCreate(LCD_Draw,(void*)0,(OS_STK*)LCD[OSTaskStkSiz],8);
//驅(qū)動TFTLCD讓其顯示對應(yīng)當(dāng)前地理位置區(qū)域的地圖部分,作為整個顯示部分的任務(wù)
⑥OSTaskCreate(Flash_Drive,(void*)0,(OS_STK*)LCD[OSTaskStkSiz],9);
//驅(qū)動Flash存儲體來讀取對應(yīng)地理位置信息的地圖部分,從而為LCD顯示部分作好準(zhǔn)備
完成整個系統(tǒng)軟件的模塊化設(shè)計后,通過調(diào)用OSStart()函數(shù)讓整個系統(tǒng)運行起來。從以上的軟件組成說明,可以了解整個系統(tǒng)軟件的工作流程如下:
①CPU通過GPS模塊獲得當(dāng)前的地理位置信息。
②CPU利用剛才所獲得的GPS定位信息,可以從Flash存儲體中獲得對應(yīng)當(dāng)前區(qū)域的地圖部分,然后通過驅(qū)動TFT彩色液晶屏將其顯示出來。
③如需要,CPU通過GPRS模塊撥號連接上Internet后,將其所獲得的定位信息發(fā)送到指定的網(wǎng)絡(luò)服務(wù)器上,或接收從服務(wù)器上發(fā)過來的數(shù)據(jù)。
④接收到服務(wù)器的控制命令后,返回響應(yīng)并采取相應(yīng)措施,如停止GPS數(shù)據(jù)的接收,改變導(dǎo)航終端通過GPRS網(wǎng)絡(luò)向服務(wù)器發(fā)送數(shù)據(jù)的周期等。
最終搭建成的導(dǎo)航系統(tǒng)如圖3所示。
圖3 本文引用地址:http://butianyuan.cn/article/201706/350917.htm |
結(jié)語
在本套導(dǎo)航系統(tǒng)中,其核心設(shè)計與以往傳統(tǒng)的GPSGSM定位系統(tǒng)有著很大的區(qū)別。首先,利用GPRS無線網(wǎng)絡(luò)來傳輸數(shù)據(jù)與以往通過GSM網(wǎng)絡(luò)發(fā)送短信的方式相比,無論是運營成本,還是可靠性都得到了極大的改善,尤其是其運營成本,相比起傳統(tǒng)的GPS-GSM定位系統(tǒng)下降了2個數(shù)量級。其次,本導(dǎo)航系統(tǒng)中良好的可視化效果為用戶提供了相當(dāng)優(yōu)秀的導(dǎo)航界面,相比起來,市面上傳統(tǒng)的GPS定位系統(tǒng)僅僅顯示了當(dāng)前的GPS定位的數(shù)據(jù),當(dāng)前的周邊地理狀況則無法良好地提供給用戶;而本套導(dǎo)航系統(tǒng),控制核心采用的高性能的基于ARM7內(nèi)核的微控制器,因而無論是性能還是可升級性方面,都比起使用傳統(tǒng)的8位單片機作為控制核心有著相當(dāng)大的優(yōu)勢。目前,隨著人們對GPS導(dǎo)航技術(shù)的要求一步步的提升,以及GPRS網(wǎng)絡(luò)在國內(nèi)的高速普及,我們相信以這兩者相結(jié)合的新一代導(dǎo)航技術(shù)將會獲得極大的成功。
參考文獻
[1]曹軍.基于GPRS實現(xiàn)橋梁檢測遠(yuǎn)程數(shù)據(jù)傳輸,森林工程,2006(2).
[2]畢危危.基于GPRS和DGPS的車輛管理系統(tǒng),北京交通大學(xué)學(xué)報,2006(2).
[3]Motorola.G20_AT_Commands,2005-04-06.
[4]UBlox.ApplicationforTIMLHGPSmodule,2005-03.
[5]張勤,李家權(quán).GPS測量原理及應(yīng)用.北京:科學(xué)出版社,2005-07.
[6]徐愛鈞.IAREWARM嵌入式系統(tǒng)編程與實踐.北京:北京航空航天大學(xué)出版社,2006.
[7]李平均.基于GPRS網(wǎng)絡(luò)的單片機的Internet接入.微電子學(xué)與計算機,2006(3)
評論