UPS(uninterruptible power supply)直譯為不間斷電源系統(tǒng)。作為網(wǎng)絡(luò)系統(tǒng)中的保護(hù)設(shè)備,它主要起到兩個(gè)作用:(1)為電腦系統(tǒng)提供備用電源,目的是防止電網(wǎng)供電突然斷電造成對(duì)重要文件數(shù)據(jù)損害;(2)消除電網(wǎng)供電上的“污染”(包括浪涌、波動(dòng)、脈沖、噪聲等),使電腦中的電子部件免受摧毀性損壞。而如何確保UPS系統(tǒng)的正常運(yùn)作就成為一門新的課題。監(jiān)測(cè)UPS中的電池狀況,UPS機(jī)房的環(huán)境溫度,UPS系統(tǒng)的負(fù)載情況,都將成為確保UPS系統(tǒng)正常工作不可或缺的一部分。
當(dāng)前是一個(gè)構(gòu)筑在網(wǎng)絡(luò)基礎(chǔ)之上的信息化時(shí)代。未來的社會(huì)必然是一個(gè)以IP網(wǎng)絡(luò)和IP業(yè)務(wù)為主的信息化社會(huì)。通過Internet實(shí)現(xiàn)對(duì)遠(yuǎn)程設(shè)備進(jìn)行實(shí)時(shí)的監(jiān)控是一個(gè)非常有前景的想法。這也就是嵌入式Internet技術(shù)的產(chǎn)生背景。嵌入式Internet技術(shù)是以Internet技術(shù)和嵌入式技術(shù)的發(fā)展為基礎(chǔ)的。該技術(shù)的出現(xiàn)使得各種家用設(shè)備的上網(wǎng)成為可能。如果嵌入式設(shè)備提供WWW,則用戶就可以通過Internet遠(yuǎn)程監(jiān)測(cè)各種設(shè)備。
結(jié)合實(shí)際需要,如何利用Internet方便的實(shí)現(xiàn)對(duì)不同的UPS機(jī)房進(jìn)行統(tǒng)一監(jiān)測(cè)和管理將成為大型UPS系統(tǒng)的基本要求。
一、概述
本文提出的基于嵌入式web服務(wù)器的UPS監(jiān)測(cè)系統(tǒng)有兩部分組成(見圖1):測(cè)量網(wǎng)和嵌入式web服務(wù)器。其中測(cè)量網(wǎng)完成對(duì)UPS機(jī)房的監(jiān)測(cè)并將測(cè)量結(jié)果傳送到嵌入式web服務(wù)器上;嵌入式web服務(wù)器獲取測(cè)量結(jié)果并且完成web服務(wù)器功能,使得用戶可以遠(yuǎn)程訪問測(cè)量結(jié)果。下面分別介紹這兩部分。
圖1 系統(tǒng)結(jié)構(gòu)
二、測(cè)量網(wǎng)
圖2可見,測(cè)量網(wǎng)主要由集成測(cè)量?jī)x和溫濕度模塊組成,組網(wǎng)方式采用通用的RS-485總線方式。每個(gè)嵌入式web服務(wù)器可以通過RS-485和多臺(tái)集成測(cè)量?jī)x相連,最多可以掛接32個(gè)集成測(cè)量?jī)x;而每臺(tái)集成測(cè)量?jī)x又可以通過RS-485總線和溫濕度模塊相連,同樣最多可以掛接32個(gè)溫濕度模塊。
圖2 測(cè)量網(wǎng)組成原理圖
集成測(cè)量?jī)x主要完成以下幾個(gè)功能:(1)測(cè)量UPS電池組電壓和充放電電流;(2)測(cè)量配電柜三相電壓和電流;(3)同嵌入式web服務(wù)器進(jìn)行通信;(4)同溫濕度模塊進(jìn)行通信。其中UPS電池組測(cè)量和配電柜測(cè)量是設(shè)計(jì)方案中的難點(diǎn)和重點(diǎn)。
考慮到UPS電池組和配電柜的測(cè)量比例需要能過靈活搭配且相互之間不影響,故特設(shè)計(jì)通用的總線將UPS電池組測(cè)量和配電柜測(cè)量模塊化,制成通用的UPS電池組測(cè)量卡和配電柜監(jiān)測(cè)卡。集成測(cè)量?jī)x的設(shè)計(jì)分為:總線板、控制板、UPS電池組測(cè)量卡和配電柜監(jiān)測(cè)卡。
控制板完成與嵌入式web服務(wù)器和溫濕度模塊的通信,以及測(cè)量各個(gè)板卡所傳遞的信號(hào);而UPS電池組測(cè)量卡和配電柜監(jiān)測(cè)卡將帶測(cè)量的信號(hào)轉(zhuǎn)換成芯片可測(cè)量的電信號(hào);總線板則控制待測(cè)信號(hào)進(jìn)入控制板進(jìn)行測(cè)量(其中電源模塊設(shè)計(jì)在總線板上)。
溫濕度模塊用于將測(cè)量點(diǎn)的溫濕度參數(shù)通過RS-485傳給集成測(cè)量?jī)x。
通過以上的設(shè)計(jì),使用者可以根據(jù)具體情況,靈活搭配電池組、配電柜和溫濕度的測(cè)量比例,從而滿足不同UPS機(jī)房的需求。
三、嵌入式web服務(wù)器
硬件實(shí)現(xiàn):
圖3 嵌入式web服務(wù)器硬件結(jié)構(gòu)框圖
嵌入式web服務(wù)器主要芯片有CYGNAL公司的C8051F020芯片、RTL8019AS以太網(wǎng)控制芯片、IS62LV1024L靜態(tài)存儲(chǔ)器、AT45081B FLASH和MAX485。
C8051F020芯片是完全集成的混合信號(hào)系統(tǒng)級(jí)芯片(SOC),具有與8051指令集完全兼容的CIP-51內(nèi)核。其時(shí)鐘頻率可達(dá)25MHz,最大25MIPS,片內(nèi)具有4kB的SRAM和64kB的Flash,22個(gè)中斷源、串行外設(shè)總線接口SPI、兩個(gè)增強(qiáng)型UART、五個(gè)16位定時(shí)器、可編程技術(shù)器/定時(shí)器陣列、看門狗定時(shí)器以及電源監(jiān)視器等內(nèi)嵌外設(shè)。完全可以滿足本系統(tǒng)的需要。
RTL8019AS是臺(tái)灣Realtek公司制造的全雙工10Mbps以太網(wǎng)控制芯片。該芯片符合ETHERNET 2與IEEE802.3標(biāo)準(zhǔn),內(nèi)置16KB的SRAM、雙DMA通道和FIFO,支持8/16位數(shù)據(jù)總線和基地址選擇。在本系統(tǒng)中RTL8019AS工作在8位模式下,其中一套DMA用于和C8051F020通信,稱為遠(yuǎn)端DMA,另一套DMA用于內(nèi)部使用,成為本地DMA。微控制器C8051F020通過訪問RTL8019AS上的讀寫指針以判斷是否有以太網(wǎng)數(shù)據(jù)到達(dá)IS62LV1024L和AT45081B為存儲(chǔ)芯片主要是增加系統(tǒng)的存儲(chǔ)容量;MAX485用于和測(cè)量系統(tǒng)通信。C8051F020通過MAX485將測(cè)量系統(tǒng)的結(jié)果存儲(chǔ)到本機(jī),通過RTL8019AS將回應(yīng)來自internet的訪問。
TCP/IP協(xié)議的簡(jiǎn)化:
結(jié)合工業(yè)測(cè)量的需求,嵌入式web服務(wù)器中的TCP/IP協(xié)議的一般都是根據(jù)具體情況進(jìn)行簡(jiǎn)化。從而能夠最大限度的節(jié)約硬件的硬件和軟件資源。
TCP/IP一般采用簡(jiǎn)化的四層模型:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和鏈路層。
應(yīng)用層主要完成一個(gè)對(duì)話過程即負(fù)責(zé)對(duì)數(shù)據(jù)進(jìn)行解釋,如HTTP FTP TELNET等協(xié)議,在本系統(tǒng)中結(jié)合自身需要我們只處理HTTP協(xié)議。
傳輸層是負(fù)責(zé)提供端到端的通信即通過明確定義數(shù)據(jù)通道和特性傳輸數(shù)據(jù),例如定義網(wǎng)絡(luò)端口,該層協(xié)議由傳輸控制協(xié)議TCP(提供可靠的數(shù)據(jù)傳輸)和用戶數(shù)據(jù)報(bào)協(xié)議UDP(提供不可靠的數(shù)據(jù)傳輸)組成。
應(yīng)用層協(xié)議HTTP使用TCP傳輸控制協(xié)議,故本系統(tǒng)只實(shí)現(xiàn)TCP協(xié)議。
網(wǎng)絡(luò)層負(fù)責(zé)處理從發(fā)送方到目的地址的路由信息,同時(shí)為建立網(wǎng)絡(luò)互聯(lián)提供ARP地址解析協(xié)議(用于實(shí)現(xiàn)物理地址和IP地址的映像)和ICMP因特網(wǎng)控制報(bào)文協(xié)議(傳遞差錯(cuò)報(bào)文以及其他需要注意的信息)。
鏈路層負(fù)責(zé)為不同的網(wǎng)絡(luò)鏈路提供通明的數(shù)據(jù)傳輸,在本系統(tǒng)中該層由RTL8019硬件來實(shí)現(xiàn)。
圖4 精簡(jiǎn)TCP/IP協(xié)議棧主要函數(shù)
上圖為本系統(tǒng)實(shí)現(xiàn)TCP/IP為每一層設(shè)計(jì)的主要函數(shù)。其中,HTTP_SERVER()為HTTP服務(wù)程序,該程序接收由傳輸層接收的數(shù)據(jù),并根據(jù)接收的數(shù)據(jù)決定是否做出響應(yīng);HTTP_SEND()將HTML文件發(fā)送到TCP層;TCP_SEND()和TCP_RCEV()分別為發(fā)送和接收TCP數(shù)據(jù);ICMP_RCVE()和PING_SEND()用來響應(yīng)因特網(wǎng)控制報(bào)文協(xié)議;ARP_RESLOVE()、ARP_RCV()E和ARP_SEND()用來實(shí)現(xiàn)IP地址和物理地址的映像和對(duì)ARP的響應(yīng);IP_SEND()和IP_RCVE()用來發(fā)送和接收IP數(shù)據(jù)報(bào);ETH_RCVE()、ETH_SEND()、RCVE_FRAME()和SEND_FRAME()用于實(shí)現(xiàn)驅(qū)動(dòng)RTL8019AS接收和發(fā)送數(shù)據(jù)。
軟件實(shí)現(xiàn):
本軟件一方面要實(shí)現(xiàn)web服務(wù)器的功能,其中包括對(duì)IP地址的設(shè)置和TCP/IP以及HTTP協(xié)議的實(shí)現(xiàn);另一方面要通過RS-485總線從測(cè)量網(wǎng)接收測(cè)量數(shù)據(jù),并更新到html文件中,使得用戶可以得到當(dāng)前的測(cè)量數(shù)據(jù)。圖5為嵌入式web服務(wù)器軟件設(shè)計(jì)流程。
圖5 嵌入式web服務(wù)器軟件設(shè)計(jì)流程
系統(tǒng)首先進(jìn)行初始化配置,然后使用CHECK_8019函數(shù)查看RTL8019AS的狀態(tài)。然后根據(jù)系統(tǒng)狀態(tài)確定,調(diào)用那些函數(shù)進(jìn)行處理。系統(tǒng)首先判斷是否有以太網(wǎng)數(shù)據(jù)到達(dá),如果是則進(jìn)行數(shù)據(jù)進(jìn)棧處理。如果不是有以太網(wǎng)數(shù)據(jù)到達(dá),則判斷是否TCP傳送超時(shí)(即是否收到TCP_ACK),如果超時(shí)則啟動(dòng)網(wǎng)頁(yè)重傳。如果TCP沒有超時(shí)則判斷是否已有的TCP連接是否已無數(shù)據(jù)傳輸。如果是則關(guān)閉該連接。如果該連接空閑占用并未超時(shí),則判斷是否ARP傳送超時(shí)。超時(shí)則重傳ARP,否則判斷是否ARP緩存已經(jīng)過時(shí)。如果是,則清除該緩存,否則判斷是否到時(shí)間刷新測(cè)量數(shù)據(jù)。并在所有處理之后返回CHECK_8019函數(shù)。
其中“數(shù)據(jù)進(jìn)棧處理”的流程如圖6所示,首先通過ETH_RCVE()和RCVE_FRAME()對(duì)數(shù)據(jù)進(jìn)行處理,判斷是ARP_PACKET還是IP_PACKET,如果是ARP數(shù)據(jù)則依次經(jīng)過ARP_RCVE()、ARP_RESLOVE()、和ARP_SEND()進(jìn)行ARP響應(yīng)。
如果是IP數(shù)據(jù)則送往IP_RCVE(),并判斷是TCP_PACKET還是ICMP_PACKET,如果是TCP_PACKET則送TCP_RCVE()。TCP_RCVE()根據(jù)接收的數(shù)據(jù)建立連接并將數(shù)據(jù)送往HTTP_SERVER()。如果是ICMP_PACKET則送PING_SEND。HTTP_SERVER()響應(yīng)接收到的數(shù)據(jù)并依次調(diào)用發(fā)送函數(shù),將網(wǎng)頁(yè)發(fā)送到請(qǐng)求方。
圖6 數(shù)據(jù)進(jìn)棧處理流程圖
“讀取測(cè)量數(shù)據(jù)”模塊完成以下工作:通過RS-485總線分別從不同的集成測(cè)量?jī)x上將測(cè)量數(shù)據(jù)取回,并且將網(wǎng)頁(yè)刷新。故用戶能夠訪問到當(dāng)前最新測(cè)量數(shù)據(jù)。
四、結(jié)束語
通過該系統(tǒng),用戶可以通過internet網(wǎng)遠(yuǎn)程對(duì)UPS機(jī)房進(jìn)行監(jiān)控,并且能夠根據(jù)自身系統(tǒng)的需求靈活進(jìn)行系統(tǒng)配置以滿足不同用戶的需求,也可以以此為基礎(chǔ)開發(fā)大型的UPS系統(tǒng)管理軟件。
參考文獻(xiàn)
[1] W.Richard stevens,范建華,胥光輝,張濤等譯 TCP/IP詳解 卷1 機(jī)械工業(yè)出版社;
[2] Bentham Jeremy,陳向群譯,嵌入式系統(tǒng)web服務(wù)器 機(jī)械工業(yè)出版社;
[3] 陳學(xué)泉、關(guān)宇東 嵌入式TCP/IP協(xié)議單片機(jī)技術(shù)在網(wǎng)絡(luò)通信中的應(yīng)用[J],電子技術(shù)應(yīng)用,2002(8):48-49;
[4] 黃天戌 劉洋 一種嵌入式web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)應(yīng)用 2004(11)