公交車載GPS智能報站系統設計
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 中, 實現脫機運行。
評論