基于ARM的嵌入式机房监控底层架构设计与实现
2010-07-10魏星
魏 星
(天津财经大学 理工学院 信息科学与技术系,天津 300222)
0 引言
随着互联网的迅速普及和嵌入式系统的广泛应用,机房规模不断扩大、动力设备种类不断增加、维护难度加大,因此机房监控系统扮演了越来越重要的角色。目前机房监控主要集中在空调或UPS监控等方面,监测的只是机房的部分环境且监控系统性能单一、集成度不高,稳定性和安全性较差,缺乏集中维护、全方位监控和管理,通常监控都是控制端主发监控命令,缺少数据相互通信机制,一旦控制端瘫痪或有线网络中断将会造成无法挽回的损失。针对这些弊端本文利用高性能MPU和业已成熟的嵌入式Linux系统,提出了一种无人值守机房监控系统底层架构的解决方案:将智能设备监控、现场数据采集、视频采集、GPRS无线报警集成一体,即使在网络中断的情况下受控端模块也能主动上传数据发出报警信息。底层架构的设计有助于解决PC机程序开发周期长,生存周期短,可维护性差的缺点,提高了机房监控的可靠性和安全性,既能监测机房动力环境又能对机房设备内部的异常做出预警和报警,实现了从机柜微环境到设备运行情况再到机房整体环境的多层次监控,弥补了国内无人值守机房监控方面的空缺具有很高的推广价值。
1 系统特点
监控系统无论是从功能上、稳定性、安全性、可维护性还是集成性能较以往有了很大改进,主要有以下几个优点:
1.1 多层次报警联动
任何报警均可联动本地画面警告、声音提示、联动报警输出、通过有线网络和GPRS两种方式上传到监控中心。具体体现在以下几个方面:
1)视频报警:视频移动侦测、视频遮挡、视频丢失均可触发报警。
2)模拟量、开关量报警:支持8路模拟量报警输入,8路开关量报警输入,8路开关量报警输出,支持报警手动、计划设防、撤防,支持主动上传,具备丰富的阀值设置功能。
3)异常状态报警:系统的异常状态如:硬盘满、硬盘异常、网络非法访问、IP地址冲突、网线断开。
1.2 解决传输问题
因RS-485接口采用平衡发送和差分接收,因此具有抑制共模干扰的能力,具有良好的抗噪声干扰性,传输线路简单,干扰信号少,稳定性高。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。有效解决了异地机房连接监控问题;SPI总线数据的传输由单端不平衡传输改为双端平衡传输,通过适当的电路消除或抑制了共模干扰,极大地提高了数据传输距离,实现SPI数据远距离传输,可靠距离在1200m。
图2 EEPROM电路图
1.3 有线无线并存
数据采集机可以接收监控模块数据,并将监控数据按照协议封装后通过网口上传给监控端,同时将监控端的控制命令下传给有线监控模块;为了避免有线故障或监控端出现异常,又增加了GPRS通信模块和无线传感器模块,如遇到线路故障会马上通过无线网络发出报警短信,也可以通过和摄像头连动发出彩信,告知管理员故障所在,解决了部分机房布线困难的难题。
1.4 通信接口转换
网络数据采集机不仅提供了RS232、RS485接口还具备网络接口,同时实现了RS485转网口模块,通过使用TCP/IP协议实现联网数据集中、接入和控制,能快速、有效、低成本的接入以太网或互连网,与监控端的数据通信快速、准确。
1.5 配置参数掉电保存技术
由于LPC2132片内没有EEPROM,当出现掉电情况时所有配置参数都会丢失,为了能够保存配置信息在产品设计时加上了AT45DB021芯片,使用前先对相关引脚进行配置,确保在掉电情况下配置参数不会丢失。为确保网络数据采集机和监控模块之间有效的工作,在硬件设计中加入看门狗电路,利用控制器内部看门狗实现了快速重启、初始化监控设备,系统可长时间不间断运行,可靠性高,避免因程序、线路问题或数据通信产生的监控数据中断问题。
1.6 通用分组无线服务技术
通用分组无线服务技术(General Packet Radio Service)是GSM移动电话用户可用的一种移动数据业务,通过利用GSM网络中未使用的TDMA信道,提供中速的数据传递。GPRS以全球手机系统(GSM)为基础的数据传输技术,可说是GSM的延续。和以往连续在频道传输的方式不同,是以封包(Packet)式来传输。主要的优点:
1)数据传输速率快10倍于GSM,还可以稳定地传送大容量、高质量音频与视频文件。
2)轻松实现网上漫游与电话接入永远在线,实时接收报警数据。
3)仅按数据流量计费。
2 监控系统底层架构设计
2.1 微处理器选择
网络数据采集机是底层数据采集的核心,采用三星公司推出的32位S3C2440微处理器,采用了ARM920t内核,0.13um的CMOS标准宏单元和存储器单元,提供了低成本、低功耗、高性能小型微控制器的解决方案且全静态设计特别适合于对成本和功率敏感型的应用,实现了MMU,AMBA,BUS和Harvard高速缓存体系结构,减少了整体系统成本无须配置额外组件。包括以下特性:16 KB指令和数据缓存,16 KB MMU处理虚拟内存管理,TFT& STN液晶显示器控制器、NAND闪存的引导程序,系统管理员(芯片选择逻辑与SDRAM控制器),直接存储器存取, UART,定时器和PWM、I / O端口,ADC和触摸屏接口,AC97 音频解码器接口,相机接口,IICBUS、 IIS-BUS总线接口,USB主设备, SD主机接口和SPI接口,可以方便的进行功能扩展。
2.2 程序设计
以Linux为其操作系统,可以支持多种硬件平台,对硬件的要求较低,具有高度的可靠性和安全性,并且是开源免费高度可定制的操作系统,对于资源相对紧张的嵌入式设备来说及其适合。
图4 数据采集机程序流程图
程序编写过程中使用多线程技术实现,Linux多线程遵循POSIX线程接口。与多进程相比它是一种对系统资源要求更少的多任务并发技术。但由于多线程共享地址空间,在程序中对于全局数据的操作也要做好相应的互斥,否则可能会引发错误,本程序中使用多个互斥锁及信号量对涉及到的共享数据进行保护。
和其他设备类似,串口在Linux下也是以文件的形式出现在/dev目录下,调用open()函数打开后可以和其他普通文件一样进行读写操作。对于RS-485通信,由于默认处于接收态,应适当修改串口驱动以满足发送前使能要求。系统首先设置缺省网络配置,在系统上电后主动发起和远程监控端连接,在建立和监控端的TCP/IP连接之后,程序使用select()函数的无超时阻塞来对网口数据进行监视,并可通过判断read()函数返回值来确定与监控端的连接是否断开。
2.3 数据通道设计
以往数据通道采用RS-232/422/485、Lonworks总线形式标准不一,本系统实时数据采集通道包括“智能型网络数据采集机-智能设备监控模块-传感器监控模块(有线和无线)-视频监控模块-无线监控模块”统一采用RS-485总线标准进行通信,通过硬件电路设计每个监控模块都有唯一的地址,最多可以挂接200多个同类总线接口设备;而“PC监控端-网络数据采集机”监控数据通过TCP/IP协议进行传输。
2.4 数据透传功能
数据采集机主要是透传功能,封装了监控设备驱动,处理每个监控模块和控制端之间的数据交换,按照传输控制协议负责对监控端发送的命令进行解析和响应,封装后分发给各个不同的监控模块,同时还要将各个模块的实时上传数据打包发给监控端,供上位机进行数据分析;此外还要定时对各个监控模块进行轮询将采集的数据存入队列的数据对象中,并及时将失去连接的监控模块告知监控端进行处理或报警,以免失去连接、中断通信、无法进行数据上传和报警。
2.5 数据采集机与各模块的通信
2.5.1 智能协议采集器模块
通过厂家提供的通信协议及接口负责监控精密空调、UPS运行状态,根据控制端指令不仅能够控制智能设备运行和关闭、对设备参数进行调节(包括设置波特率、数据位、停止位、是否奇偶校验等),而且还能将所获监控数据按协议封装上传,供控制端分析、参考以便实现较复杂的控制策略和优化运行策略。硬件驱动是在UCOS-Ⅱ操作系统下经ADS1.2进行调试、编写,通过串口调试助手进行测试,并通过JTAG仿真烧录到片内Flash中自动运行。
2.5.2 传感器采集器模块
可实时获取所连接的各种传感设备的模拟量与数字量(包括温湿度传感器、继电器、水浸,烟感、门磁等输出的信号),不仅有丰富的阀值对传感器进行设置和监控而且还能将报警信息在几秒钟内主动上传,使机房管理人员能够及时掌握机房动力环境状况、避免意外发生。
2.5.3 视频采集模块
实现360度完全监测,实现机房场景实时再现,一旦有人进入会连动摄像机录像、抓拍,启动人脸识别功能、启动本地紧急预警策略,图片报警过程中采用了嵌入式小波零树图像编码(EZW)压缩技术,不但能通过有线网络直接传送到监控中心还可将图片压缩成手机能接收的格式进行彩信传输,能够有效的防止有人潜入机房实施盗窃或破坏行为,既可本地独立工作也可联网协同工作;
2.5.4 无线报警模块
采用法国Wavecom公司的Q2686/7系列无线CPU,一改以往直接和监控端相连的形式,通过RS-232接口与数据采集机相连,既能接受监控端上下线、发送报警信息指令,又能在和监控端机失去通信的情况下根据预先设定的模拟量的上下限和开关量的报警状态,将报警数据按协议封装后发送到GSM网络,不受有线网络影响,报警快速准确,同时起到数据冗余和备份的作用。这也是专为多个网络不相连的分散场所的监控所设计的方案,如无人值守基站、多个分散的机房、多个分散的库房/仓库、多个分散的智能设备等,可以使用这个方案实现远程监控和远程报警。
2.5.5 无线传感器模块
解决了在机房布线困难的条件下,可以通过智能设备在任意位置添加无线传感器,利用接收电路对信号进行采集,实现传感器信号的无线收发,如遇报警信息智能设备会主动上传数据到数据采集机再通过GPRS直接发送到指定的手机或固话上,或发送到监控端产生声光报警,使机房管理人员及时排除隐患。
3 结论
对机房监控系统底层采用模块化设计原则,既可以对机房个别环境单独监控,又预留出足够的可扩展接口可添加功能强大的监控模块,监控端模块只要和数据采集机相连就可以对机房进行全方位、无间断监控,解决了机房监控系统在开发效率低,维护成本高,可维护性差,功能单一等缺点,使机房监控向无人值守方向更近一步,经过半年多不间断运行取得了很好的应用效果,此设计已经产品化并取得了很好的经济效益,有广阔的市场前景。
[1] LPC2131/2132/2138 使用指南.http://www.zlgmcu.com.
[2] S3C2440X 使用手册(英文),http://www.samsung.com.
[3] 洪利,王敏,章扬.无线与移动网络开发技术.北京:北京航空航天大学出版社,2008.
[4] 张怡,张从,黄健.机房监控系统中数据网关服务器的设计[J].计算机工程,2009,35(06):102-104.
[5] 凉德坚,刘玉琼.SPI总线数据远距离传输实现[J].电子测试,2009,(01):72-75.
[6] 左小五.LPC2132在嵌入式系统中的应用技术[J].微型计算机信息,2007,23(1-2):183-184.