不间断电源(UPS)能够给计算机等电力电子设备提供持续稳定的不间断电源供应,以避免因供电不稳定时而造成的设备损坏。但是由于UPS有限的备用时间,以及在工作中可能存在的各种异常情况,使得管理人员必须及时准确地了解设备运行时的电力环境,掌握UPS的工作状况。目前大多数UPS监控系统是通过RS232或RS485的串行接口对UPS进行人工值守的方式进行监控。但这两种接口都有传输距离的限制,不能实现任意距离的分散式远程监控。针对这一问题,本文提出了一种基于SNMP网络管理协议的UPS监控系统的设计方案,设计了集成SNMP协议的硬件接口转换卡,使得仅拥有串行接口的UPS具有连网能力,从而实现了UPS的网络管理和监控。
1 系统设计
整个监控系统框图如图1所示。
整个系统的核心为基于SNMP网络管理协议的接口转换卡。接口转换卡一端通过网线与监控计算机相连,管理人员通过计算机可方便地对其进行操作。接口转换卡另一端通过与UPS上的串行接口连接,来获取UPS工作的各种信息及参数,然后再利用SNMP协议将接收到的数据转换为管理信息库(MIB)节点的变量值。管理员通过网络管理软件对MIB节点变量进行操作,从而获得各UPS的监控信息,实现了安全可靠的远程分散式管理。
2 接口转换卡
2.1 硬件结构
单个的接口转换卡主要由处理器、串口电路以及以太网接口电路组成。其结构框图如图2所示。
用户可根据自己的需求,定义包含UPS监控信息参数的管理信息库,并将其保存。接口转换卡的串行接口电路与UPS上的串行接口相接,控制器通过控制串行接口电路来获取UPS的工作信息。处理器将接收到的数据与管理信息库中所定义的数据一一对应并保存,并通过以太网接口电路定时向网络管理系统发送用户需要的即时信息。网络管理系统对管理信息库中的变量进行操作,向接口转换卡发送查询和设置节点等命令,处理器通过查询MIB中相应的节点信息,根据串口通信协议向UPS发出相应的命令,再将得到的结果返回给网络监控系统。
2.2 以太网接口电路
由于处理器内并未提供物理层接口,因此需外接一片物理层芯片,以提供以太网的接入通道。如图2所示,以太网接口电路由以太网物理层芯片CS8900A,网络隔离变压器FB2022和RJ45接口所组成。
CS8900A采用I/O模式,硬件电路简单,对寄存器的操作通过I/O端口O写入或读出。在I/O模式下,PacketPage存储器被映射到处理器的8个16位的端口上。在芯片上电后,I/O基地址的默认值被置为300H。使用CS8900A作为以太网的物理层接口,在收到由主机发来的数据报后(从目的地址域到数据域),侦听网络线路。如果线路忙,则等到线路空闲为止;否则,立即发送该数据帧。在发送过程中,首先添加以太网头(包括前导字段和帧开始标志),然后生成CRC校验码,最后将数据帧发送到以太网上。在接收过程中,CS8900A将从以太网收到的数据帧在经过解码、去帧头和地址校验等步骤后缓存在片内。在CRC校验通过后,CS8900A会根据初始化配置情况,通知主机接收到了数据帧。最后,用DMA模式传到主机的存储区中。接口转换电路中的以太网接口电路电路图如图3所示。
如图3所示,本设计采用的是在通用的嵌入式微处理器$3C2440A上扩展以太网接口的方式。CS8900A通过总线与处理器相连,中断与处理器外部中断相接。S3C2440A的数据线DB『15:0』与CS8900A的数据线SD『15:0』连接,地址线AB『19:0』与CS8900A的数据线SA『19:0』连接,用来实现CS8900A与S3C2440A之间的数据传输;S3C2440A的NET_IOR引脚连接CS8900A的读引脚nIOR,NET_IOW引脚连接CS8900A的写引脚nIOW,用来控制CS8900A的读写;CS8900A与网络的连接由接收信号线RXD、RXD-和发送信号线TXD、TXD-通过隔离变压器FB2022与以太网水晶接头RJ_45相连。隔离变压器的主要作用是将嵌入式系统与外部线路相隔离,防止干扰和烧坏元器件,实现带电的插拔功能。其内部结构图如图4所示。
3 数据管理
为了使网络管理变得简洁有效,本设计中采用了因特网工程任务组(IETF)制定的基于TCP/IP参考模型的简单网络管理协议(SNMP)。通过对SNMP软件包的解包以及扩展agent代理等操作,将处理器获取的UPS工作信息转化为MIB节点变量值。从而实现了由串口监控到网络监控的UPS监控方式的转变,使其能够更为有效地在SNMP协议下进行监控。
3.1 μCiinux的移植
本设计中采用了带有SNMP协议的μClinux操作系统,实现方式简单。不仅完成了串行接口到网络接口的转换,还使用户可以通过监控界面按照SNMP协议标准进行统一管理。对于μClinux系统U-boot是最合适的Bootloader,其设计过程如图5所示。
3.2 串行数据解析
由于移植SNMP软件包后用户只能对当前软件包中的MIB库进行操作,因此还需要添加自己定义的MIB库,将SNMP扩展的代理程序添加到μClinux操作系统中去。根据专为UPS制定的串口协议标准MegaTec,可先向UPS发送信息查询命令,然后将接收到的数据进行解析,从而得到了UPS的基本信息,返回给监控系统。MegaTec协议中规定了通过串口监控UPS的命令格式以及其他各项基本参数,用户只需发送相应的命令即可得到需要的UPS工作信息。串口解析数据的流程如图6所示。
4 结束语
本文提出了一种智能的基于SNMP网络管理协议的UPS接口转换卡的设计方案。其中以太网接口电路由以太网物理层芯片CS8900A,网络隔离变压器FB2022和RJ45接口所组成。软件设计使用了μClinux操作系统,可以方便地移植SNMP应用程序,使得仅拥有串行接口的UPS具有连网能力,实现了UPS由串口监控到网络监控的转变,完成了UPS的网络管理和监控。