摘 要:为了缓解电信运营商互联网数据中心IDC(Internet Data Center)机房的用电量压力,针对IDC机房内服务器租用业务的特点,向服务器租用者收取一定的用电费用成为IDC运营商的一种管理方式,建立统一集中的用电量监测系统成为这种管理方式的技术关键。设计了一种分布式服务器电流监测系统,在前端采用霍尔电流传感器对每个服务器机柜的电流进行采集,由内嵌μCOS-Ⅱ操作系统的电流采集器负责收集电流信息。监测系统具有实时采集、集中监测、远程管理等功能。
关键词:服务器电流; 实时采集; 集中监测; ARM
随着我国互联网和手机的普及,IDC机房的数量和其中的服务器随着其业务的不断发展而迅速扩大,计量呈几何级增长。为了缓解不断攀升的用电成本问题,针对IDC机房服务器租用业务的特点,对每个向外出租的服务器用电量进行分别计量和监测进而计费成为了电信运营商的一种管理方式。本文设计了一种分布式服务器电流监测系统,对整个IDC大楼分布的服务器电流实时数据进行远程化、网络化在线监测,进而对电流数据进行统计,便于对不同租用者进行电费计量,实时监测每个服务器的用电情况,预防用电超过安全范围而导致的危险事故,以及对服务器或供电设备的用电历史数据进行查询分析,为管理部门提供决策依据。
1 系统总体设计
如图1所示,分布式服务器电流监测系统由三部分构成,分别为前端电流互感器、电流采集器、监测中心的服务器和控制台。其中电流互感器采用霍尔器件,用于实时采集服务器电流并输出采样信号;采集器是为本系统专门设计的硬件设备,是实现IDC大楼机房内服务器电流的实时采集、计算处理、数据上传、与监测中心通信等功能的集成;监测中心服务器为整个后台提供数据库程序,是负责收集和存储的数据中心;控制台软件完成日常维护和数据查询功能。
2 电流互感器
霍尔电流传感器具有优越的电性能,具有精度高、线性好、频带宽、响应快、过载能力强和不损失被测电路能量等诸多优点。
本系统采用闭环型霍尔电流传感器,型号为TKC50BA/BR,可直接测量交流电流、直流电流以及脉冲电流等,额定输入电流为50 A,输出信号的额定电压为4±1%V。
3 电流采集器
3.1 硬件电路设计
电流采集器硬件电路的结构如图2所示。
电流采集器采用基于ARMCortex-M3架构的STM32F103微处理芯片。由于STM32芯片的供电范围是2.0~3.6 V,所以在STM32处理器的供电引脚和5 V开关电源之间增加一电压调节电路,以提供合适的供电电压。在STM32处理器上外扩了网络接口芯片以提供以太网接口。电流采集器内集成了WiFi模块接口电路,可为电流采集器增添WiFi数据模块支持。电路中内置了GPRS通信模块接口电路,电流采集器与监测中心之间的通信还可以采用移动蜂窝数据网络的通信方式。
系统调试接口,用于实现电流采集器软件程序的下载与在线调试的功能。RS232有线/无线通信电路主要作用是电流采集器的配置以及测试功能。E2PROM存储电路的主要功能一是将自身的IP地址信息以及自身参数配置信息永久地存储以供每次设备重启时调用;二是将电路非正常工作时的故障信息储存在E2PROM存储电路里,方便以后故障排查时读取或测试状态下通过串口读取。
3.1.1 霍尔电流传感器输入电路及A/D调理采样电路
每个电流采集器可输入32路霍尔电流传感器信号,为了节省处理器引脚与电子元器件,将这32路信号首先经过32个运放调理电路后经由4个8选1模拟多路复用器缩减为4路,然后再将4路信号经过同样模拟
多路复用器缩减为1路,这样只需通过控制模拟多路复用器的选通功能即可依次将32路信号连接至下级电路。设计中模拟多路复用器选用型号为ADG508AKR的芯片,电路如图3所示。
选通的信号经过运放调理电路后送入有效值交流转换直流芯片,转换为直流电压后接入16位的高精度A/D转换芯片,处理器的SPI接口通过光耦和A/D芯片通信,将A/D转换接口通过光耦与A/D芯片通信,将A/D转换数据读入处理器中。本设计使用了型号为AD7705的2通道的模拟数字转换芯片, A/D采集电路如图4所示。
3.1.2 以太网接口电路
电流采集器与监测中心之间采用TCP/IP协议通信,需要在采集器硬件电路中设计以太网通信模块。本设计使用了型号为ENC28J60的以太网控制芯片,与目前大多数符合IEEE 802.3协议规定的以太网控制芯片相比,ENC28J60采用标准的SPI串行接口,只需将其芯片上的SPI引脚和STM32的SPI引脚对应相连,RESET引脚直接与STM32的复位引脚NRST相连,中断引脚可直接连接至STM32任一中断引脚上,即可实现通信。使用ENC28J60可很大程度上简化电路设计,并减小所占用PCB板的空间。以太网通信电路的硬件设计如图5所示。整个电路由时钟振荡器、复位电路、输入/输出电平、变压器等构成。
3.1.3 其他外围电路
与处理器相连的其他外围电路主要有供电电路、系统调试接口电路、RS232通信电路、E2PROM存储电路、WiFi模块接口电路和GPRS模块接口电路等。
3.2 软件设计
电流采集器软件使用C语言编写,在RealView MDK下开发完成。其主要功能有:电流采集、数据通信和参数更新等。
电流采集器软件以μCOS-Ⅱ操作系统为基础,上电启动后,进行?滋COS-Ⅱ操作系统的初始化,随后进入设定的任务程序,μCOS-Ⅱ的任务型设计为程序的模块化设计提供了简便的思路,每个任务是电流采集器程序的核心。基于μCOS-Ⅱ的电流采集器软件主程序流程图如图6所示。
软件运行后,电流采集器服务程序与监测中心服务器程序、控制台程序与监测中心服务器程序均建立TCP/IP通信并维持;监测中心服务后台程序定时采集电流采集器设备的电流值及连接状态并写入数据库中,当出现告警信息时就将信息存至数据库,等待每次控制台程序的读取或命令。
3.2.1 监测中心的服务器
监测中心的服务器是整个监测系统数据通信的中枢,负责接收电流采集器上传的数据、运行参数等信息并写入数据库,同时向各采集器下传控制指令的运行参数,并提供面向控制台软件的数据访问与命令接收,其核心是服务器后台的数据通信软件与数据库管理软件。整个服务器数据通信软件的流程图如图7所示。
3.2.2 控制台电流监测软件
控制台电流监测软件是为用户提供良好的人机交互界面,软件开发选用了Microsoft公司的Visual Studio 2005开发工具。在人机交互界面上采用事件触发的模式编写软件,按下特定的按钮触发相应的程序。软件按功能被划分为前台的显示、查询、控制、参数设置、报表以及后台的通信程序几大模块。
4 系统调试结果与分析
对整个系统进行实验室调试并初步通过后,将其安装在IDC机房内,在配电柜上测量8个服务器机柜电源实际的电流有效值,并与控制台软件显示的监测值进行对比分析,数据对比与误差如表1所示。因为每个服务器机柜内安装有A、B两路电源分别为其内设备供电,故表中每个机柜测量时分为A路和B路。
在表1中,2I01的B路和2I18的A路有实测电流值而监测电流值为0,经分析与排查得知原因是:此型号的霍尔电流传感器在测量过小电流时,其灵敏度不高,这是由于忽略了将服务器机柜电源线在传感器上绕3圈以增大电流强度、提高测量精度的措施,从而导致测量的小电流无显示的问题。2I01的A路数据误差过大同样是由于忽略了传感器上电源线绕3圈的措施,导致显示数据只有实际值的1/3左右。另外2I04的A、B路、2I09的B路以及2I17的B路数据和配电柜测得的实际数据相比过小,且超过可接受范围,经排查原因是在布线安装电流传感器位置不得当所导致。最佳的安装位置是电流垂直通过霍尔传感器测量面。其他组数据的误差均小于5%,处于设计要求的范围之内。
本文介绍了基于STM32的分布式服务器电流监测系统的设计和实现。设计中本着可靠、技术先进、经济合理的原则,达到集中监测分布在IDC内服务器机柜电流有效值大小的目的。电流采集器的微处理器采用了基于 ARM-Cortex-M3内核的32位处理器 STM32F03,其最高工作频率可达到72 MHz,并且内嵌成熟稳定的μCOS-Ⅱ实时操作系统,能满足实时采集服务器机柜电流有效值和其他实时任务的要求。
参考文献
[1] 冯俊.交流输入电压电流监测电路设计[J].电子产品世界,2010(5):46-51.
[2] 张保平,师奕兵,王志刚.一种分布式多通道微弱电流采集系统的设计[J].测控技术,2011,30(4):34-37.
[3] Microchip. Make a Delta-Sigma Converter Using a Microcontroller′s Analog Comparator Module[Z]. 1998.
[4] 刘畅生, 寇宝明. 霍尔传感器实用手册[M]. 北京:中国电力出版社,2009.