论文部分内容阅读
摘要:利用GPRS网络作为无线智能监控的信息传输平台是一种非常有效的方法,其原理简单,安全保密性高,不需要组建专用网络。GPRS网络覆盖面广,可实现全球无缝覆盖,与传统的监控系统相比有着独特的优势。文章给出了基于GPRS网络的机房智能监控系统的硬件结构组成和软件工作流程。整个系统主要由终端采集系统和GPRS模块构成。用于无人监守的通信机房远程监控。
关键词:通信机房智能监控;MC35;GPRS;MSP430F448
0引言
随着计算机与通信技术的高速发展,新技术和智能设备层出不穷,使无线方式智能监控的实现成为可能。本文设计了一种运用GPRS网络进行通信的机房监控系统,可广泛地用在智能家居防盗、远程监控、无人监守设备的维护及自动化生产线的监控等领域。传统的监控系统通常都是一个以计算机为中心的监测控制与调度系统。而本文所阐述的智能监控系统是以一种通用模块的形式来设计的,不仅可以用一般的PC机作为监控调度中心,而且可以直接使用手机作为监控中心。这样就无需编写监控中心的软件,而是通过GPRS网络便可完成对终端采集系统的通信和控制,从而达到监控的目的。如果配备GPRS无线Modem,无论何时何地,只要有一部可以接入Internet的电脑作为服务器就能实现对分布在各地的通信机房的监控;也能实现移动监控。
1系统总体结构
本文提出的机房监控系统由一个监控中心和若干个远端采集系统组成,如图1中虚线框中所示,并且通过中国移动的SIM卡接入GPRS网络。
具体的数据传输流程为:
(1)GPRS终端通过串行接口从客户系统中提取出用户信息;
(2)终端将用户信息以GPRS分组数据的形式发送到GSM基站;
(3)分组数据经SGSN封装后,发送到GPRS-~骨干网。
若PC机服务器以拨号方式接入Intemet,即PC机为移动GPRS内部网分配动态IP地址,则分组数据先发送到目的SGSN,再经GSM基站发送到与PC机相连的GPRS终端;若PC机以专线接入因特网具有固定IP地址,则将分组数据包经GGSN进行协议转换后,发送到Internet公共网络。
2终端采集系统组成
本系统的终端设备如图2所示。
一般情况下通信机房工作状态参数主要有温湿度、火警、烟雾、防盗及环境监测等。这些参数由各类传感器将采集到的模拟参数送入各自的信号调理单元进行放大、滤波处理。调理后的信号经MUX多路开关进入12位A/D转换器,最后送入MSP430F448单片机。由于参数较多,所以单片机通过控制MUX多路转换开关并采用定时循环方式采集各个传感器的参数;在异常时主动发出报警信息,同时存储数据信息。基于MSP430单片机的GPRS通信管理模块是服务器与现场控制器之间的数据传输桥梁,终端采集的参数通过GPRS网络能够及时传送到服务器计算机上,并同时启动视频取证摄像头,摄录异常时的环境动态。通讯管理模块主要由TI公司的16位低功耗单片机MSP430F448及外围电路构成。GPRS模块使用西门子公司的MC35。终端的GPRS无线上网主要通过单片机控制MC35来实现。单片机具有两个可编程串行通讯口,其中UARTO工作在同步通信方式下,和DSP的SPI接口相连,DSP工作在主机模式。F448工作在从机模式。UARTl通过MAX232电平转换芯片和MC35的串行数据口相连作为AT指令和数据的传输通道,单片机通过串行中断程序及时处理GPRS终端收到上位机指令,并及时传送给DSP。
F448带有液晶驱动模块,通过外接一个液晶显示器和键盘,用户就可以在现场手动进行各项参数的设置(包括视频取证摄像头的启动、存录);外接flash数据存储器AT45DB041,存储容量为528KB,主要作为收发数据的暂存器。
3 TCP/IP协议的实现
在本系统中,需要利用TCP/IP协议来完成GPRS业务数据的装帧和拆帧。我们采用在MSP430F448中嵌入TCP/IP协议栈UIP的方法来实现TCP/IP协议。协议数据通信分为三个阶段:
(1)建立连接阶段:使用OPEN命令帧控制MC35主动向服务器发起连接请求。服务器在本地侦听端口,收到终端的请求后进行回应并建立连接,进入数据收发状态。
(2)当连接建立后,就可以在这一条连接上进行数据收发。可以使用SEND命令帧控制MC35发送数据。发送时要指定连接号(由本地端口、目的IP地址和端口惟一确定)。
(3)数据发送完成后,不再需要这条连接时,系统就把连接断开。
TCP/IP协议栈UIP是一种免费公开源代码的小型TCP/IP协议栈,专门为8位和16位MCU编写。UIP完全用c语言编写,它采用一个事件驱动接口,通过调用应用程序响应事件。UIP的源代码只有几KB,RAM占用仅几百字节,但实现了TCP/IP协议集的四个基本协议:ARP地址解析协议,IP网络互联协议,ICMP网络控制报文协议和TCP传输控制协议。用户可以方便地调用接口函数来实现TCP/IP协议。
UIP与系统底层的协议包括与设备驱动的接口和系统定时器的接口两类。程序主循环中的底层接口程序循环,检查是否收到数据包和周期定时器是否超时溢出。TCP/IP协议程序中主控程序流程如图3所示。
UIP通过函数uip_input0和全局变量uip_buf,uip_len来实现与设备驱动的连接,在收发IP数据包时触发应用程序接口事件。应用程序事件l主要是对数据包的处理:当数据来自MCU时则进行TCP/IP打包然后将CPRS模块发送到Internet网络;当收到来自GPRS模块的数据时,则进行相应的解包处理——抽出数据,按发送前的顺序还原,并加校验,若发现错误,TCP/IP栈会要求重发,然后将数据送GPRS模块。UIP协议栈提供了一系列接口函数供用户程序调用,这使得我们不需要了解数据的具体处理过程,只需要调用相应的接口函数把数据送到上层应用程序即可。
系统定时器使用MSP430F448的16位定时器Timer_B作为时钟基准,定时周期设为1s。定时器主要用于处理数据传输错误重发,应答延时,往返时间(RTT)估计等。应用程序事件2主要用于定时器超时后的处理。当TCP连接建立时,UIP周期性调用函数uip_periodicO来驱动TCP/IP协议定时器和重发事件。当数据发送后,转发定时器进行减计数,如果在—个定时器周期内没收到接受端的确认(ACK)消息,发送端就认为这个数据丢失,置标志位。应用程序检查标志,产生上次发送的数据并重发。
为保证监控的实时性要求,对于对方主动发起TCP连接、对方发来数据、对方主动释放TCP连接、GPRS断线和重连成功等事件都可以通过中断通知给F448单片机,以便单片机进行相应的处理和操作。这些事件必须及时进行处理,以便及时反映通信状况,避免相关事件的缓冲区和数据缓冲区溢出。
由于无人监守机房地点偏远、环境特殊,为保证设备的长期稳定工作,在软件上设置了系统自动拨号、断线重拨功能。在GPRS网络状态不稳定时,系统具有自动恢复通讯能力、无须人为干预。
4服务器的软件设计
服务器的人机接口为用户提供了一个可视化的监测界面。用户可以直观、方便、快捷地了解无人职守机房的状态,并能及时发现处理异常、故障情况。软件在C++Builder环境下开发。软件由用户界面子系统,数据管理子系统和网络通信服务子系统组成,主要完成无线通讯处理、数据处理、各点监测数据统计等功能。
用户界面子系统作为主要的人机交互界面,可以用于实时查询各点机房的动态,对各点机房发出控制指令。
数据管理子系统主要处理各点机房采集的数据。可通过该系统查询历史记录,实施权限修改、插入、报表打印等功能。
网络通讯服务子程序采用C++Build~的Socket控件和多线程技术实现。
由于服务器采用一对多的通讯方式,为了防止多个终端同时和服务器通讯而发生信息阻塞,也为了保证通讯的实时性和可靠性,程序中使用了线程技术来处理服务器与每个终端的连接;当启动GPRS并在初始化完成后,使用辅助线程来监听Socket端口。当有数据到达时,辅助线程通过事件通知主线程处理收到的网络协议数据包。主线程创建副线程来处理该次连接,在副线程中读取数据并判断是否正确。正确则保存数据,错误就将该数据包丢弃。数据处理完成后终止副线程,继续监听断开。
5结束语
采用GPRS网络远程数据通讯比其它专线或射频通讯方式有不可比拟的优越性。该系统具有连接方便、扩充性好、成本低、维护量小等优点。在其它领域的应用也将具有很好的发展前景。
(注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。)
关键词:通信机房智能监控;MC35;GPRS;MSP430F448
0引言
随着计算机与通信技术的高速发展,新技术和智能设备层出不穷,使无线方式智能监控的实现成为可能。本文设计了一种运用GPRS网络进行通信的机房监控系统,可广泛地用在智能家居防盗、远程监控、无人监守设备的维护及自动化生产线的监控等领域。传统的监控系统通常都是一个以计算机为中心的监测控制与调度系统。而本文所阐述的智能监控系统是以一种通用模块的形式来设计的,不仅可以用一般的PC机作为监控调度中心,而且可以直接使用手机作为监控中心。这样就无需编写监控中心的软件,而是通过GPRS网络便可完成对终端采集系统的通信和控制,从而达到监控的目的。如果配备GPRS无线Modem,无论何时何地,只要有一部可以接入Internet的电脑作为服务器就能实现对分布在各地的通信机房的监控;也能实现移动监控。
1系统总体结构
本文提出的机房监控系统由一个监控中心和若干个远端采集系统组成,如图1中虚线框中所示,并且通过中国移动的SIM卡接入GPRS网络。
具体的数据传输流程为:
(1)GPRS终端通过串行接口从客户系统中提取出用户信息;
(2)终端将用户信息以GPRS分组数据的形式发送到GSM基站;
(3)分组数据经SGSN封装后,发送到GPRS-~骨干网。
若PC机服务器以拨号方式接入Intemet,即PC机为移动GPRS内部网分配动态IP地址,则分组数据先发送到目的SGSN,再经GSM基站发送到与PC机相连的GPRS终端;若PC机以专线接入因特网具有固定IP地址,则将分组数据包经GGSN进行协议转换后,发送到Internet公共网络。
2终端采集系统组成
本系统的终端设备如图2所示。
一般情况下通信机房工作状态参数主要有温湿度、火警、烟雾、防盗及环境监测等。这些参数由各类传感器将采集到的模拟参数送入各自的信号调理单元进行放大、滤波处理。调理后的信号经MUX多路开关进入12位A/D转换器,最后送入MSP430F448单片机。由于参数较多,所以单片机通过控制MUX多路转换开关并采用定时循环方式采集各个传感器的参数;在异常时主动发出报警信息,同时存储数据信息。基于MSP430单片机的GPRS通信管理模块是服务器与现场控制器之间的数据传输桥梁,终端采集的参数通过GPRS网络能够及时传送到服务器计算机上,并同时启动视频取证摄像头,摄录异常时的环境动态。通讯管理模块主要由TI公司的16位低功耗单片机MSP430F448及外围电路构成。GPRS模块使用西门子公司的MC35。终端的GPRS无线上网主要通过单片机控制MC35来实现。单片机具有两个可编程串行通讯口,其中UARTO工作在同步通信方式下,和DSP的SPI接口相连,DSP工作在主机模式。F448工作在从机模式。UARTl通过MAX232电平转换芯片和MC35的串行数据口相连作为AT指令和数据的传输通道,单片机通过串行中断程序及时处理GPRS终端收到上位机指令,并及时传送给DSP。
F448带有液晶驱动模块,通过外接一个液晶显示器和键盘,用户就可以在现场手动进行各项参数的设置(包括视频取证摄像头的启动、存录);外接flash数据存储器AT45DB041,存储容量为528KB,主要作为收发数据的暂存器。
3 TCP/IP协议的实现
在本系统中,需要利用TCP/IP协议来完成GPRS业务数据的装帧和拆帧。我们采用在MSP430F448中嵌入TCP/IP协议栈UIP的方法来实现TCP/IP协议。协议数据通信分为三个阶段:
(1)建立连接阶段:使用OPEN命令帧控制MC35主动向服务器发起连接请求。服务器在本地侦听端口,收到终端的请求后进行回应并建立连接,进入数据收发状态。
(2)当连接建立后,就可以在这一条连接上进行数据收发。可以使用SEND命令帧控制MC35发送数据。发送时要指定连接号(由本地端口、目的IP地址和端口惟一确定)。
(3)数据发送完成后,不再需要这条连接时,系统就把连接断开。
TCP/IP协议栈UIP是一种免费公开源代码的小型TCP/IP协议栈,专门为8位和16位MCU编写。UIP完全用c语言编写,它采用一个事件驱动接口,通过调用应用程序响应事件。UIP的源代码只有几KB,RAM占用仅几百字节,但实现了TCP/IP协议集的四个基本协议:ARP地址解析协议,IP网络互联协议,ICMP网络控制报文协议和TCP传输控制协议。用户可以方便地调用接口函数来实现TCP/IP协议。
UIP与系统底层的协议包括与设备驱动的接口和系统定时器的接口两类。程序主循环中的底层接口程序循环,检查是否收到数据包和周期定时器是否超时溢出。TCP/IP协议程序中主控程序流程如图3所示。
UIP通过函数uip_input0和全局变量uip_buf,uip_len来实现与设备驱动的连接,在收发IP数据包时触发应用程序接口事件。应用程序事件l主要是对数据包的处理:当数据来自MCU时则进行TCP/IP打包然后将CPRS模块发送到Internet网络;当收到来自GPRS模块的数据时,则进行相应的解包处理——抽出数据,按发送前的顺序还原,并加校验,若发现错误,TCP/IP栈会要求重发,然后将数据送GPRS模块。UIP协议栈提供了一系列接口函数供用户程序调用,这使得我们不需要了解数据的具体处理过程,只需要调用相应的接口函数把数据送到上层应用程序即可。
系统定时器使用MSP430F448的16位定时器Timer_B作为时钟基准,定时周期设为1s。定时器主要用于处理数据传输错误重发,应答延时,往返时间(RTT)估计等。应用程序事件2主要用于定时器超时后的处理。当TCP连接建立时,UIP周期性调用函数uip_periodicO来驱动TCP/IP协议定时器和重发事件。当数据发送后,转发定时器进行减计数,如果在—个定时器周期内没收到接受端的确认(ACK)消息,发送端就认为这个数据丢失,置标志位。应用程序检查标志,产生上次发送的数据并重发。
为保证监控的实时性要求,对于对方主动发起TCP连接、对方发来数据、对方主动释放TCP连接、GPRS断线和重连成功等事件都可以通过中断通知给F448单片机,以便单片机进行相应的处理和操作。这些事件必须及时进行处理,以便及时反映通信状况,避免相关事件的缓冲区和数据缓冲区溢出。
由于无人监守机房地点偏远、环境特殊,为保证设备的长期稳定工作,在软件上设置了系统自动拨号、断线重拨功能。在GPRS网络状态不稳定时,系统具有自动恢复通讯能力、无须人为干预。
4服务器的软件设计
服务器的人机接口为用户提供了一个可视化的监测界面。用户可以直观、方便、快捷地了解无人职守机房的状态,并能及时发现处理异常、故障情况。软件在C++Builder环境下开发。软件由用户界面子系统,数据管理子系统和网络通信服务子系统组成,主要完成无线通讯处理、数据处理、各点监测数据统计等功能。
用户界面子系统作为主要的人机交互界面,可以用于实时查询各点机房的动态,对各点机房发出控制指令。
数据管理子系统主要处理各点机房采集的数据。可通过该系统查询历史记录,实施权限修改、插入、报表打印等功能。
网络通讯服务子程序采用C++Build~的Socket控件和多线程技术实现。
由于服务器采用一对多的通讯方式,为了防止多个终端同时和服务器通讯而发生信息阻塞,也为了保证通讯的实时性和可靠性,程序中使用了线程技术来处理服务器与每个终端的连接;当启动GPRS并在初始化完成后,使用辅助线程来监听Socket端口。当有数据到达时,辅助线程通过事件通知主线程处理收到的网络协议数据包。主线程创建副线程来处理该次连接,在副线程中读取数据并判断是否正确。正确则保存数据,错误就将该数据包丢弃。数据处理完成后终止副线程,继续监听断开。
5结束语
采用GPRS网络远程数据通讯比其它专线或射频通讯方式有不可比拟的优越性。该系统具有连接方便、扩充性好、成本低、维护量小等优点。在其它领域的应用也将具有很好的发展前景。
(注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。)