中心議題:
- 基于SNMP的UPS接口轉換卡設計方案
解決方案:
- UPS監控系統設計
- UPS接口轉換卡設計
- UPS監控網絡數據管理
不間斷電源(UPS)能夠給計算機等電力電子設備提供持續穩定的不間斷電源供應,以避免因供電不穩定時而造成的設備損壞。但是由于UPS有限的備用時間,以及在工作中可能存在的各種異常情況,使得管理人員必須及時準確地了解設備運行時的電力環境,掌握UPS的工作狀況。目前大多數UPS監控系統是通過RS232或RS485的串行接口對UPS進行人工值守的方式進行監控。但這兩種接口都有傳輸距離的限制,不能實現任意距離的分散式遠程監控。針對這一問題,本文提出了一種基于SNMP網絡管理協議的UPS監控系統的設計方案,設計了集成SNMP協議的硬件接口轉換卡,使得僅擁有串行接口的UPS具有連網能力,從而實現了UPS的網絡管理和監控。
1 系統設計
整個監控系統框圖如圖1所示。
圖1 監控系統框圖
整個系統的核心為基于SNMP網絡管理協議的接口轉換卡。接口轉換卡一端通過網線與監控計算機相連,管理人員通過計算機可方便地對其進行操作。接口轉換卡另一端通過與UPS上的串行接口連接,來獲取UPS工作的各種信息及參數,然后再利用SNMP協議將接收到的數據轉換為管理信息庫(MIB)節點的變量值。管理員通過網絡管理軟件對MIB節點變量進行操作,從而獲得各UPS的監控信息,實現了安全可靠的遠程分散式管理。
2 接口轉換卡
2.1 硬件結構
單個的接口轉換卡主要由處理器、串口電路以及以太網接口電路組成。其結構框圖如圖2所示。
圖2 轉換卡結構框圖
用戶可根據自己的需求,定義包含UPS監控信息參數的管理信息庫,并將其保存。接口轉換卡的串行接口電路與UPS上的串行接口相接,控制器通過控制串行接口電路來獲取UPS的工作信息。處理器將接收到的數據與管理信息庫中所定義的數據一一對應并保存,并通過以太網接口電路定時向網絡管理系統發送用戶需要的即時信息。網絡管理系統對管理信息庫中的變量進行操作,向接口轉換卡發送查詢和設置節點等命令,處理器通過查詢MIB中相應的節點信息,根據串口通信協議向UPS發出相應的命令,再將得到的結果返回給網絡監控系統。
[page]
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 以太網電路圖
如圖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所示。
圖4 FB2022 內部結構圖
3 數據管理
為了使網絡管理變得簡潔有效,本設計中采用了因特網工程任務組(IETF)制定的基于TCP/IP參考模型的簡單網絡管理協議(SNMP)。通過對SNMP軟件包的解包以及擴展agent代理等操作,將處理器獲取的UPS工作信息轉化為MIB節點變量值。從而實現了由串口監控到網絡監控的UPS監控方式的轉變,使其能夠更為有效地在SNMP協議下進行監控。
[page]
3.1 μCiinux的移植
本設計中采用了帶有SNMP協議的μClinux操作系統,實現方式簡單。不僅完成了串行接口到網絡接口的轉換,還使用戶可以通過監控界面按照SNMP協議標準進行統一管理。對于μClinux系統U-boot是最合適的Bootloader,其設計過程如圖5所示。
圖5 Uboot設計過程
3.2 串行數據解析
由于移植SNMP軟件包后用戶只能對當前軟件包中的MIB庫進行操作,因此還需要添加自己定義的MIB庫,將SNMP擴展的代理程序添加到μClinux操作系統中去。根據專為UPS制定的串口協議標準MegaTec,可先向UPS發送信息查詢命令,然后將接收到的數據進行解析,從而得到了UPS的基本信息,返回給監控系統。MegaTec協議中規定了通過串口監控UPS的命令格式以及其他各項基本參數,用戶只需發送相應的命令即可得到需要的UPS工作信息。串口解析數據的流程如圖6所示。
圖6 串口數據解析流程
結束語
本文提出了一種智能的基于SNMP網絡管理協議的UPS接口轉換卡的設計方案。其中以太網接口電路由以太網物理層芯片CS8900A,網絡隔離變壓器FB2022和RJ45接口所組成。軟件設計使用了μClinux操作系統,可以方便地移植SNMP應用程序,使得僅擁有串行接口的UPS具有連網能力,實現了UPS由串口監控到網絡監控的轉變,完成了UPS的網絡管理和監控。