公交車載GPS智能報站系統設計
文章出處:http://srpd123.com 作者:中國一卡通收錄 人氣: 發(fā)表時間:2011年12月09日
近年來, 隨著城市公交事業(yè)的迅速發(fā)展, 國內公交車報站的方式已經有了很大改善, 由傳統的售票員喊話報站逐漸變?yōu)轳{駛員使用報站器手動報站。
雖然手動報站器使用比較方便, 但是因為駕駛員需要在保證安全駕駛的前提下進行報站, 所以經常出現報站不及時, 甚至錯報、漏報的現象, 而且讓駕駛員在駕駛過程中進行報站也存在安全隱患。采用自動報站的方式可以大大減輕駕駛員的工作量, 促進公交系統的現代化進程。要實現自動報站, 需要實時測出公交車的位置, 以確定公交車是否已經到達站點。利用GPS 可以確定公交車的地理位置, 只需把當前位置同公交站點的位置數據( 經、緯度) 相比較, 就可以知道公交車是否到達站點, 使得報站系統具有一定的智能性。這種基于GPS 的智能報站系統能夠杜絕駕駛員駕駛過程中因兼顧報站器而帶來的隱患。特別適合因汽車行業(yè)高速發(fā)展而導致交通問題日益嚴峻的我國國情, 還可以在重點線路上加入對城市景點風貌的相關介紹。該系統在GPS 導航領域和商業(yè)領域都有著非常大的潛力, 具有廣闊的發(fā)展前景。
1 系統方案
基于GPS 的公交車智能報站系統是移動通訊技術和GPS 技術的結合, 整個系統由S3C24l0 ARM9( 進階精簡指令集機器) 開發(fā)板、SIM548C GPS⁄GPRS模塊、語音播報模塊、AT89S52 單片機以及OCMJ5X10B 的LED( 發(fā)光二極管) 背光寬溫黃綠屏等器件組成。GSM⁄GPS 模塊由GPS 分模塊與GSM( 全球移動通訊系統) 分模塊組成。GPS 模塊負責GPS 數據接收。公交車在行進過程中, GPS 模塊的實測信息同已存儲的位置信息進行比較即可進行自動報站, 無需人為干預, 還可實現在固定位置播放某些特定信息, 如乘車提示、廣告信息等。GSM 模塊用于公交車與調度室之間的數據通訊, 實現公交車的聯合調度, 實現調度中心對公交車的調度功能。
語音播報模塊負責語音播放, 提供進出站以及提示信息等語音的播放。單片機模塊控制按鍵掃描以及LCD 顯示。
1.1 硬件設計
系統硬件部分主要由S3C2410 ARM9 開發(fā)板、GPS⁄GSM 模塊、功放模塊、顯示模塊、語音播放模塊及相應的外圍電路組成。GPRS 模塊和GPS 模塊均通過RS232( 串口) 與ARM 處理器相連, 而LCD( 液晶顯示器) 模塊則由單片機控制通過串口與ARM 通訊, 語音播放模塊通過IIS ( Inter IC Sound) 、SPI( 串行外設接口) 與ARM 通訊。硬件連接方式如圖1 所示。
圖1 系統硬件結構
GSM⁄GPS 模塊采用SIMCOM 公司的GPS⁄GSM 模塊, 該模塊是一款四頻GSM⁄GPRS( 通用分組無線服務技術) 無線模塊, 同時支持SiRF Star III AGPS 技術。
GSM⁄GPRS 與AGPS 技術的整合使得該模塊可以滿足GPS跟蹤、導航、車輛船舶等設備和資產的監(jiān)控管理以及其他GPS 的應用。鍵盤掃描和屏幕顯示由單片機做數據處理。鍵盤顯示板主要實現鍵盤掃描、液晶屏幕的顯示并與ARM處理器模塊進行通訊。硬件系統整體框圖如圖2所示。
圖2 系統組成
1.2 軟件總體設計
系統的主要功能由ARM 控制, 采用C 語言進行編程, 采用多線程處理相關功能模塊。執(zhí)行相關過程如下: 系統初始化完成后, 依據GPS 定位信息和系統存儲的線路信息計算位置、報站和讀取相關信息, 并由ARM 控制車內的顯示模塊進行顯示、語音播放以及向數據中心進行數據傳送。 2 設計實現 2.1 系統初始化 在系統運行之前, 必須用軟件程序對各部分進行初始化。初始化包括以下幾個部分:
ARM 以及系統初始化;
顯示按鍵模塊初始化;
外部器件、接口初始化: 主要是GPS、GPRS和語音芯片等設備的初始化;
軟件系統的初始化: 設置全局變量、指針和數組、數據結構以及公交信息初始化。
系統軟件部分主要是在主程序中檢測GPS 信息, 確定公交車當前的地理位置, 然后決定是否播放語音信息。同時還需要實現按鍵所要求的功能, 如切換到手動播報等。本系統的軟件部分開發(fā)工作是基于Linux 開發(fā)環(huán)境實現的。根據系統要完成的功能和各個模塊的運行情況, 主程序部分采用了多線程以及消息隊列的方式, 可以及時接收GPS 數據。
因為只使用GPRMC 幀的數據, 串行通訊的數據量不大, 通訊及數據處理過程比較快, 系統能夠及時播放報站及其他語音信息。公交車途經的各站點的經緯度數據需要預先測量好, 并存放到系統的數據區(qū), 作為對比參考使用。GPRS 的信息通過串行口傳遞, 采用查詢法, 按鍵也使用查詢方式進行接收, 以確定按下的是哪個功能鍵。軟件采用C 語言編寫, 調試成功后燒錄到Flash 中, 實現脫機運行。
2.2 GPS 模塊
由于該GPS 模塊設置信息掉電丟失, 在每次系統啟動時均要對該GPS 模塊進行初始化。將模塊設置成每秒鐘輸出一次GPS 信息。
系統啟動后, 模塊接收GPS 信息, 然后解析出GPS 信息, 根據解析出來的經緯度信息與數據區(qū)中存儲的站點信息比較, 計算出實際距離。如果距離到達閥值時, 啟動GPS 報站中斷。
該GPS 模塊接收模塊遵循NMEA.0183 協議, 可以輸出多種格式的數據幀, 均以“MYM”開頭。輸出數據采用的是ASCII 碼字符, 內容包含了緯度、經度、速度、日期、航向及衛(wèi)星狀況等信息。幀格式達10 余種, 該系統所使用的僅限于$ GPRMC 定位數據幀格式。
系統啟動后, 通過串口對GPS 模塊進行設置,由于系統對實時性要求不高, 將GPS 設置為每秒鐘輸出一次RMC 數據。提取GPRMC 語句的思路是設置一個數據緩沖區(qū), 把接收到的GPS 數據都放入這個緩沖區(qū), 當緩沖區(qū)滿了的時候就在緩沖區(qū)中查找是否接受到GPRMC 定位語句, 如果沒有接收到則重新接收GPS 數據。如果找到了GPRMC 定位語句則還要判斷該語句在緩沖區(qū)中的位置離緩沖區(qū)的最大字節(jié)數是否大于62個字節(jié)( 因為本程序中需要的GPRMC 定位語句所包含的字節(jié)數為62) , 然后通過多程序提取相關經緯度、時間和速度等信息并通過數據處理線程進行相關處理。系統工作流程如圖3 所示。
圖3 系統工作流程
2.3 GPRS 無線通訊模塊
由于GSM 模塊內嵌TCP⁄IP 協議, 可以直接調用AT 命令與服務器通過TCP、UDP 通訊。無線通訊分為上行數據轉換模塊和通訊模塊2 個模塊。
上行數據轉換模塊的主要功能是把接收到的GPS 數據或是相關的狀態(tài)信息轉換成約定好的數據格式以便同主信息中心的通訊。該模塊會判斷需要轉換的數據是GPS 數據信息還是相關狀態(tài)信息或是二者都有, 然后選擇相應的轉換程序。由上面的介紹可以知道接收到的GPS 數據都是順序存放在數據緩沖區(qū)當中的, 需要什么數據就到緩沖區(qū)中相應的位置提取就可以了。數據都是以字符形式存放的, 所以實際要用的時候必須先轉換成整形數據。
下行數據轉換模塊的功能與上行數據轉化模塊的功能相反, 它將主信息中心發(fā)送的命令進行識別后發(fā)送給車載終端, 并通知用戶界面模塊顯示。
通訊模塊的主要任務是完成車載終端與監(jiān)控中心的通訊, 它既可以通過GPRS 網絡實現與主信息中心的無線通訊。如果車載終端與上位機的距離隔的很遠可以直接通過GPRS 網絡與監(jiān)控中心進行連接, 而且通過SIM548C 模塊連接GPRS 網絡與監(jiān)控中心連接也非常方便, 只需向GPRS 模塊發(fā)送幾條AT 命令就可以了, 但是監(jiān)控中心必須有因特網的固定IP。啟動車載終端的同時SIM548C 模塊也會被啟動, 這是模塊會自動連接上GPRS 網絡進入命令模式。撥號成功以后就連接上了GPRS 網絡了, 然后對與SIM548C 模塊連接的串口進行讀寫操作就可以實現與監(jiān)控中心的無線通訊。
在測試中發(fā)現, 由于無線信號存在差異, 在某些網絡信號較差的地方容易與主信息中心失去網絡連接。為解決這一問題, 在系統中采用多線程監(jiān)視網絡連接狀態(tài), 一旦失去網絡連接, 立即與主信息中心重新連接。
2.4 語音播放模塊
語音播放采用飛利浦SPI 接口音頻芯片, 驅動為Linux 下的聲卡設備。通過S3C2410 SPI 控制音頻芯片, 通過IIS 傳送音頻數據, 最終將音頻芯片驅動成系統下的標準聲卡設備。
在語音報站時, 需要為公交車上的喇叭提供語音信號, 功放電路采用MAXIM 功放模塊, 該功放模塊采用單端輸入的方式, 輸入的負端直接接地。
該功放模塊為單聲道⁄立體聲、D 類音頻功率放大器, 能向8 立體聲負載提供高達2 × 21W 功率,或向單聲道4 負載提供高達1 ×42 W 功率, 效率高達87%。該功放模塊兼具D 類放大器的效率和AB 類放大器的性能, 無需大體積散熱器, 降低了功耗。該功放模塊采用+ 10~ + 18 V 單電源供電, 可驅動BTL 配置的負載。
用于播放報站、廣告和信息等語音的播放器選用基于開源的播放器, 在源代碼的基礎上進行修改,形成適合播放短小音頻的播放線程, 為系統體統音頻播放功能。
2.5 顯示按鍵模塊
鍵盤掃描和屏幕顯示由51 單片機做數據處理。
鍵盤顯示板主要實現鍵盤掃描、液晶屏幕的顯示并與ARM 處理器模塊進行通訊。
顯示按鍵模塊通過串口與數據處理模塊通訊,將掃描到按鍵發(fā)送給數據處理模塊進行處理, 同時接受數據處理模塊的顯示數據命令, 在相應的液晶屏幕位置顯示數據, 從而實現車載報站系統的人機交互功能, 實現公交車的調度管理功能。
基于GPS 和GPRS 的公交自動報站系統, 具定位功能, GPRS 無線通訊功能, 能實現自動報站、調度、信息收發(fā)和中心通訊, 具有USB 接口等優(yōu)點。
大大降低了公交員工的勞動強度, 提高了公交管理的科學性。
3 結束語
公交車載GPS 智能報站系統采用GPS 定位技術、無線通訊技術, 具有體積小、播報準確等特點。
能實現自動報站、調度、信息收發(fā)和中心通訊等功能。通過USB 接口可使系統存儲多條線路, 方便公交車臨時更換運營線路; 利用按鍵和廣播等作為人機交互界面, 方便乘客接收相關信息; 可提供廣告等增值業(yè)務。系統為建立完整的智能公交調度管理系統提供了關鍵的公交車載系統。