基于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.
数字通信相关文章:数字通信原理
评论