基于STC89C58RD+單片機(jī)的空調(diào)網(wǎng)絡(luò)管理系統(tǒng)的控制終端設(shè)備設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在學(xué)校等單位,分散安裝空調(diào)存在隨意開(kāi)、通開(kāi)造成的電能浪費(fèi)現(xiàn)象,這不僅增加了單位的運(yùn)作成本,同時(shí)還給管理增加了難度。為解決此問(wèn)題,利用STC89C58RD+作中央處理器、rtl8019as作網(wǎng)卡、TCP/IP為通信協(xié)議,設(shè)計(jì)一款空調(diào)網(wǎng)絡(luò)管理系統(tǒng)的控制終端設(shè)備。便于管理人員通過(guò)空調(diào)網(wǎng)絡(luò)管理系統(tǒng)的操作,實(shí)現(xiàn)在網(wǎng)絡(luò)上對(duì)空調(diào)(受控設(shè)備)的開(kāi)、關(guān)實(shí)施控制,也便于通過(guò)空調(diào)網(wǎng)絡(luò)管理系統(tǒng)了解空調(diào)(受控設(shè)備)的運(yùn)行狀態(tài),并隨時(shí)加以管理控制。從而達(dá)到節(jié)能降耗和節(jié)支增效的經(jīng)濟(jì)、高效的IT管理模式,具有理論意義和應(yīng)用價(jià)值。
1 硬件
1.1 終端主機(jī)電路
整個(gè)電路分為電源、網(wǎng)絡(luò)接口、數(shù)據(jù)處理和控制I/O接口等四部分。電源由一個(gè)DC 9 V輸入,分別用78L05和78L06兩個(gè)集成穩(wěn)壓器分成+5 V和+6 V的分支電源。+5 V電源為控制終端提供電源;+6 V電源作為光電耦合器的啟動(dòng)電源,以便在光電耦合器的動(dòng)作過(guò)程中,不影響主機(jī)的工作。服務(wù)器通過(guò)英特網(wǎng)接口與終端交換信息,再由控制終端通過(guò)I/O接口控制或獲取空調(diào)(受控)設(shè)備的即時(shí)狀態(tài)。其結(jié)構(gòu)框圖如圖1所示。
1.2 主要元器件
線路板主要由網(wǎng)絡(luò)變壓器FB2022、高度集成的以太網(wǎng)控制器RTL8019AS、鎖存器74HC573、靜態(tài)RAM存儲(chǔ)器62256、主控制STC89C58RD+等芯片,RJ45接口和幾組光電耦合器以及一些外圍元器件組成。其中,主控芯片STC89C58RD+內(nèi)部資源[1]包括:32 KB內(nèi)部閃存;1 280 B片內(nèi)RAM數(shù)據(jù)存儲(chǔ)器;工作頻率0~35 MHz(相當(dāng)于普通8051的0~420 MHz);有內(nèi)部看門(mén)狗電路,解決了外界影響帶來(lái)的“死機(jī)”問(wèn)題;具有4級(jí)8個(gè)中斷源,提供2個(gè)額外的外部中斷機(jī)制和4組I/O口等。此外,還有寬電壓,低功耗,與其他8051完全兼容的特點(diǎn)。RTL8019AS為臺(tái)灣芯片生產(chǎn)商ReaLTEk公司針對(duì)第三代快速以太網(wǎng)連接而設(shè)計(jì),它支持多種嵌入式處理器芯片,內(nèi)置FIFO緩存器用于直接發(fā)送和接收數(shù)據(jù)。RTL8019AS支持以太網(wǎng)II和IEEE802.3;軟件兼容8 bit和16 bit的NE2000。對(duì)于沒(méi)有很復(fù)雜數(shù)據(jù)流處理的本控制終端機(jī)來(lái)說(shuō),低廉的造價(jià)也能夠達(dá)到較理想的網(wǎng)絡(luò)系統(tǒng)管理效果。
1.3 硬件控制實(shí)現(xiàn)
控制終端與空調(diào)間用光電耦合器連接,當(dāng)控制終端接收到系統(tǒng)“電源開(kāi)”指令時(shí),相應(yīng)的光電耦合器閉合,打開(kāi)空調(diào)電源,此時(shí)空調(diào)處于伺服狀態(tài),面板上的電源指示燈亮,等待系統(tǒng)或遙控器等發(fā)送“運(yùn)行”指令。同時(shí),因空調(diào)電源指示燈打開(kāi)而相應(yīng)的光電耦合器導(dǎo)通,把空調(diào)的即時(shí)狀態(tài)信息通過(guò)控制終端處理后傳給系統(tǒng)??照{(diào)進(jìn)入伺服狀態(tài)后,如果接收到系統(tǒng)或其他方式的“運(yùn)行”操作指令時(shí),空調(diào)就開(kāi)始運(yùn)行,面板上的“運(yùn)行”指示燈亮。同時(shí)因面板“運(yùn)行”指示燈亮而相應(yīng)的光電耦合器導(dǎo)通,把空調(diào)的“運(yùn)行”狀態(tài)信息通過(guò)控制終端處理后傳給系統(tǒng)。當(dāng)控制終端接收到系統(tǒng)“電源關(guān)”的指令時(shí),將關(guān)閉空調(diào)的運(yùn)行狀態(tài),并且切斷空調(diào)的電源。此時(shí)空調(diào)處于完全停止?fàn)顟B(tài),遙控及受控設(shè)備本身的任何硬件按鈕操作均無(wú)效。就這樣,基于TCP/IP協(xié)議的可靠通信連接,控制終端隨時(shí)等待著執(zhí)行服務(wù)器給它的系統(tǒng)指令,并周期性地把受控設(shè)備的即時(shí)狀態(tài)信息反饋給服務(wù)器。在試驗(yàn)中,如表1所示為用LED模擬空調(diào)設(shè)備,由不同IP和端口的兩個(gè)終端與同一臺(tái)服務(wù)器相連得出的實(shí)驗(yàn)結(jié)果。當(dāng)控制終端接收到系統(tǒng)發(fā)來(lái)的指令“1”時(shí),空調(diào)“總電源”開(kāi)啟,LED1亮,同時(shí)向服務(wù)器反饋“電源開(kāi)”的信息。在“電源開(kāi)”的狀態(tài)下,控制終端接收到系統(tǒng)指令“2”時(shí),空調(diào)“總電源關(guān)”,LED1滅;接收到系統(tǒng)指令“3”、“4”時(shí),控制終端和負(fù)載相應(yīng)的動(dòng)作是“運(yùn)行、LED2亮”、“停止、LED2滅”。當(dāng)“總電源關(guān)、LED1滅”后,沒(méi)有收到系統(tǒng)指令“1”時(shí),其他任何指令對(duì)負(fù)載的控制無(wú)效,終端狀態(tài)燈無(wú)顯示,同時(shí)反饋給系統(tǒng)的信息為“關(guān)閉中”。
1.4 安全控制原理
在同一管理系統(tǒng)內(nèi),每一個(gè)控制終端都固化唯一的物理地址(MAC)、本地IP地址和端口號(hào),除了只與本身固有IP地址的服務(wù)器相應(yīng)端口通信外,不與其他微機(jī)發(fā)生關(guān)系;終端與終端之間也不會(huì)有任何干擾。其他PC主機(jī)在權(quán)限范圍內(nèi)可以通過(guò)服務(wù)器瀏覽或操作系統(tǒng)中各控制終端的設(shè)備狀態(tài)。這樣有利于設(shè)備運(yùn)行的安全性和可靠性。如需系統(tǒng)維護(hù),也只需將安裝好空調(diào)管理系統(tǒng)的備用服務(wù)器的IP地址更改成控制終端對(duì)應(yīng)服務(wù)器的IP地址即可。
2 TCP/IP的移植引用
2.1 開(kāi)源TCP/IP的選擇
從來(lái)自不同出處的資料顯示,移植TCP/IP到8 bit低端處理器上,如uIP等不同版本TCP/IP棧的移植已有很多成功的案例。本控制終端的網(wǎng)絡(luò)接口實(shí)現(xiàn),是成功地移植引用了ZLIP版的TCP/IP協(xié)議棧[2],其顯著特點(diǎn)是:
(1)有適中的代碼量和RAM使用量。使用22.118 4 MHz晶振、KeilC編譯器、STC89C58RD+單片機(jī)下測(cè)試的技術(shù)參數(shù)如表2所示。
(2)與BSD套接字基本相同,接口簡(jiǎn)單,使用方便。
(3)支持PINg命令的響應(yīng)。
(4)本身為單片機(jī)設(shè)計(jì)。所有的外部變量都使用了 xdata類型,全部指針都為明確存儲(chǔ)類型的指針,需要重入的函數(shù)已經(jīng)聲明為reentrant,減少了重入函數(shù)在內(nèi)存中的滯留。
2.2 網(wǎng)絡(luò)通信的實(shí)現(xiàn)
(1)ZLIP棧符合BSD標(biāo)準(zhǔn),定義一個(gè)套接字類型的全局變量“ExConn”,創(chuàng)建套接字。即:
ExConn = TCPSocket(IPAddr);
(2)寫(xiě)函數(shù)void OnACCeptRecv(void DT_XDATA* buf,WORD size)REENTRANT_MUL作為連接函數(shù)的參數(shù),以便數(shù)據(jù)傳輸?shù)挠行?duì)接。
(3)通過(guò)調(diào)用函數(shù)TCPConnect(ExConn,0xc0a80002, 55000,OnAcceptRecv,OnClose)主動(dòng)與IP“192.168.0.2(IP地址的十六進(jìn)制表示為0xc0a80002)”相匹配的服務(wù)器進(jìn)行連接。獲得服務(wù)器分配相應(yīng)的“55000”端口進(jìn)行套接,實(shí)現(xiàn)收發(fā)數(shù)據(jù)和關(guān)閉連接的接口,從此進(jìn)行正常通信。
(4)主動(dòng)與服務(wù)器進(jìn)行連接,提高系統(tǒng)管理的可靠性和安全性。如遇服務(wù)器故障或關(guān)閉,終端會(huì)周期性發(fā)出ARP廣播,直到重新正常連接。
3 軟件的實(shí)現(xiàn)
3.1 網(wǎng)卡驅(qū)動(dòng)的引用及更改
3.1.1 網(wǎng)卡驅(qū)動(dòng)基地址的更改
因?yàn)橛布木€路板設(shè)計(jì)有差別,將ZLIP里的RTL8019.H的基地址宏定義0xb000改成0x8000(#define RTL_BASE_ADDRESS 0x8000)。
3.1.2 網(wǎng)卡復(fù)位啟動(dò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++);
}
終端上電時(shí),采用冷啟動(dòng)復(fù)位,便于終端即時(shí)初始化網(wǎng)卡。
3.1.3 控制終端主程序
終端上電,初始化各模塊后,通過(guò)創(chuàng)建的套接字主動(dòng)去與服務(wù)器對(duì)接,然后向服務(wù)器發(fā)送準(zhǔn)備就緒的信號(hào),周期性地檢測(cè)與服務(wù)器連接的情況,靜靜地等待服務(wù)器的指令和觀察受控設(shè)備的狀態(tài)。一旦情況有變,就立即執(zhí)行相應(yīng)的動(dòng)作。終端工作流程圖如圖2所示。
3.2 控制管理的實(shí)現(xiàn)
3.2.1 管理設(shè)備電源
受控設(shè)備的電源只有一種開(kāi)通方式:即系統(tǒng)管理員通過(guò)服務(wù)器的“電源開(kāi)”指令操作。其他任何形式和個(gè)人(專業(yè)維修人員除外)在沒(méi)有授權(quán)的前題下操作均無(wú)效。
3.2.2 受控設(shè)備的狀態(tài)管理
系統(tǒng)管理員可隨時(shí)從空調(diào)網(wǎng)絡(luò)管理系統(tǒng)中了解到設(shè)備的開(kāi)啟運(yùn)行狀況,對(duì)有異常的設(shè)備及時(shí)向工程維修中心發(fā)送維修申請(qǐng),然后由維修中心解決出現(xiàn)的異常。其他人員可以通過(guò)系統(tǒng)平臺(tái)瀏覽設(shè)備運(yùn)行狀況,遞交設(shè)備使用時(shí)段申請(qǐng)文件,請(qǐng)求系統(tǒng)管理員給予使用時(shí)效權(quán)??照{(diào)(受控設(shè)備)電源一旦開(kāi)通,就給使用者充分的使用權(quán)限,讓其自由使用。這樣,既給使用者充分的自由,又給管理帶來(lái)了方便,就基本上杜絕了隨開(kāi)、亂開(kāi)、通開(kāi)的電能浪費(fèi)的現(xiàn)象。從而提高了設(shè)備的利用率和完好率,令其運(yùn)行于經(jīng)濟(jì)、高效的網(wǎng)絡(luò)系統(tǒng)管理模式下。
單片機(jī)的應(yīng)用有利于產(chǎn)品的小型化、多功能化和智能化,有助于提高勞動(dòng)效率,減輕勞動(dòng)強(qiáng)度,改善勞動(dòng)環(huán)境,減少能源和材料消耗,保證安全等。本控制終端是作為單一的客戶端設(shè)計(jì),把系統(tǒng)管理中大量數(shù)據(jù)處理及存儲(chǔ)的工作交給服務(wù)器去做。這樣大大節(jié)省了控制終端的資源,降低了負(fù)荷,讓控制終端專注于處理服務(wù)器發(fā)來(lái)的指令并按要求對(duì)空調(diào)加以控制。同時(shí),把受控設(shè)備的運(yùn)行狀態(tài)及時(shí)傳送給服務(wù)器,讓系統(tǒng)管理員隨時(shí)掌控系統(tǒng)中各空調(diào)的運(yùn)行狀態(tài)?;诔绦蚪Y(jié)構(gòu)簡(jiǎn)單、硬件結(jié)構(gòu)合理、造價(jià)低廉且安裝方便的空調(diào)網(wǎng)絡(luò)管理系統(tǒng)控制終端,僅對(duì)空調(diào)小作改進(jìn),即可輕松把已有的設(shè)備納入統(tǒng)一、高效的智能化管理,讓“物盡其用、物盡其能、物有所值”。
參考文獻(xiàn)
[1] 宏晶科技.8051系列單片機(jī)選型[DB/OL].http://www.mcu-memory.com/stc-mcu-select-1.htm.
[2] 李章林.ZLIP使用簡(jiǎn)介[DB/OL].[2