出租車GPS定位系統的設計
3.1 GPS數據接收程序設計
本文引用地址:http://www.104case.com/article/197164.htm
車載終端設備需要從GPS定位信息中提取出有效信息,所以也需要了解各種NMEA數據的含義。下面僅列出GPS最小數據輸出語句(GPRMC)輸出范例。輸出范例:$GPRMC,1>,2>,3>,4>, 5>,6>,7>,8>,9>, ,*70。1>:格林尼治時間;2>:信息狀態,‘A’信息有效 ‘V’信息無效;3>:緯度;4>:北半球或南半球標志,北半球(N)或南半球(S);5>:經度;6>:東半球或西半球標志,東(E)半球或西(W)半球;7>:對地速度;8>:對地方向;9>:日期。
當GPS模塊有數據輸出時,單片機進入串口中斷程序。程序首先判斷是否為數據頭標志即“$GPRMC”,若判斷到數據正確則程序進入數據接收模式,直到接收到“*”表示數據接收成功,否則退出中斷程序等待下次數據的到來。以下為部分中斷程序代碼。
While ((IFG1 URXIFG0) == 1);
{ UART0_RX_BUF[num++]=RXBUF0;
if (UART0_RX_BUF[0]!='$') num=0;
if(num==5)
{ if (UART0_RX_BUF[2]!='P') num=0;
if (UART0_RX_BUF[3]!='R') num=0;
if (UART0_RX_BUF[4]!='M') num=0;
}
if (num==56)
{ for (i=56;i73;i++)
{ if (UART0_RX_BUF[i]!='*') num=0;
else k=i; }
}
}
}
3.3 GPRS數據發送程序設計
出租車GPS定位系統可以將車輛的實時信息通過GPRS模塊發送到出租車監控調度中心以便監控調度中心掌握出租車運行狀況。單片機接收到GPS數據并且解析有效信息后,將需要發送到監控調度中心的信息(經緯度、速度等)存儲到數據發送緩沖器內,以便數據發送時調用。本設計采用定時器中斷方式進行數據發送,發送時間間隔為5S,當定時器定時5S溢出進入中斷后,執行數據發送程序,調用發送緩沖器內數據,通過GPRS模塊將數據發送到出租車監控調度中心。數據發送程序流程圖如圖4b:
圖4 程序流程圖
Fig.4 Program Flow Diagram
結論
目前車載GPS定位系統已經應用到民用、軍用各個行業。在本文出租車GPS定位系統設計中其硬件以及軟件均采用模塊化設計,易于升級與維護。經過實際車載試驗,出租GPS定位系統性能穩定,采集數據的精確程度以及發送數據的正確率都達到了預先設計要求。為出租車公司監控調度提供了良好的運營平臺,該系統具有良好的推廣價值和應用前景。
評論