公交車(chē)載GPS智能報站系統設計
2. 2 GPS 模塊
由于該GPS 模塊設置信息掉電丟失, 在每次系統啟動(dòng)時(shí)均要對該GPS 模塊進(jìn)行初始化。將模塊設置成每秒鐘輸出一次GPS 信息。
系統啟動(dòng)后, 模塊接收GPS 信息, 然后解析出GPS 信息, 根據解析出來(lái)的經(jīng)緯度信息與數據區中存儲的站點(diǎn)信息比較, 計算出實(shí)際距離。如果距離到達閥值時(shí), 啟動(dòng)GPS 報站中斷。
該GPS 模塊接收模塊遵循NMEA. 0183 協(xié)議, 可以輸出多種格式的數據幀, 均以“MYM”開(kāi)頭。輸出數據采用的是ASCII 碼字符, 內容包含了緯度、經(jīng)度、速度、日期、航向及衛星狀況等信息。幀格式達10 余種, 該系統所使用的僅限于$ GPRMC 定位數據幀格式。
系統啟動(dòng)后, 通過(guò)串口對GPS 模塊進(jìn)行設置,由于系統對實(shí)時(shí)性要求不高, 將GPS 設置為每秒鐘輸出一次RMC 數據。提取GPRMC 語(yǔ)句的思路是設置一個(gè)數據緩沖區, 把接收到的GPS 數據都放入這個(gè)緩沖區, 當緩沖區滿(mǎn)了的時(shí)候就在緩沖區中查找是否接受到GPRMC 定位語(yǔ)句, 如果沒(méi)有接收到則重新接收GPS 數據。如果找到了GPRMC 定位語(yǔ)句則還要判斷該語(yǔ)句在緩沖區中的位置離緩沖區的最大字節數是否大于62個(gè)字節( 因為本程序中需要的GPRMC 定位語(yǔ)句所包含的字節數為62) , 然后通過(guò)多程序提取相關(guān)經(jīng)緯度、時(shí)間和速度等信息并通過(guò)數據處理線(xiàn)程進(jìn)行相關(guān)處理。系統工作流程如圖3 所示。
圖3 系統工作流程
2. 3 GPRS 無(wú)線(xiàn)通訊模塊
由于GSM 模塊內嵌TCP/ IP 協(xié)議, 可以直接調用AT 命令與服務(wù)器通過(guò)TCP、UDP 通訊。無(wú)線(xiàn)通訊分為上行數據轉換模塊和通訊模塊2 個(gè)模塊。
上行數據轉換模塊的主要功能是把接收到的GPS 數據或是相關(guān)的狀態(tài)信息轉換成約定好的數據格式以便同主信息中心的通訊。該模塊會(huì )判斷需要轉換的數據是GPS 數據信息還是相關(guān)狀態(tài)信息或是二者都有, 然后選擇相應的轉換程序。由上面的介紹可以知道接收到的GPS 數據都是順序存放在數據緩沖區當中的, 需要什么數據就到緩沖區中相應的位置提取就可以了。數據都是以字符形式存放的, 所以實(shí)際要用的時(shí)候必須先轉換成整形數據。
評論