公交車載GPS智能報站系統(tǒng)設(shè)計(jì)
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)存儲的線路信息計(jì)算位置、報站和讀取相關(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)行初始化。初始化包括以下幾個部分:
ARM 以及系統(tǒng)初始化;顯示按鍵模塊初始化;外部器件、接口初始化: 主要是GPS、GPRS和語音芯片等設(shè)備的初始化;軟件系統(tǒng)的初始化: 設(shè)置全局變量、指針和數(shù)組、數(shù)據(jù)結(jié)構(gòu)以及公交信息初始化。
系統(tǒng)軟件部分主要是在主程序中檢測GPS 信息, 確定公交車當(dāng)前的地理位置, 然后決定是否播放語音信息。同時還需要實(shí)現(xiàn)按鍵所要求的功能, 如切換到手動播報等。本系統(tǒng)的軟件部分開發(fā)工作是基于Linux 開發(fā)環(huán)境實(shí)現(xiàn)的。根據(jù)系統(tǒng)要完成的功能和各個模塊的運(yùn)行情況, 主程序部分采用了多線程以及消息隊(duì)列的方式, 可以及時接收GPS 數(shù)據(jù)。
因?yàn)橹皇褂肎PRMC 幀的數(shù)據(jù), 串行通訊的數(shù)據(jù)量不大, 通訊及數(shù)據(jù)處理過程比較快, 系統(tǒng)能夠及時播放報站及其他語音信息。公交車途經(jīng)的各站點(diǎn)的經(jīng)緯度數(shù)據(jù)需要預(yù)先測量好, 并存放到系統(tǒng)的數(shù)據(jù)區(qū), 作為對比參考使用。GPRS 的信息通過串行口傳遞, 采用查詢法, 按鍵也使用查詢方式進(jìn)行接收, 以確定按下的是哪個功能鍵。軟件采用C 語言編寫, 調(diào)試成功后燒錄到Flash 中, 實(shí)現(xiàn)脫機(jī)運(yùn)行。
評論