基于GPRS的城市交通控制數據通信系統研究
3 軟件實現
3.1 智能交通信號機應用軟件設計
智能交通信號機應用軟件主要由主程序和GR47無線通信等功能模塊組成。主程序主要完成系統初始化(包括定時器初始化、串口初始化、端口初始化等)、交通信號機數據的讀取以及與GR47無線通信等。GR47無線通信模塊主要完成通信模塊初始化、分組數據協議PDP(Packet Data Protocol)的上下文激活、TCP/IP建立連接、GPRS數據讀取/發送、SMS讀取/發送、GRPS網絡狀態檢測等處理。在應用軟件的開發過程中,采用C語言和匯編語言混合編程,選用ARM ADS(ARM Developer Suite)集成開發工具。源程序在PC機通過編輯、交叉編譯、交叉鏈接生成ELF格式的目標映像后,最后通過JTAG接口將目標映像下載到目標開發板上的FLASH中。軟件流程如圖3所示。
GPRS數據傳輸是GR47模塊的核心功能,在通過GPRS網絡進行TCP/IP連接之前,先要在GR47模塊內部建立一個數據帳戶,指出正確的接入服務商APN名稱。智能交通信號機利用固化在FLASH存儲器中的GRPS通信服務器IP地址訪問監控中心的通信服務器,可通過AT+CGDCONT指令實現,例如:AT+CGDCONT=1,“IP”,“CMNET”。
3.2 GPRS通信服務器軟件設計
監控中心通信服務器的主要功能在于實現智能交通信號機和監控中心(數據庫服務器以及監控工作站)之間的通信。通信服務器為監控中心提供內部以太網的接口并監控網絡的通信狀況,支持TCP/IP協議和PPP協議。通信服務器軟件采用WinSocket編程,主要創建三種Socket類,即監聽Socket(CListenSocket)、數據接收與處理Socket類(CServerSocket)和局域網內通信Socket類(CUDPSocket)。CListSocket定時監聽相應的端口,接收智能交通信號機的連接請求,創建一個Socket線程并完成TCP鏈路的建立與維護,配合ADO數據庫技術實現數據接收、存儲及監控等功能,然后把原始套接字放回監聽狀態繼續監聽。對于每一個智能交通信號機,都需要有一個接收線程來處理數據的接收。因此,需要在內存中建立一個動態表,以維護數據接收線程句柄和智能交通信號機之間的對應關系。產生的新線程中包含CServer-Socket,負責數據接收、處理和發送工作。整個通信服務器軟件結構如圖4所示。
通過在實驗車輛上安裝該智能交通信號機,實現GPRS網絡與通信服務器的實時通信與控制,本系統運行穩定,系統響應時間≤2s。本系統采用GPRS無線接入方式,設計了智能交通信號機,實現了城市交通控制數據通信,解決了傳統的有線通信方式在網絡覆蓋范圍、擴展性、實時性和可靠性等方面的問題,降低了運營成本,會有廣泛的市場應用前景。
參考文獻:
[1].ARM7TDMIdatasheethttp://www.dzsc.com/datasheet/ARM7TDMI_139812.html.
[2].GPRSdatasheethttp://www.dzsc.com/datasheet/GPRS_1594650.html.
[3].GR47datasheethttp://www.dzsc.com/datasheet/GR47_1135738.html.
[4].RS232datasheethttp://www.dzsc.com/datasheet/RS232_585128.html.
[5].SSTdatasheethttp://www.dzsc.com/datasheet/SST_1180824.html.
[6].SST39VF160datasheethttp://www.dzsc.com/datasheet/SST39VF160_1045221.html.
[7].A20datasheethttp://www.dzsc.com/datasheet/A20_1063905.html.
[8].MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_1074207.html.
數字通信相關文章:數字通信原理
評論