移動通訊技術和GPS技術相結合設計公交車智慧報站系統
近年來,隨著城市公交事業的迅速發展,國內公交車報站的方式已經有了很大改善,由傳統的售票員喊話報站逐漸變為駕駛員使用報站器手動報站。
雖然手動報站器使用比較方便,但是因為駕駛員需要在保證安全駕駛的前提下進行報站,所以經常出現報站不及時,甚至錯報、漏報的現象,而且讓駕駛員在駕駛過程中進行報站也存在安全隱患。採用自動報站的方式可以大大減輕駕駛員的工作量,促進公交系統的現代化程序。要實現自動報站,需要實時測出公交車的位置,以確定公交車是否已經到達站點。利用GPS可以確定公交車的地理位置,只需把當前位置同公交站點的位置資料(經、緯度)相比較,就可以知道公交車是否到達站點,使得報站系統具有一定的智慧性。這種基於GPS的智慧報站系統能夠杜絕駕駛員駕駛過程中因兼顧報站器而帶來的隱患。特別適合因汽車行業高速發展而導致交通問題日益嚴峻的我國國情,還可以在重點線路上加入對城市景點風貌的相關介紹。該系統在GPS導航領域和商業領域都有著非常大的潛力,具有廣闊的發展前景。
1 系統方案
基於GPS的公交車智慧報站系統是移動通訊技術和GPS技術的結合,整個系統由S3C24l0ARM9(進階精簡指令集機器)開發板、SIM548CGPS/GPRS模組、語音播報模組、AT89S52微控制器以及OCMJ5X10B的LED(發光二極體)背光寬溫黃綠屏等器件組成。GSM/GPS模組由GPS分模組與GSM(全球移動通訊系統)分模組組成。GPS模組負責GPS資料接收。公交車在行進過程中,GPS模組的實測資訊同已儲存的位置資訊進行比較即可進行自動報站,無需人為干預,還可實現在固定位置播放某些特定資訊,如乘車提示、廣告資訊等。GSM模組用於公交車與排程室之間的資料通訊,實現公交車的聯合排程,實現排程中心對公交車的排程功能。
語音播報模組負責語音播放,提供進出站以及提示資訊等語音的播放。微控制器模組控制按鍵掃描以及LCD顯示。
1.1 硬體設計
系統硬體部分主要由S3C2410ARM9開發板、GPS/GSM模組、功放模組、顯示模組、語音播放模組及相應的外圍電路組成。GPRS模組和GPS模組均通過RS232(串列埠)與ARM處理器相連,而LCD(液晶顯示器)模組則由微控制器控制通過串列埠與ARM通訊,語音播放模組通過IIS(InterICSound)、SPI(序列外設介面)與ARM通訊。硬體連線方式如圖1所示。

圖1 系統硬體結構
GSM/GPS模組採用SIMCOM公司的GPS/GSM模組,該模組是一款四頻GSM/GPRS(通用分組無線服務技術)無線模組,同時支援SiRFStarIIIAGPS技術。
GSM/GPRS與AGPS技術的整合使得該模組可以滿足GPS跟蹤、導航、車輛船舶等裝置和資產的監控管理以及其他GPS的應用。鍵盤掃描和螢幕顯示由微控制器做資料處理。鍵盤顯示板主要實現鍵盤掃描、液晶螢幕的顯示並與ARM處理器模組進行通訊。硬體系統整體框圖如圖2所示。

圖2 系統組成
1.2 軟體總體設計
系統的主要功能由ARM控制,採用C語言進行程式設計,採用多執行緒處理相關功能模組。執行相關過程如下:
系統初始化完成後,依據GPS定位資訊和系統儲存的線路資訊計算位置、報站和讀取相關資訊,並由ARM控制車內的顯示模組進行顯示、語音播放以及向資料中心進行資料傳送。
2 設計實現
2.1 系統初始化
在系統執行之前,必須用軟體程式對各部分進行初始化。初始化包括以下幾個部分:
ARM以及系統初始化;
顯示按鍵模組初始化;
外部器件、介面初始化:主要是GPS、GPRS和語音晶片等裝置的初始化;
軟體系統的初始化:設定全域性變數、指標和陣列、資料結構以及公交資訊初始化。
系統軟體部分主要是在主程式中檢測GPS資訊,確定公交車當前的地理位置,然後決定是否播放語音資訊。同時還需要實現按鍵所要求的功能,如切換到手動播報等。本系統的軟體部分開發工作是基於Linux開發環境實現的。根據系統要完成的功能和各個模組的執行情況,主程式部分採用了多執行緒以及訊息佇列的方式,可以及時接收GPS資料。
因為只使用GPRMC幀的資料,序列通訊的資料量不大,通訊及資料處理過程比較快,系統能夠及時播放報站及其他語音資訊。公交車途經的各站點的經緯度資料需要預先測量好,並存放到系統的資料區,作為對比參考使用。GPRS的資訊通過序列口傳遞,採用查詢法,按鍵也使用查詢方式進行接收,以確定按下的是哪個功能鍵。軟體採用C語言編寫,除錯成功後燒錄到Flash中,實現離線執行。
2.2 GPS模組
由於該GPS模組設定資訊掉電丟失,在每次系統啟動時均要對該GPS模組進行初始化。將模組設定成每秒鐘輸出一次GPS資訊。
系統啟動後,模組接收GPS資訊,然後解析出GPS資訊,根據解析出來的經緯度資訊與資料區中儲存的站點資訊比較,計算出實際距離。如果距離到達閥值時,啟動GPS報站中斷。
該GPS模組接收模組遵循NMEA.0183協議,可以輸出多種格式的資料幀,均以MYM開頭。輸出資料採用的是ASCII碼字元,內容包含了緯度、經度、速度、日期、航向及衛星狀況等資訊。幀格式達10餘種,該系統所使用的僅限於$GPRMC定位資料幀格式。
系統啟動後,通過串列埠對GPS模組進行設定,由於系統對實時性要求不高,將GPS設定為每秒鐘輸出一次RMC資料。提取GPRMC語句的思路是設定一個數據緩衝區,把接收到的GPS資料都放入這個緩衝區,當緩衝區滿了的時候就在緩衝區中查詢是否接受到GPRMC定位語句,如果沒有接收到則重新接收GPS資料。如果找到了GPRMC定位語句則還要判斷該語句在緩衝區中的位置離緩衝區的最大位元組數是否大於62個位元組(因為本程式中需要的GPRMC定位語句所包含的位元組數為62),然後通過多程式提取相關經緯度、時間和速度等資訊並通過資料處理執行緒進行相關處理。系統工作流程如圖3所示。

圖3 系統工作流程
2.3 GPRS無線通訊模組
由於GSM模組內嵌TCP/IP協議,可以直接呼叫AT命令與伺服器通過TCP、UDP通訊。無線通訊分為上行資料轉換模組和通訊模組2個模組。
上行資料轉換模組的主要功能是把接收到的GPS資料或是相關的狀態資訊轉換成約定好的資料格式以便同主資訊中心的通訊。該模組會判斷需要轉換的資料是GPS資料資訊還是相關狀態資訊或是二者都有,然後選擇相應的轉換程式。由上面的介紹可以知道接收到的GPS資料都是順序存放在資料緩衝區當中的,需要什麼資料就到緩衝區中相應的位置提取就可以了。資料都是以字元形式存放的,所以實際要用的時候必須先轉換成整形資料。
下行資料轉換模組的功能與上行資料轉化模組的功能相反,它將主資訊中心傳送的命令進行識別後傳送給車載終端,並通知使用者介面模組顯示。
通訊模組的主要任務是完成車載終端與監控中心的通訊,它既可以通過GPRS網路實現與主資訊中心的無線通訊。如果車載終端與上位機的距離隔的很遠可以直接通過GPRS網路與監控中心進行連線,而且通過SIM548C模組連線GPRS網路與監控中心連線也非常方便,只需向GPRS模組傳送幾條AT命令就可以了,但是監控中心必須有因特網的固定IP。啟動車載終端的同時SIM548C模組也會被啟動,這是模組會自動連線上GPRS網路進入命令模式。撥號成功以後就連線上了GPRS網路了,然後對與SIM548C模組連線的串列埠進行讀寫操作就可以實現與監控中心的無線通訊。
在測試中發現,由於無線訊號存在差異,在某些網路訊號較差的地方容易與主資訊中心失去網路連線。為解決這一問題,在系統中採用多執行緒監視網路連線狀態,一旦失去網路連線,立即與主資訊中心重新連線。
2.4 語音播放模組
語音播放採用飛利浦SPI介面音訊晶片,驅動為Linux下的音效卡裝置。通過S3C2410SPI控制音訊晶片,通過IIS傳送音訊資料,最終將音訊晶片驅動成系統下的標準音效卡裝置。
在語音報站時,需要為公交車上的喇叭提供語音訊號,功放電路採用MAXIM功放模組,該功放模組採用單端輸入的方式,輸入的負端直接接地。
該功放模組為單聲道/立體聲、D類音訊功率放大器,能向8立體聲負載提供高達221W功率,或向單聲道4負載提供高達142W功率,效率高達87%。該功放模組兼具D類放大器的效率和AB類放大器的效能,無需大體積散熱器,降低了功耗。該功放模組採用+10~+18V單電源供電,可驅動BTL配置的負載。
用於播放報站、廣告和資訊等語音的播放器選用基於開源的播放器,在原始碼的基礎上進行修改,形成適合播放短小音訊的播放執行緒,為系統體統音訊播放功能。
2.5 顯示按鍵模組
鍵盤掃描和螢幕顯示由51微控制器做資料處理。
鍵盤顯示板主要實現鍵盤掃描、液晶螢幕的顯示並與ARM處理器模組進行通訊。
顯示按鍵模組通過串列埠與資料處理模組通訊,將掃描到按鍵傳送給資料處理模組進行處理,同時接受資料處理模組的顯示資料命令,在相應的液晶螢幕位置顯示資料,從而實現車載報站系統的人機互動功能,實現公交車的排程管理功能。
基於GPS和GPRS的公交自動報站系統,具定位功能,GPRS無線通訊功能,能實現自動報站、排程、資訊收發和中心通訊,具有USB介面等優點。
大大降低了公交員工的勞動強度,提高了公交管理的科學性。
3 結語
公交車載GPS智慧報站系統採用GPS定位技術、無線通訊技術,具有體積小、播報準確等特點。
能實現自動報站、排程、資訊收發和中心通訊等功能。通過USB介面可使系統儲存多條線路,方便公交車臨時更換運營線路;利用按鍵和廣播等作為人機互動介面,方便乘客接收相關資訊;可提供廣告等增值業務。系統為建立完整的智慧公交排程管理系統提供了關鍵的公交車載系統。