远程机房电源控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
远程机房电源控制系统设计
陈铭,徐小宇,凌明
(东南大学国家专用集成电路系统工程技术研究中心,南京210096)
摘要:论述了在无人职守机房运用中,如何实现在远程控制机房内各计算机的电源开关。设计方案采用软硬件相结合,以ARM7TDMI内核的SEP3203嵌入式处理器为硬件核心,通过GPIO口控制外部继电器开关,实现弱电控制交流强电输出的开关切换。软件上以VC++编写守护进程,ASP制作网管界面,配合COM组件、ACCESS数据库和TCP/IP协议,实现远程电源控制方案。
关键词:SEP3203嵌入式处理器; COM组件; 远程电源控制; 无人职守机房;
0. 引言
信息技术蓬勃发展的今天,大量数据和设备集中存放、管理是大势所趋,如何合理运用有限的财力、物力和人力资源,对大规模、大面积机房甚至是异地机房进行有效的管理和操作的难题便随之出现。“IT远程机房管理系统”由此应运而生,该系统真正的为解决该难题,实现无人职守机房提供了圆满的解决方案,创造了机房管理新理念。
目前,国内外关于机房远程控制系统的解决方案,主要是通过纯软件技术实现的,诸如IBM、赛门铁客、HP、东软等公司都有相关的软件产品,然而,结合实际的机房管理需求,软件技术却有着无法逾越的技术限制,例如远程电源的开/关控制仅靠软件技术就无法实现。在机房,由于各种原因,譬如内存耗尽导致当机,而需要重启计算机的概率是比较频繁的,虽然有些监控软件可以实现关闭本机电源的功能,但一旦断电,软件就运行不起来了,自然就没办法再通过指令来启动电源。
本文将围绕机房运用,描述如何实现“远程电源控制系统“的软硬件相结合的设计方案。
1. 系统构成
1.1电源控制结点(PowerController)
每台电源控制结点提供8路交流电源插座,每路220V电压,最大30A电流。
电源控制结点在网络上受WEB服务器控制,每路电源的开关状态可控且可查询。
电源控制结点的主要软硬件清单如下:
SEP3203嵌入式处理器(ARM7TDMI内核)
10M/100M自适应以太网控制器MAC
AsixOS嵌入式多任务实时操作系统
嵌入式的电源控制软件(下位机守护进程)
1.2 Web服务器
Web服务器集控网内所有的电源控制结点,各电源控制结点的所有电源的开关状态都保存在Web服务器上的数据库中。Web服务器响应远程访问者的请求,对指定的电源控制结点的开关状态进行查询和设置。
Web服务器的软件构成如下:
ACCESS数据库
ASP网管软件
COM通讯组件
C++服务器守护进程
2. 拓补结构
图1实现远程电源控制的机房网络拓补图
实现远程电源控制完全不改变原有机房的网络拓补结构,如图1所示,只是在内网中增加了一台WEB服务器,该服务器需要双网卡,一端接在内网中,另一端接入Internet; 并且把所有要控制的电脑的电源连到电源控制结点(PowerController)上,即由电源控制结点来为机房内所有电脑设备供电。同时,所有的PowerController也接在机房的网络中,以便接受WEB服务器的控制。一台PowerController节点可以同时提供8路(220V, 最大30A)电源输出,因此一个机房如果有N台电脑,则只需要(N+7)/8台PowerController节点就可以实现全方位的电源控制。
用户在任何一个Internet接入的电脑上可透过IE浏览器登录到远程机房服务器上的网管系统,通过ASP页面向服务器发出控制和查询指令,服务器再将指令传送给网内的特定的电源控制结点,通过电源控制结点实现控制机房内任何一台服务器/工作站/路由器的电源开关切换、以及电源状态的交互查询。
3. 电源控制结点(PowerController)的设计
3.1硬件部分设计
硬件上,主要通过Garfield SEP3203处理器来实现,SEP3203应用处理器是由东南大学国家专用集成电路系统工程技术研究中心设计的16/32 位RISC 微控制器,内嵌由英国ARM 公司提供的ARM7TDMI 处理器内核,主要面向低成本手持设备和其它通用嵌入式系统设备,全芯片可稳定运行在75MHz[1]。
电源控制结点的8路电源开关通过SEP3203处理器的GPIO外围端口来控制,8条GPIO(LD0~LD7)用来控制继电器的通断,8条GPIO (LD8~LD15)用来控制LED指示灯,1条PWM0控制蜂鸣器。输出模块设计见图2(8路电源输出中的一路):
图2 输出模块设计图(弱电控制强电开关)
继电器选用30A额定电流。100欧姆大功率电阻,MKP0.1uF电容构成RC滤波网络。在RC滤波网络中,有一个器件SVR是个压敏电阻,起保护作用。
当RELAY1置低时,继电器的3和5输入端产生压降,继电器开关从2端点打向1端点,从而将输入火线Fire选通至Fire0,这样插座上就得到了220V的交流供电;当RELAY1置高时,继电器将输入火线选通至端口2,插座不再供电。
3.2 嵌入式控制软件的设计
在嵌入式软件的开发过程中有主机和目标机的角色之分:主机是执行交叉编译、链接、定址过程的计算机;目标机指运行嵌入式软件的硬件平台。首先,我们在主机环境中,使用ARM公司提供的ADS开发工具进行应用程序开发与调试,然后把应用程序转换成可以在目标机上运行的二进制代码,这一过程包含三个步骤:交叉编译、链接、定址,由交叉编译器实现[2]。最后把二进制代码通过烧录工具写入目标机的ROM中。
电源控制结点上的软件开发过程就是嵌入式软件的开发过程,电源控制结点在网络中与WEB服务器通讯采用“客户端-服务器”模型,电源控制结点作为客户机,双方通过UDP 协议进行通讯。因此在电源控制结点上需要运行一个TCP/IP协议栈,并且每个电源控制结点需要配置一个唯一的IP地址,以实现点对点的通讯[4]。电源控制结点的程序流程如下面图3所示:
图3 电源控制结点的程序流程图