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