摘要:为了适应电力系统行业在电能管理远程化和自动化上不断发展,提出了GPRS远程电能管理终端系统的设计方法。利用GPRS模块MC39I和MSP430FG4619单片机实现了GPRS远程电能管理终端系统。重点介绍了GPRS模块MC39I与单片机的接口设计以及接入Internet所必需的各种网络协议栈的实现方法。本文利用GPRS技术在无线数据传输中的优势,通过在单片机中嵌入PPP和TCP/IP协议,实现了采集终端与管理主站之间的数据通讯。
关键字:通用分组无线业务 MC39I PPP 协议 TCP/IP协议 MSP430FG4619
The GPRS interface design of remote Terminal of Power Management base on MC39I
Abscract: To suit the development of automatization and telecommucation of power management in electric system,we advanced the design of long_distance Terminal of Power Management based on the GPRS.We realized long_distance Terminal of Power Management with the MC39I GPRS module and MSP430FG4619 microprocessor.The focus is on how to realize the interface between MC39I and microprocessor,and the drive MC39I connecting to ether Intemet with protocols.This essay used the advantage of GPRS technology in the wireless communication,realized the data communication between Gather Terminal and Main Station by embedding the PPP and TCP/IP protecol in the MSP430FG4619.
Keyword: GPRS MC39I PPP protecol TCP/IP protecol MSP430FG4619
目前电能远程管理系统大多仍沿用有线传输方式,线路维护量很大。原始的电能管理方式耗费大量的人力物力,又无法避免人工抄写和计算带来差错,且对数据的分析处理也严重滞后,不利于及时发现问题、解决问题。传统的远程电能管理系统采用电话线和调制解调器(MODEM)传送数据和控制信号,其维护成本高,扩展性能差,且MODEM长时间带电易出现不稳定的情况,往往造成整个系统无法正常工作[10]。随着无线通信的发展,远程无线自动管理已成为发展趋势。采用现有的GPRS/GSM 无线数字网作为电能自动远程管理系统的通讯方式,是一种低成本、快速建网的选择。GPRS支持TCP/IP业务,理论上可以提供高171.2Kbit/s的传输率,这就使强大的实时在线的数据传输成为可能,并且信息管理中心的服务器只需要普通地接入因特网的主机,大大节省了服务器端的开销[6]。另外,随着新的GPRS modem模块的出现,使系统的硬件接口变得简单。由于现有的GPRS模块中大多无TCP/IP协议栈和PPP协议,虽然计算机能比较方便地应用它上网,但无TCP/IP协议栈和PPP协议的终端设备,却很难应用它的数据分组业务与其他设备进行通信。通过在单片机系统中嵌入按TCP/IP和PPP协议标准编制的程序,就能使终端设备方便地应用GPRS Modem的数据分组业务[3]。
2 终端的方案原理
GPRS远程电能管理系统由电能管理主站和数据采集终端组成。用户的多功能电表通过485总线连接到数据采集终端,数据采集终端通过串口与GPRS通信模块相连,终端上电或者复位后进行GPRS设置后拨号,协商成功将得到移动分配的IP地址,主站可以发送采集所要监测数据的指令等,终端接收后解释并作相应动作,将采集到的数据放入输出队列中,定时或者实时将数据打包通过无线链路发送,数据经过TCP/IP,PPP协议封装后发送至GPRS网络[8]。GPRS服务节点、支持节点会作相应协议变换且重新封装,根据其目的IP地址选择适当路由进行传输,通过GPRS数据网络和internet网络将数据传送至电能管理主站。相反地,数据中心也可以通过英特网传送分组数据,再通过GPRS网络把数据传送到采集终端,同时可以发送各种指令到现场终端设备,以控制终端的运行。其中数据管理主站服务器由接入互联网的一台PC机和上位机应用软件组成。
数据传输的方案采用双工方式。数据采集终端收到电力管理中心发来的指令后,便将采集后放在单片机中的数据通过GPRS传送给管理主站[4]。 GPRS网络主要由在GSM基站中新增加的GPRS业务节点组成,并通过GPRS网关节点实现与Intemet互联。系统中,数据需先通过GPRS Modem与当地的GPRS业务节点进行无线通信,并进入GPRS网络,然后通过GPRS网关与Internet进行数据交互。
3 硬件组成
硬件系统的设计内容主要是指微处理
器MSP430FG4619与无线modem MC39I模块的接口,MSP430FG4619是TI公司最新推出的超低功耗特性的Flash型单片机, 该系列单片机具有丰富的内部资源,大容量片内flash和强大的信号处理能力,其性价比相当高,在系统设计、开发调试及实际应用上都表现出较明显的优势。片上资源的使用使得系统硬件设计简化,同时可以提高系统的可靠性。单片机完成整个系统所需的协议栈(PPP,IP/TCP)以及监测数据的采集、中心主站命令的解析等。
GPRS模块完成无线上网功能,选用SIEMENS公司的MC39I,其稳定性以及性价比较高。该模块需要自行设计外围电路。通过ZIF为用户提供SIM卡、RS一232、语音等接口。MC39I是双频GSM/GPRS无线模块,它支持标准ITU—T的AT命令集。支持全双工的数据通信,其具有低功耗、接口简单并支持GPRS CLASS 10以及SMS功能。[2]完成上网功能还需用户提供SIM卡以及天线。与MCU连接的部分除了Rx与Tx外还使用了DTR以及RTS两握手信号线。IGT为MC39I的启动触发引脚,EMERG作为MC39I的心跳输出引脚,用来检测MC39I是否正常工作。
4.1 通信网络协议的层次结构
由于数据是通过GPRS网络传输到因特网服务器上的,所以在由单片机和GPRS Modem组成的发送端所发送的数据要被封装成能被GPRS网络所接受的协议而且要把数据正确的传送到接受方,则GPRS网络需要对接受方和发送方的协议进行转换。为了简单描述系统的分层,采用了网络的OSI的七层模型。数据的发送方由应用层,传输层,网络层,链路层和物理层组成。GPRS网络作为数据传输的中间网络把数据传送到因特网上的服务器,主要起到了发送端和接收端网络路由的作用。作为数据的接受方也由应用层,传输层,网络层,链路层和物理层组成,但是和发送方的区别是两者物理层和链路层是不同的[7]。
(1)物理层:利用AT指令通过GPRS Modem拨号,正确反馈及应答后,一条物理通道即GPRS信道就在系统中的GPRS Modem和GPRS网络之间建立起来。
(2)数据链路层:PPP协议将原始的GPRS物理层连接改造成无差错的数据链路,系统将远程登录Internet,并得到GPRS网关分配的IP地址。
(3)网络层:采用IP协议作为网络层协议。IP协议将接入Intemet的具有不同IP地址的终端都联系起来。经过IP路由选择,可以实现系统与连在Internet上的任一IP终端进行数据交互。
(4)传输层:选择TCP作为传输层协议,为数据传输提供面向连接、可靠服务。
4.2 系统的软件设计
系统工作流程大致如下:上电复位后,首先进行工作频率等参数设置,然后进行拨号和PPP协商,包括LCP协商、PAP协商,以及IPCP协商得到系统动态IP,完成GPRS的Internet接入。MSP430FG4619将用户数据封装成TCP/IP包,再封装为PPP包,然后经串口发送给Modem,MC39I把其封装成GPRS分组数据传到GPRS网。包接收过程与之相反。所以软件系统的设计可以分为MC39I的初始化、登陆GPRS网关(GGSN)和与远程主机通过互联网的数据传输等三个方面[9]。
(1)MC39I的初始化,主要包括启动MC39I和驱动modem工作。启动MC39I主要是利用微处理器的I/O口控制MC39I的启动输入引脚IGT, 微处理器通过模拟IGT脉冲时序触发MC39I启动。
驱动modem是基于AT指令集完成的,AT指令是多种综合业务的集合,它通过“AT 相应控制命令”来驱动modem工作。微处理器MSP430FG4619通过串行接口将AT指令发送给MC39I,从而完成对MC39I的控制,主要步骤有:
1)测试模块。使用ATE0X0/r 关闭回显命令测试模块工作是否正常。
2)设置通信波特率。可以使用AT+IPR=38400命令,把波特率设为38400b/s或其它合适的波特率,默认的通信速度为9600b/s。
3)设置接入网关。通过AT+CGDCONT=1,IP,CMNET/r命令设置GPRS接入网关为移动梦网。
4)设置移动终端的类别。通过AT+CGCLASS=“B”设置移动终端的类别为B类,即同时监控多种业务;但只能运行一种业务,即在同一时间只能使用GPRS上网,或者使用GSM 的语音通信。
5)测试GPRS服务是否开通,使用AT+CGATT=1命令激活GPRS功能,使GPRS模块附着在网络上。如果返回OK,则GPRS连接成功;如果返回ERROR,则意味着GPRS失败。
6)然后发送指令ATD*99***1#/r建立拨号过程,模块会返回16进制的一些数据[6]。
(2)MC39I登陆GPRS网关(GGSN)的过程即为PPP的协商过程.它包括3个协议簇的协商,包括LCP(Linking Configuration Protoco1),PAP(PPP Authentication Protocol和NCP(Network Configuration Protocol协议的协商。首先发送LCP协商数据,协商PPP协议传输时用到的数据链路层数据格式;之后发送PAP认证数据,进行用户认证。认证有两种方式:CHAP(Challenge Handshake Authentication Protoco1)和PAP(Password Authentication Protoco1)。由于单片机的局限性我们采用PAP方式认证;最后是NCP数据的传输,进行网络层数据的协商。对于Internet接入来说,就是通过IPCP(IP Configuration Protoco1)协议进行IP层数据的协商,从而获取动态IP地址,动态网关和动态DNS地址[1]。
(3)数据传输部分主要是通过嵌入TCP/IP协议站,将PPP协商好的报文通过TCP/IP协议传输出去。IP协议主要完成寻址、定址、数据打包以及安排传输路径。TCP协议进行数据通信,它必须经过3个阶段:连接建立阶段、数据传输阶段以及关断连接阶段。为了便于进行各连接的管理,建立了一个数据结构tcp_Socket。该数据结构包含本地和远地的地址以及端口号,另外还记录连接所处的状态,可以很好地跟踪TCP状态机。根据TCP状态机所处的状态进行相应地动作以及状态的变迁,同样可以使用c语言中的开关语句来实现,这样会使TCP协议得以简化[5]。
5 结束语
随着无线通讯技术的不断发展,GPRS通信技术的应用越来越来广泛. 利用 GPRS 方式进行配电网通信,可以节约通信网络建设费用,且只需在原有配电设备的基础上加装无线模块,设备安装比较方便,所以具有投资少、易于安装、实时性强、传输速度高、适应性好等特点,能很好地实现配电远程监控。本文讨论的远程无线电能管理终端系统在MSP430FG4619单片机中实现了嵌入式TCP/IP协议,并通过对MC39I模块的控制,实现GPRS业务的数据传输功能,提高了数据传输的实时性、可靠性和数据传输的能力,具有外围器件少、电路简单、系统成本低等优点。为电力系统自动化领域的数据传输提供了一个可行的设计方案。