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