石增辉,亓富军,牟 军,赵中华
(国网山东临沂供电公司,山东 临沂276003)
近年来,无线GPRS通信技术的发展,使得电力系统的设备通信更加便利,特别是在配网领域,设备厂商把GPRS模块嵌入到各种仪器仪表中,如配电自动化监控终端、多功能电能表、抄表系统和用电负荷监控等,实现了各种自动化监控管理系统功能。
GPRS无线传输系统应用范围非常广泛,是一种新的数据承载业务系统,支持TCP/IP协议,可以与分组数据网直接互通,非常适合突发的小流量数据传输业务。
本文设计的GPRS无线通信系统,包含无线模块和无线通信服务器软件。无线模块运行实时多任务操作系统和UDP、TCP/IP核,采用工业级的GPRS模块,与配电自动化监测终端采用串口连接;无线通信服务器软件与模块采用UDP通信,通过TCP端口与配电监控后台(主站系统)通信,实现具体的自动化功能应用。
GPRS即通用无线分组业务,是以运营商传输的数据量而不是连接时间为基准来计费,从而令每个用户的服务成本更低,其采用与GSM相同的频段、频带宽度、突发结构、无线调制标准、跳频规则以及相同的TDMA帧结构。
GPRS引入了两个新的网络节点:GPRS服务支持节点(SGSN)和网关支持节点(GGSN)。GGSN支持与外部分组交换网的互通,并经由基于IP的GPRS骨干网和SGSN连通。图1给出了GPRS与数据中心连接原理框图。
图1 无线GPRS通信原理图
GPRS终端通过接口从客户系统取得数据,处理后的GPRS分组数据发送到GSM基站。GGSN对分组数据进行相应的处理,再发送到目的GPRS终端。
GPRS无线通信模块主要由嵌入TCP/IP的单片机(RABBIT2000)、GPRS模块、SIM 卡座、外部接口和扩展数据存储器等部分组成。软件由嵌入式实时操作系统uCOSII和Dynamic C的开发环境提供的IP和PPP协议库来实现。图2是模块的硬件框图。
图2 无线GPRS模块硬件原理图
RABBIT2000控制GPRS模块接收和发送信息,通过标准RS232串口和外部控制器(比如数据采集端)进行数据通信,用软件实现中断,完成数据的转发。
单片机采用美国ZWORD公司的RABBIT2000。该芯片具有很强的数据处理能力和灵活的IO,工作电压2.7~5 V,温度-40°C~+85°C,时钟频率最高30 MHz,满足工业要求的温度和电压规范,1 M Byte的C代码空间,最大可达到50 000行的程序,四级有优先级的中断系统保证高速中断反应,六个可编程的定时器,优秀的浮点运算能力。
其主要实现过程如下:
(1)通过AT指令初始化GPRS无线模块,使之附着在GPSR网络上,获得网络运营商动态分配的GPRS终端IP地址,并与目的控制中心建立连接。
(2)通过串口C扩展标准串口和测控设备(例如配网监控终端)连接。
(3)接收来自GPRS网络的数据,进行数据简单处理(去掉心跳或协议头部)后,透明转发到串口C,接收来自串口C的数据,进行简单数据处理(增加协议头部)后,发送到GPRS网络。
GPRS模块采用Simens公司生产的MC35模块。GSM基带处理器是核心部件,其作用相当于一个协议处理器,用来处理外部系统通过串口发送AT指令。
本设计利用嵌入式实时操作系统uCOSII,采用Dynamic C的开发环境提供的IP和PPP协议库来实现网络通信。系统的编程、调试、下载都在ZWORD公司的Dynamic C的开发环境中进行。Dynamic C是ZWORD公司的一个集成化的开发环境,采用C语言进行开发。开发包内集成了各种网络协议、硬件操作、硬件驱动等库函数。
多数基于GPRS网络的应用所使用的GPRS模块内建有TCP/IP协议,但是,要实现灵活的通信编程,推荐不采用模块内建的协议。我们采用在单片机系统中嵌入TCP/IP和PPP协议,便于构建灵活的TCP或UDP服务,实现模块的GPRS数据分组业务功能。
考虑到无线GPRS网络通信的特点,本设计采用了非可靠连接、传输开销较小的IP+UDP协议来实现GPRS通信。
如图3所示,从软件功能上划分为以下几个模块:
图3 无线模块软件框图
(1)系统初始化模块主要完成初始化功能,包括初始化定时器、串行接口、各端口的状态,为其它模块运行提供初始的数据。
(2)无线 MODEM通信模块主要完成无线 MODEM的拨号,与ISP的协商,取得模块通信IP地址。
(3)无线通信服务器通信模块主要完成与无线通信服务器UDP通信,维持通信链路,发送心跳信息,接收数据中心的数据,放入下行缓冲区,把上行缓冲区的数据传送到数据中心。
(4)测控终端通信模块监视串口数据,接收串口数据,发送到上行缓冲区,把下行缓冲区数据发送到串口。
(5)程序下载模块主要完成程序下载功能,利用与PC端软件配合,从PC端软件接收程序数据,并下载到单片机内。
(6)参数设置模块主要完成系统参数设定功能,如各串行接口的参数、数据中心设置、模块参数设置等。
无线通信服务器的设计是实现GPRS信息的接收和转发。设计语言采用C++编程语言,C++语言应用灵活,功能强大,并对网络编程有强大的支持;为了无线通信服务器的可靠性和安全性考虑,设计平台采用LINUX和UNIX。设计程序采用了多进程(通道通信)和多线程(无线模块通信)的技术,保证数据处理的实时性,如图4所示。
无线通信服务器的主要功能是接收GPRS无线模块的数据,并转发给后台系统,将后台系统的命令下发给无线模块。它起到一个管理无线模块连接和通信数据转发的作用,相当于主站系统数据采集与配网终端之间路由功能。其主要功能如下:
(1)建立TCP服务端:侦听后台系统TCP连接请求,将无线模块的数据信息转发到后台系统,同时将后台系统的下行命令传送给无线模块。
图4 通道设计图
(2)接受连接请求:无线服务器可以同时接受多个后台系统的连接请求,并建立通信连接;对无线模块上送的数据,向已建立连接的后台系统同时转发;无线服务器也转发多个后台系统的下行命令。
(3)通道状态监视:无线服务器把与无线模块的连接划分成多个通道,可以监视通道状态。
(4)模块状态监视:按通道显示模块名称、模块所属通道、模块状态(登陆、离线)。
(5)模块信息显示:可显示无线模块的ID号、IP地址、端口号、登录时间等。
(6)按照通道记录无线服务器运行过程中的上行、下行报文。
本文采用嵌入式TCP/IP协议,通过8位单片机实现GPRS业务的数据传输功能,具有外围电路少,电路简单,系统成本低等优点。通过标准RS232串口和配网终端控制器连接,通用性强。无线通信软件使用C/C++语言编写,采用UNIX/LINUX平台和多进程多线程通信技术,达到数据处理可靠性和实时性要求。在现场实际运行中,开通10个通道以上,共连接1 500台无线通信的配网终端,系统运行稳定可靠,符合设计要求。
[1] 韩斌杰.GPRS原理及其网络优化[M].北京:清华大学出版社,2008.
[2] 珠海许继电气有限公司.无线通信服务器使用说明书[Z].2007.
[3] 珠海许继电气有限公司.无线通信模块使用说明书[Z].2007.