摘 要:本文介紹了一種基于以太網(wǎng)的電力智能監(jiān)控終端系統(tǒng)。該系統(tǒng)以16位單片機(jī)XAS3為核心處理器,利用W3100進(jìn)行TCP/IP協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)設(shè)備網(wǎng)絡(luò)化功能。系統(tǒng)中各種功能模塊通過現(xiàn)場(chǎng)總線與主處理模塊進(jìn)行數(shù)據(jù)交換,系統(tǒng)通過以太網(wǎng)與調(diào)度系統(tǒng)通訊,實(shí)現(xiàn)對(duì)變電站內(nèi)設(shè)備的遠(yuǎn)程監(jiān)控。文中重點(diǎn)介紹如何利用W3100進(jìn)行TCP/IP協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)系統(tǒng)以太網(wǎng)通訊功能,并給出了具體的軟硬件設(shè)計(jì)。
關(guān)鍵詞:以太網(wǎng);W3100;智能終端
1 引言
TCP/IP協(xié)議是目前最流行的國際互聯(lián)協(xié)議,它與以太網(wǎng)的結(jié)合稱為以太網(wǎng)技術(shù)。以太網(wǎng)具有成本低廉、通信速率高、兼容性好[1]等特點(diǎn),使以太網(wǎng)技術(shù)不僅在辦公自動(dòng)化領(lǐng)域得到應(yīng)用,而且逐漸涉及管理網(wǎng)絡(luò)、監(jiān)控網(wǎng)絡(luò)及現(xiàn)場(chǎng)網(wǎng)絡(luò)等領(lǐng)域。
電力智能監(jiān)控終端設(shè)備是對(duì)變電站和發(fā)電廠實(shí)現(xiàn)遠(yuǎn)程監(jiān)視和控制的智能設(shè)備,其主要功能包括采集各種信息量和完成對(duì)設(shè)備的控制。為保證電網(wǎng)的狀態(tài)真實(shí)、快速地反應(yīng)開關(guān)量的變化,以太網(wǎng)被應(yīng)用于電力系統(tǒng)調(diào)度自動(dòng)化系統(tǒng)中以提高通訊速率,突破信道瓶頸是其中的一個(gè)趨勢(shì)和必然要求。但目前的監(jiān)控終端設(shè)備大多數(shù)為單片機(jī)系統(tǒng),在實(shí)現(xiàn)以太網(wǎng)互聯(lián)時(shí)存在一定的困難。解決這一問題有以下幾種方案:一種方案是采用高檔的MCU和RTOS,在嵌入式操作系統(tǒng)中完成TCP/IP協(xié)議的處理。采用高檔的MCU可以實(shí)現(xiàn)很多復(fù)雜的處理,但價(jià)格較高,需要同時(shí)購買昂貴的RTOS軟件,且開發(fā)周期長、難度大;另一種方案是采用第三方的以太網(wǎng)協(xié)議轉(zhuǎn)換設(shè)備,通過RS232C與轉(zhuǎn)換設(shè)備通訊,由轉(zhuǎn)換器完成數(shù)據(jù)封裝和協(xié)議轉(zhuǎn)換,其缺點(diǎn)是通信速率受限,系統(tǒng)無法對(duì)以太網(wǎng)進(jìn)行控制;第三種方案是在設(shè)備的基礎(chǔ)上增加專用的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換芯片以實(shí)現(xiàn)以太網(wǎng)互聯(lián),即本文介紹的采用W3100和以太網(wǎng)控制芯片的方案,其特點(diǎn)是占用系統(tǒng)資源少、編程方便、開發(fā)周期短。
2 W3100簡介
W3100是WIZnet公司專門為以太網(wǎng)互聯(lián)和嵌入式設(shè)備推出的TCP/IP協(xié)議棧芯片。W3100能夠?qū)崿F(xiàn)TCP、UDP、IP Ver.4、DHCP、ARP 和ICMP 等協(xié)議,同時(shí),網(wǎng)絡(luò)接口層包括MAC子層和DLC子層,也在該芯片中實(shí)現(xiàn)。它能同時(shí)提供四路網(wǎng)絡(luò)連接,內(nèi)建16K雙口RAM作為數(shù)據(jù)緩沖區(qū),支持全雙工模式,協(xié)議處理速度可達(dá)4~5Mbps,并且?guī)в袠?biāo)準(zhǔn)的MII接口,方便連接以太網(wǎng)接口芯片。WIZnet公司還提供了Socket API程序包,可以加速應(yīng)用程序的開發(fā)。
3 硬件原理
3.1 系統(tǒng)硬件框圖
基于以太網(wǎng)的電力智能終端設(shè)備[5]的基本功能包括開關(guān)量信號(hào)采集、模擬量數(shù)據(jù)采集、輸出開關(guān)量及與上位機(jī)系統(tǒng)進(jìn)行高速通訊。系統(tǒng)硬件框圖如圖1所示。
圖1 系統(tǒng)硬件框圖
圖2 網(wǎng)絡(luò)部分原理圖
圖中上半部分是主處理模塊的實(shí)現(xiàn)原理框圖,包含RAM、FLASH ROM、RTC、WatchDog、SJA1000、W3100及串口通訊轉(zhuǎn)換等電路。系統(tǒng)采用了Philips公司生產(chǎn)的80C51 XA十六位微控制器中的S3系列,它對(duì)八位控制器的基本結(jié)構(gòu)進(jìn)行了徹底改進(jìn),具備執(zhí)行速度快、支持C語言及多種RTOS(實(shí)時(shí)多任務(wù)操作系統(tǒng))等特點(diǎn)[2]。圖中RTC部分為配置的精度為10毫秒的時(shí)鐘芯片,可以保證系統(tǒng)中的各種日志具備精確的時(shí)標(biāo),以便于調(diào)度自動(dòng)化系統(tǒng)分析故障。WatchDog電路可以實(shí)現(xiàn)在強(qiáng)干擾的環(huán)境中,系統(tǒng)程序發(fā)生異常或電源波動(dòng)時(shí),對(duì)系統(tǒng)進(jìn)行復(fù)位。本文3.2節(jié)將介紹以太網(wǎng)接口的設(shè)計(jì)。
DIM(數(shù)字量輸入模塊)負(fù)責(zé)采集變電站內(nèi)各種開關(guān)設(shè)備的狀態(tài)。其輸入為空節(jié)點(diǎn),可以實(shí)現(xiàn)單點(diǎn)、雙點(diǎn)和瞬動(dòng)信號(hào)處理。AIM(模擬量輸入模塊)負(fù)責(zé)采集站內(nèi)各種模擬量,由于采用強(qiáng)隔離設(shè)計(jì),其輸入信號(hào)可兼容電壓和電流兩種形式。DOM(數(shù)字量輸出模塊)實(shí)現(xiàn)開關(guān)量輸出功能,其空節(jié)點(diǎn)可以實(shí)現(xiàn)對(duì)站內(nèi)可控的開關(guān)、刀閘或風(fēng)機(jī)等的控制。以上各種功能模塊內(nèi)部均設(shè)計(jì)了現(xiàn)場(chǎng)總線接口電路,整個(gè)系統(tǒng)基于CAN BUS總線。CAN BUS總線具有通訊方式靈活、節(jié)點(diǎn)分優(yōu)先級(jí)、采取“CSMA/CD”仲裁技術(shù)及通訊距離長、速度高、通訊介質(zhì)靈活等特點(diǎn),尤其適合應(yīng)用于實(shí)時(shí)監(jiān)控系統(tǒng)[3,4]。
3.2 W3100接口原理
系統(tǒng)中應(yīng)用W3100作為以太網(wǎng)協(xié)議轉(zhuǎn)換器,采用RTL8201作為以太網(wǎng)控制器,RTL8201能夠?qū)崿F(xiàn)所有的物理層功能,是一款應(yīng)用最為廣泛的以太網(wǎng)控制器。系統(tǒng)采用Direct Bus I/F的工作方式,并且可以通過設(shè)置改變網(wǎng)絡(luò)速率,它們共同完成系統(tǒng)的以太網(wǎng)通訊功能。原理圖如圖2所示。
4 軟件設(shè)計(jì)
4.1 W3100建立聯(lián)接過程
W3100提供與Windows類似的Socket API接口函數(shù),因此易于實(shí)現(xiàn)對(duì)其設(shè)置和收發(fā)操作。本設(shè)計(jì)中,TCP/IP為服務(wù)器端。圖3為Socket的建立過程。
圖3 TCP/IP建立聯(lián)接過程
4.2 軟件實(shí)現(xiàn)
1) 初始化W3100
初始化W3100時(shí),應(yīng)首先對(duì)其進(jìn)行硬復(fù)位,然后設(shè)定MAC地址及IP,最后初始化SOCKET接口。
ResetEthernet(); //硬復(fù)位W3100
InitW3100A(); //初始化W3100
InitNetConfig(); //配置以太網(wǎng)卡參數(shù)
InitSocket(); //初始化SOCKET
2) 中斷服務(wù)程序
根據(jù)W3100的使用手冊(cè),在系統(tǒng)中提供一個(gè)硬件中斷作為W3100的中斷輸入,在中斷服務(wù)程序中記錄狀態(tài)值。代碼如下。
_interrupt(INT_PCA0) _using(INT_PCA0_PSW)
?。?
u_char status;
status = INT_STATUS;
while (status)
{
if (status & 0x01) {
S_STATUS[0] = STATUS(0);
INT_STATUS = 0x01;
?。?/第1、2、3類似處理
if (status & 0x10) {
S_STATUS[0] = STATUS(0);
INT_STATUS = 0x10;
?。?/第1、2、3類似處理
status = INT_STATUS;
?。?
INT_STATUS = 0xFF;
}
3) 收發(fā)數(shù)據(jù)
設(shè)計(jì)一個(gè)任務(wù)定時(shí)10毫秒進(jìn)行數(shù)據(jù)收發(fā)處理,其過程如下。
SOCKET i;
INT len;
WORD TSCKNUM = 2404;
for (i = 0; SockNo < 4; SockNo++)
?。?
switch (Select(i, SEL_CONTROL))
?。?
case SOCK_ESTABLISHED:
if ((len = select(i, SEL_RECV)) > 0)
?。?
if (len > MAX_BUF_SIZE) len = MAX_BUF_SIZE;
len = recv(i, data_buf, len);
send(i, data_buf, len);
}
break;
case SOCK_CLOSE_WAIT: if ((len = select(i, SEL_RECV)) > 0)
?。?
if (len > MAX_BUF_SIZE) len = MAX_BUF_SIZE;
len = recv(i, data_buf, len);
?。?
close(i);
break;
case SOCK_CLOSED:
init_sock(i);
break;
?。?
}
5 結(jié)束語
在設(shè)計(jì)與實(shí)現(xiàn)電力智能監(jiān)控終端過程中,應(yīng)用W3100作為以太網(wǎng)協(xié)議棧轉(zhuǎn)換器具有接口簡單、編程方便、通訊速率高、工作穩(wěn)定等特點(diǎn),能夠簡化設(shè)計(jì)難度、加快設(shè)計(jì)進(jìn)度,因此W3100在快速實(shí)現(xiàn)網(wǎng)絡(luò)化的設(shè)計(jì)中具備良好的應(yīng)用前景。本文以成熟的應(yīng)用技術(shù)為基礎(chǔ),增加了硬件協(xié)議轉(zhuǎn)換器,減少了開發(fā)風(fēng)險(xiǎn),縮短了開發(fā)周期,提高了產(chǎn)品的應(yīng)用水平。該電力智能監(jiān)控終端系統(tǒng)已經(jīng)產(chǎn)品化,累計(jì)創(chuàng)造了1000萬元產(chǎn)值。
本文作者創(chuàng)新點(diǎn):以成熟的應(yīng)用技術(shù)為基礎(chǔ),增加硬件協(xié)議轉(zhuǎn)換器,減少開發(fā)風(fēng)險(xiǎn)、縮短開發(fā)周期,提高了產(chǎn)品的應(yīng)用水平。
參考文獻(xiàn)
[1] 楊鵬等. 工業(yè)以太網(wǎng)的發(fā)展及其技術(shù)特點(diǎn),微計(jì)算機(jī)信息[J],2006,22-4:32-24.
[2] 鄔寬明. 80C51 XA十六位為控制器系統(tǒng)設(shè)計(jì)、器件和應(yīng)用開發(fā)[M],北京航空航天大學(xué)出版社,1996.
[3] 王毅鋒,李令奇. SJA1000在數(shù)據(jù)采集與控制系統(tǒng)中的應(yīng)用,微計(jì)算機(jī)信息[J],2001, 17-4 7:16-18.
[4] 史久根,張培仁,陳真勇. CAN現(xiàn)場(chǎng)總線系統(tǒng)設(shè)計(jì)技術(shù),國防工業(yè)出版社,2004.
[5] 劉家軍.微機(jī)遠(yuǎn)動(dòng)技術(shù),中國水利水電出版社,2001.