摘 要: 設計一款基于STC89C58RD+單片機的空調網(wǎng)絡管理系統(tǒng)控制終端。介紹了空調網(wǎng)絡管理系統(tǒng)控制終端的基本電路結構,控制終端軟件實現(xiàn)的流程和實驗結果。該設計使離散安裝的空調(受控設備)經(jīng)過電源的細微改進后,納入空調網(wǎng)絡管理系統(tǒng)的管理成為可能。
關鍵詞: 單片機;TCP/IP;ZLIP應用;控制終端;設備管理
在學校等單位,分散安裝空調存在隨意開、通開造成的電能浪費現(xiàn)象,這不僅增加了單位的運作成本,同時還給管理增加了難度。為解決此問題,利用STC89C58RD+作中央處理器、rtl8019as作網(wǎng)卡、TCP/IP為通信協(xié)議,設計一款空調網(wǎng)絡管理系統(tǒng)的控制終端設備。便于管理人員通過空調網(wǎng)絡管理系統(tǒng)的操作,實現(xiàn)在網(wǎng)絡上對空調(受控設備)的開、關實施控制,也便于通過空調網(wǎng)絡管理系統(tǒng)了解空調(受控設備)的運行狀態(tài),并隨時加以管理控制。從而達到節(jié)能降耗和節(jié)支增效的經(jīng)濟、高效的IT管理模式,具有理論意義和應用價值。
1 硬件
1.1 終端主機電路
整個電路分為電源、網(wǎng)絡接口、數(shù)據(jù)處理和控制I/O接口等四部分。電源由一個DC 9 V輸入,分別用78L05和78L06兩個集成穩(wěn)壓器分成+5 V和+6 V的分支電源。+5 V電源為控制終端提供電源;+6 V電源作為光電耦合器的啟動電源,以便在光電耦合器的動作過程中,不影響主機的工作。服務器通過英特網(wǎng)接口與終端交換信息,再由控制終端通過I/O接口控制或獲取空調(受控)設備的即時狀態(tài)。其結構框圖如圖1所示。

1.2 主要元器件
線路板主要由網(wǎng)絡變壓器FB2022、高度集成的以太網(wǎng)控制器RTL8019AS、鎖存器74HC573、靜態(tài)RAM存儲器62256、主控制STC89C58RD+等芯片,RJ45接口和幾組光電耦合器以及一些外圍元器件組成。其中,主控芯片STC89C58RD+內部資源[1]包括:32 KB內部閃存;1 280 B片內RAM數(shù)據(jù)存儲器;工作頻率0~35 MHz(相當于普通8051的0~420 MHz);有內部看門狗電路,解決了外界影響帶來的“死機”問題;具有4級8個中斷源,提供2個額外的外部中斷機制和4組I/O口等。此外,還有寬電壓,低功耗,與其他8051完全兼容的特點。RTL8019AS為臺灣芯片生產(chǎn)商Realtek公司針對第三代快速以太網(wǎng)連接而設計,它支持多種嵌入式處理器芯片,內置FIFO緩存器用于直接發(fā)送和接收數(shù)據(jù)。RTL8019AS支持以太網(wǎng)II和IEEE802.3;軟件兼容8 bit和16 bit的NE2000。對于沒有很復雜數(shù)據(jù)流處理的本控制終端機來說,低廉的造價也能夠達到較理想的網(wǎng)絡系統(tǒng)管理效果。
1.3 硬件控制實現(xiàn)
控制終端與空調間用光電耦合器連接,當控制終端接收到系統(tǒng)“電源開”指令時,相應的光電耦合器閉合,打開空調電源,此時空調處于伺服狀態(tài),面板上的電源指示燈亮,等待系統(tǒng)或遙控器等發(fā)送“運行”指令。同時,因空調電源指示燈打開而相應的光電耦合器導通,把空調的即時狀態(tài)信息通過控制終端處理后傳給系統(tǒng)。空調進入伺服狀態(tài)后,如果接收到系統(tǒng)或其他方式的“運行”操作指令時,空調就開始運行,面板上的“運行”指示燈亮。同時因面板“運行”指示燈亮而相應的光電耦合器導通,把空調的“運行”狀態(tài)信息通過控制終端處理后傳給系統(tǒng)。當控制終端接收到系統(tǒng)“電源關”的指令時,將關閉空調的運行狀態(tài),并且切斷空調的電源。此時空調處于完全停止狀態(tài),遙控及受控設備本身的任何硬件按鈕操作均無效。就這樣,基于TCP/IP協(xié)議的可靠通信連接,控制終端隨時等待著執(zhí)行服務器給它的系統(tǒng)指令,并周期性地把受控設備的即時狀態(tài)信息反饋給服務器。在試驗中,如表1所示為用LED模擬空調設備,由不同IP和端口的兩個終端與同一臺服務器相連得出的實驗結果。當控制終端接收到系統(tǒng)發(fā)來的指令“1”時,空調“總電源”開啟,LED1亮,同時向服務器反饋“電源開”的信息。在“電源開”的狀態(tài)下,控制終端接收到系統(tǒng)指令“2”時,空調“總電源關”,LED1滅;接收到系統(tǒng)指令“3”、“4”時,控制終端和負載相應的動作是“運行、LED2亮”、“停止、LED2滅”。當“總電源關、LED1滅”后,沒有收到系統(tǒng)指令“1”時,其他任何指令對負載的控制無效,終端狀態(tài)燈無顯示,同時反饋給系統(tǒng)的信息為“關閉中”。
1.4 安全控制原理
在同一管理系統(tǒng)內,每一個控制終端都固化唯一的物理地址(MAC)、本地IP地址和端口號,除了只與本身固有IP地址的服務器相應端口通信外,不與其他微機發(fā)生關系;終端與終端之間也不會有任何干擾。其他PC主機在權限范圍內可以通過服務器瀏覽或操作系統(tǒng)中各控制終端的設備狀態(tài)。這樣有利于設備運行的安全性和可靠性。如需系統(tǒng)維護,也只需將安裝好空調管理系統(tǒng)的備用服務器的IP地址更改成控制終端對應服務器的IP地址即可。
2 TCP/IP的移植引用
2.1 開源TCP/IP的選擇
從來自不同出處的資料顯示,移植TCP/IP到8 bit低端處理器上,如uIP等不同版本TCP/IP棧的移植已有很多成功的案例。本控制終端的網(wǎng)絡接口實現(xiàn),是成功地移植引用了ZLIP版的TCP/IP協(xié)議棧[2],其顯著特點是:
(1)有適中的代碼量和RAM使用量。使用22.118 4 MHz晶振、KeilC編譯器、STC89C58RD+單片機下測試的技術參數(shù)如表2所示。
(2)與BSD套接字基本相同,接口簡單,使用方便。
(3)支持ping命令的響應。
(4)本身為單片機設計。所有的外部變量都使用了 xdata類型,全部指針都為明確存儲類型的指針,需要重入的函數(shù)已經(jīng)聲明為reentrant,減少了重入函數(shù)在內存中的滯留。
2.2 網(wǎng)絡通信的實現(xiàn)
(1)ZLIP棧符合BSD標準,定義一個套接字類型的全局變量“ExConn”,創(chuàng)建套接字。即:
ExConn = TCPSocket(IPAddr);
(2)寫函數(shù)void OnAcceptRecv(void DT_XDATA* buf,WORD size)REENTRANT_MUL作為連接函數(shù)的參數(shù),以便數(shù)據(jù)傳輸?shù)挠行印?br />
(3)通過調用函數(shù)TCPConnect(ExConn,0xc0a80002, 55000,OnAcceptRecv,OnClose)主動與IP“192.168.0.2(IP地址的十六進制表示為0xc0a80002)”相匹配的服務器進行連接。獲得服務器分配相應的“55000”端口進行套接,實現(xiàn)收發(fā)數(shù)據(jù)和關閉連接的接口,從此進行正常通信。
(4)主動與服務器進行連接,提高系統(tǒng)管理的可靠性和安全性。如遇服務器故障或關閉,終端會周期性發(fā)出ARP廣播,直到重新正常連接。
3 軟件的實現(xiàn)
3.1 網(wǎng)卡驅動的引用及更改
3.1.1 網(wǎng)卡驅動基地址的更改
因為硬件的線路板設計有差別,將ZLIP里的RTL8019.H的基地址宏定義0xb000改成0x8000(#define RTL_BASE_ADDRESS 0x8000)。
3.1.2 網(wǎng)卡復位啟動
添加函數(shù):
void rtl8019as_rst()
{
unsigned int idata i;
reset8019=1;
for(i=0;i<250;i++); reset8019=0;
for(i=0;i<250;i++);
}
終端上電時,采用冷啟動復位,便于終端即時初始化網(wǎng)卡。
3.1.3 控制終端主程序
終端上電,初始化各模塊后,通過創(chuàng)建的套接字主動去與服務器對接,然后向服務器發(fā)送準備就緒的信號,周期性地檢測與服務器連接的情況,靜靜地等待服務器的指令和觀察受控設備的狀態(tài)。一旦情況有變,就立即執(zhí)行相應的動作。終端工作流程圖如圖2所示。

3.2 控制管理的實現(xiàn)
3.2.1 管理設備電源
受控設備的電源只有一種開通方式:即系統(tǒng)管理員通過服務器的“電源開”指令操作。其他任何形式和個人(專業(yè)維修人員除外)在沒有授權的前題下操作均無效。
3.2.2 受控設備的狀態(tài)管理
系統(tǒng)管理員可隨時從空調網(wǎng)絡管理系統(tǒng)中了解到設備的開啟運行狀況,對有異常的設備及時向工程維修中心發(fā)送維修申請,然后由維修中心解決出現(xiàn)的異常。其他人員可以通過系統(tǒng)平臺瀏覽設備運行狀況,遞交設備使用時段申請文件,請求系統(tǒng)管理員給予使用時效權??照{(受控設備)電源一旦開通,就給使用者充分的使用權限,讓其自由使用。這樣,既給使用者充分的自由,又給管理帶來了方便,就基本上杜絕了隨開、亂開、通開的電能浪費的現(xiàn)象。從而提高了設備的利用率和完好率,令其運行于經(jīng)濟、高效的網(wǎng)絡系統(tǒng)管理模式下。
單片機的應用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動效率,減輕勞動強度,改善勞動環(huán)境,減少能源和材料消耗,保證安全等。本控制終端是作為單一的客戶端設計,把系統(tǒng)管理中大量數(shù)據(jù)處理及存儲的工作交給服務器去做。這樣大大節(jié)省了控制終端的資源,降低了負荷,讓控制終端專注于處理服務器發(fā)來的指令并按要求對空調加以控制。同時,把受控設備的運行狀態(tài)及時傳送給服務器,讓系統(tǒng)管理員隨時掌控系統(tǒng)中各空調的運行狀態(tài)。基于程序結構簡單、硬件結構合理、造價低廉且安裝方便的空調網(wǎng)絡管理系統(tǒng)控制終端,僅對空調小作改進,即可輕松把已有的設備納入統(tǒng)一、高效的智能化管理,讓“物盡其用、物盡其能、物有所值”。
參考文獻
[1] 宏晶科技.8051系列單片機選型[DB/OL].http://www.mcu-memory.com/stc-mcu-select-1.htm.
[2] 李章林.ZLIP使用簡介[DB/OL].[2005-11-28].http://www.zlmcu.com/project/ZLIP/download/ZLIP%20Application%20Note.pdf.
[3] 謝希仁.計算機網(wǎng)絡[M].第5版.北京:電子工業(yè)出版社,2008.
[4] 萬隆,巴奉麗.單片機原理及應用技術[M].北京:清華大學出版社,2010.
[5] COMER D E, STEVENS D L.用TCP/IP進行網(wǎng)際互連.第二卷:設計、實現(xiàn)與內核:ANSI C版[M].第三版.張娟,王海,黃述真譯.北京:電子工業(yè)出版社,2008.
