ARM嵌入式系統(tǒng)在GIS在線監(jiān)測(cè)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
關(guān)鍵詞: 斷路器;在線監(jiān)測(cè)系統(tǒng);嵌入式系統(tǒng);互操作性
引言
GIS (gas insulated switchgear) 是輸配電和變電領(lǐng)域有著廣泛和重要應(yīng)用的電力設(shè)備。GIS的封閉性結(jié)構(gòu)加大了運(yùn)行維護(hù)的難度,其故障隱患更難發(fā)現(xiàn),可能造成的損失會(huì)更大。為了能夠?qū)崟r(shí)地、準(zhǔn)確地了解GIS 運(yùn)行狀態(tài),及時(shí)發(fā)現(xiàn)和消除故障隱患,對(duì)GIS 實(shí)行在線監(jiān)測(cè)就顯得尤為重要。
為了規(guī)范電力行業(yè)自動(dòng)化系統(tǒng)發(fā)展,國(guó)際電工委員會(huì)提出IEC61850 標(biāo)準(zhǔn),它針對(duì)變電站自動(dòng)化系統(tǒng)及智能設(shè)備提出了互操作性和穩(wěn)定性的要求?;ゲ僮餍允侵冈趦蓚€(gè)或兩個(gè)以上的系統(tǒng)之間可以直接、有效地共用數(shù)據(jù)和信息。另外,該體系還要求自動(dòng)化系統(tǒng)在通信功能上具備長(zhǎng)期穩(wěn)定性,可在較長(zhǎng)時(shí)間內(nèi)適應(yīng)通信技術(shù)的快速發(fā)展。
鑒于IEC61850 體系對(duì)變電站自動(dòng)化系統(tǒng)提出的確要求,本文對(duì)國(guó)內(nèi)主要幾種變電站在線監(jiān)測(cè)系統(tǒng)進(jìn)行了研究。在現(xiàn)有在線監(jiān)測(cè)系統(tǒng)中,通常采用現(xiàn)場(chǎng)總線CAN (controller area network) 作為系統(tǒng)的主通信方式,裝置中多采用16 位單片機(jī)為核心。該模式在運(yùn)行中已顯示出局限性,例如CAN 作為主通信方式限制了本系統(tǒng)與其他系統(tǒng)進(jìn)行深層次的互操作; 其次,芯片對(duì)外接口相對(duì)單一,難以保證系統(tǒng)功能的自由配置,局部功能調(diào)整往往要影響到整個(gè)系統(tǒng)。研究表明,在ARM (advanced RISC machine)上運(yùn)行的嵌入式操作系統(tǒng)uClinux 實(shí)現(xiàn)以太網(wǎng)通信,能夠保證GIS在線監(jiān)測(cè)系統(tǒng)的互操作性和在通信功能上的長(zhǎng)期穩(wěn)定性,故將ARM 嵌入式系統(tǒng)引入GIS 在線監(jiān)測(cè)研究領(lǐng)域。
基于ARM 的嵌入式系統(tǒng)
ARM 采用先進(jìn)微控制器總線結(jié)構(gòu)AMBA (advanced microcontroller bus architecture) 的模塊化設(shè)計(jì),具有綜合、快速和高性能價(jià)格比的優(yōu)點(diǎn) 。在ARM 處理器中具備ICE-RT 功能單元,通過(guò)它可以在代碼的任何部分,甚至于在ROM 中設(shè)置斷點(diǎn),這就降低了裝置調(diào)試難度,為裝置的穩(wěn)定性奠定了基礎(chǔ)。
在ARM 處理器中,采用32b定長(zhǎng)指令和三段流水線指令操作(如圖1所示) ,指令執(zhí)行分為3 個(gè)階段:取指、譯碼和執(zhí)行。流水線允許幾個(gè)操作同時(shí)進(jìn)行,在執(zhí)行第1條指令期間,第2條指令開(kāi)始譯碼,同時(shí)第3條指令從存儲(chǔ)器中被取出,故取指、譯碼和執(zhí)行3部分可以同時(shí)進(jìn)行,這就保證了處理器的高速處理性能。
圖1 三段流水線操作
微控制器性能的提高,為操作系統(tǒng)的引入奠定了基礎(chǔ)。傳統(tǒng)的嵌入式系統(tǒng)一般不用操作系統(tǒng),故操作系統(tǒng)的引入就為嵌入式系統(tǒng)賦予新的內(nèi)涵,也成為區(qū)別于傳統(tǒng)嵌入式系統(tǒng)的一個(gè)明顯特征。嵌入式操作系統(tǒng)將替代傳統(tǒng)的由手工編制的監(jiān)控程序或調(diào)度程序,成為重要的基礎(chǔ)組件,使程序員只需面向操作系統(tǒng)進(jìn)行應(yīng)用程序的開(kāi)發(fā)。嵌入式操作系統(tǒng)正在轉(zhuǎn)變成為ARM 應(yīng)用軟件的基礎(chǔ)。
系統(tǒng)在GIS 在線監(jiān)測(cè)上的應(yīng)用
基于ARM嵌入式系統(tǒng),GIS 在線監(jiān)測(cè)裝置的設(shè)計(jì)主要包括裝置的內(nèi)部框架、硬件配置和軟件配置等?;贗EC61850 標(biāo)準(zhǔn)的變電站自動(dòng)化系統(tǒng)(如圖2 所示) 具有一個(gè)顯著的特點(diǎn):在自動(dòng)化系統(tǒng)中,層與層之間都采取以太網(wǎng)通信的方式(基于TCP/IP) ,取代了傳統(tǒng)系統(tǒng)中的各種現(xiàn)場(chǎng)總線通信方式(如Lonworks,CAN 以及RS-485 等)。
圖2 在線監(jiān)測(cè)系統(tǒng)框圖
基于ARM 嵌入式系統(tǒng)的硬件框架
采用ARM 嵌入式系統(tǒng)之后,硬件電路原理圖(如圖3 所示) 按照功能主要分為以下幾個(gè)模塊:
1) ARM CPU 模塊該部分電路是嵌入式系統(tǒng)的核心,本系統(tǒng)采用AT91M40800,它基于ARM7TDMI 內(nèi)核,其專門(mén)為工業(yè)控制而制造,各項(xiàng)指標(biāo)均能達(dá)到工業(yè)級(jí)別。
2) CPLD 擴(kuò)展電路
該電路的主要功能是對(duì)CPU 芯片的外圍功能進(jìn)行擴(kuò)充。對(duì)于功能要求比較復(fù)雜的電路,一般都采用CPU+CPLD 的模式,采用該模式的原因主要有兩個(gè)方面:a) CPU 作為系統(tǒng)的核心,無(wú)法、也沒(méi)有必要滿足所有用戶的具體功能要求,只需給用戶以標(biāo)準(zhǔn)的外部總線接口EB I (external bus interface)即可,讓用戶根據(jù)自己的需要進(jìn)行必要的功能擴(kuò)展;b) CPLD 用在電路設(shè)計(jì)中有以下幾點(diǎn)優(yōu)勢(shì):可方便地實(shí)現(xiàn)地址譯碼;編程方式簡(jiǎn)便,可方便地通過(guò)軟件編程實(shí)現(xiàn)各種邏輯器件的功能; 時(shí)鐘延遲可達(dá)納秒級(jí),特別適合在線監(jiān)測(cè)領(lǐng)域的應(yīng)用,具有高可靠性。
3) 閃存FLASH 模塊
閃存芯片在系統(tǒng)斷電之后,能夠永久保存系統(tǒng)進(jìn)行重新啟動(dòng)所需的原始軟件設(shè)置和數(shù)據(jù)。本文選用ATMEL公司生產(chǎn)的AT49BV1614 閃存芯片,該芯片容量為2MB,芯片上存儲(chǔ)嵌入式操作系統(tǒng)uClinux 內(nèi)核、系統(tǒng)啟動(dòng)程序以及用戶程序等。
圖3 基于ARM 的嵌入式系統(tǒng)原理圖
4) 現(xiàn)場(chǎng)總線CAN 接口電路
這部分電路是用于裝置內(nèi)部主板與其他數(shù)據(jù)采集板之間的通信。CAN 的通訊速度可以高達(dá)1Mb/s (距離在40m以內(nèi)) ;CAN 對(duì)通信介質(zhì)沒(méi)有苛刻的限制,可以為雙絞線、同軸電纜或者光纖等,比較靈活;其中,最重要的是CAN 通信具有很高的穩(wěn)定性和性價(jià)比,所以在裝置的內(nèi)部采用CAN 實(shí)現(xiàn)主板與輔板之間的通信是工業(yè)控制裝置中最流行的方法。CAN 總線作為ARM 的外圍電路,采用了雙CAN 模式,這在快速通信的基礎(chǔ)上增強(qiáng)了裝置內(nèi)部通信的穩(wěn)定性。裝置中CAN 總線通信電路如圖4 所示,SJA1000 為工業(yè)級(jí)的CAN 通信控制器,82C250 是CAN 總線驅(qū)動(dòng)器,其中4 個(gè)光耦是用于光電隔離,以達(dá)到減小通信干擾,同時(shí)可以實(shí)現(xiàn)通信板的帶電插拔。
圖4 雙CAN 通信接口電路
5) 以太網(wǎng)模塊
電路中采用CS8900A 工業(yè)級(jí)以太網(wǎng)芯片,可以達(dá)到10Mb/s 的網(wǎng)絡(luò)速度,在線監(jiān)測(cè)裝置通過(guò)這部分接口電路與系統(tǒng)的高層(如上位機(jī)等) 和其他監(jiān)測(cè)裝置進(jìn)行數(shù)據(jù)的傳輸共享,實(shí)現(xiàn)互操作。
基于ARM 嵌入式系統(tǒng)的軟件框架
系統(tǒng)的軟件主要包括3 方面:uCbootloader、uClinux 和應(yīng)用軟件。uCbootloader 用于硬件系統(tǒng)初始化,uClinux 是嵌入式操作系統(tǒng),而應(yīng)用程序是用戶根據(jù)具體要求開(kāi)發(fā)出來(lái)實(shí)現(xiàn)特定功能的程序模塊。硬件系統(tǒng)上電后,運(yùn)行uCbootloader 對(duì)硬件系統(tǒng)配置進(jìn)行初始化,將檢測(cè)到的硬件轉(zhuǎn)交給操作系統(tǒng),由它進(jìn)行統(tǒng)一支配; 用戶程序是建立在uClinux之上,并由它負(fù)責(zé)引導(dǎo)啟動(dòng)。
1) 嵌入式操作系統(tǒng)uClinux
本裝置選用uClinux 作為嵌入式操作系統(tǒng)主要考慮到以下幾個(gè)因素:
a) 選用的AT9M40800 沒(méi)有內(nèi)存管理單元;
b) 對(duì)Linux- X 裁剪得到的uClinux 內(nèi)核很小(約900 kB) ,但仍保留了Linux 系統(tǒng)的穩(wěn)定性、強(qiáng)大的網(wǎng)絡(luò)功能和出色的文件系統(tǒng)等優(yōu)點(diǎn);
c) uClinux 擁有一個(gè)完整的TCP/IP 協(xié)議棧,使GIS 監(jiān)測(cè)裝置能夠?qū)崿F(xiàn)標(biāo)準(zhǔn)的以太網(wǎng)通信功能??紤]到系統(tǒng)的實(shí)時(shí)性要求,本系統(tǒng)采用內(nèi)核加載方式,將內(nèi)核的壓縮文件放在FLASH 上,系統(tǒng)啟動(dòng)時(shí)讀取壓縮文件在內(nèi)存中解壓,然后運(yùn)行。
2) 用戶程序
本嵌入式系統(tǒng)中的所有應(yīng)用程序是采用標(biāo)準(zhǔn)C語(yǔ)言編寫(xiě),編譯的過(guò)程是在Linux 系統(tǒng)下建立的交叉編譯器中進(jìn)行。根據(jù)嵌入式系統(tǒng)要實(shí)現(xiàn)的功能,應(yīng)用程序主要分為以下幾部分:以太網(wǎng)通信、CAN 總線通信和串口通信程序等。下面仔細(xì)討論一下以太網(wǎng)通信和CAN 總線的通信:
a) 以太網(wǎng)通信
TCP/IP 協(xié)議是一種成熟的、廣泛使用的高層網(wǎng)絡(luò)協(xié)議,因?yàn)樗哂辛己玫拈_(kāi)放性,在變電站通信系統(tǒng)中廣泛采用?;赥CP/IP 的通信程序主要有兩部分:服務(wù)器和客戶端。服務(wù)器和客戶端可以運(yùn)行于上位機(jī)與監(jiān)測(cè)裝置上,用于收集數(shù)據(jù),并發(fā)送相應(yīng)的網(wǎng)絡(luò)報(bào)文。以客戶端程序?yàn)槔蛻舳顺绦蛑饕ㄒ韵鹿δ墉h(huán)節(jié):建立socket 套接字、向server請(qǐng)求連接、封裝數(shù)據(jù)、接收數(shù)據(jù)和發(fā)送數(shù)據(jù),最后釋放套接字,如下面的程序片斷所示。
main ( int argc,char 3 argv[ ])
{ .
sockfd= socket (A F- IN ET,SOCK- STREAM ,0) ;
.
connect (sockfd,&their- addr,sizeof (st ructsockaddr) ) ;
.
send (sockfd,buf,MAXDA TA S IZE,0) ;
.
recv (sockfd,buf,MAXDA TA S IZE,0) ;
.
clo se (sockfd) ;}
b) CAN 總線通信
CAN 總線通信軟件主要由初始化程序、發(fā)送程序和接收程序3 部分組成。初始化程序設(shè)置CAN控制器中的各個(gè)寄存器,包括模式寄存器、時(shí)分寄存器和輸出控制器等。由于這些寄存器只能在復(fù)位期間設(shè)置,故必須在通信開(kāi)始之前就對(duì)CAN 控制器進(jìn)行初始化。CAN 發(fā)送程序主要是將要發(fā)送的信息幀送到發(fā)送緩沖區(qū)中去,再啟動(dòng)發(fā)送命令即可(如圖5 所示) ; 接收程序與發(fā)送程序類似,只需要將數(shù)據(jù)從接收緩沖區(qū)中取出即可。
在設(shè)計(jì)CAN 通信模式的時(shí)候,采用多主的通信方式,即CAN 總線上每個(gè)節(jié)點(diǎn)都可以任意地向其他節(jié)點(diǎn)發(fā)送和接收?qǐng)?bào)文,每個(gè)節(jié)點(diǎn)上的通信程序具有相似性,故只要把一個(gè)節(jié)點(diǎn)的通信程序調(diào)通后,其他的節(jié)點(diǎn)上的通信程序可以仿效之。
圖5 CAN 總線發(fā)送程序流程圖
系統(tǒng)應(yīng)用測(cè)試
1) 系統(tǒng)的互操作性
在GIS 監(jiān)測(cè)裝置中建立設(shè)備狀態(tài)數(shù)據(jù)庫(kù),開(kāi)設(shè)服務(wù)器和客戶端,并實(shí)時(shí)地更新數(shù)據(jù)庫(kù)的狀態(tài)值。然后啟動(dòng)GIS 在線監(jiān)測(cè)系統(tǒng),在系統(tǒng)運(yùn)行中進(jìn)行互操作性測(cè)試,測(cè)試得出:a) 以太網(wǎng)的數(shù)據(jù)傳送速度可以達(dá)到10Mb/s;b) 監(jiān)測(cè)系統(tǒng)的上位機(jī)能夠通過(guò)以太網(wǎng)對(duì)監(jiān)測(cè)裝置發(fā)送請(qǐng)求和接收數(shù)據(jù),實(shí)現(xiàn)上位機(jī)與監(jiān)測(cè)裝置之間的數(shù)據(jù)共享,即互操作;c) 兩臺(tái)或多臺(tái)監(jiān)測(cè)裝置之間能夠通過(guò)以太網(wǎng)進(jìn)行通信,實(shí)現(xiàn)必要的數(shù)據(jù)交換。
2) 監(jiān)測(cè)裝置的穩(wěn)定性
根據(jù)IEC1000 標(biāo)準(zhǔn)推薦,采用4 級(jí)試驗(yàn)等級(jí)對(duì)GIS 監(jiān)測(cè)裝置進(jìn)行穩(wěn)定性的測(cè)試。試驗(yàn)內(nèi)容主要包括工頻磁場(chǎng)、高頻干擾、靜電放電干擾和浪涌干擾等9 項(xiàng)測(cè)試,測(cè)試結(jié)果表明監(jiān)測(cè)裝置存在部分電磁兼容設(shè)計(jì)缺陷。但是,經(jīng)過(guò)裝置結(jié)構(gòu)局部調(diào)整之后,可以達(dá)到IEC1000 的4 級(jí)標(biāo)準(zhǔn);另外,對(duì)裝置進(jìn)行了溫度特性測(cè)試、機(jī)械特性測(cè)試和穩(wěn)定性測(cè)試,試驗(yàn)結(jié)果表明,GIS 監(jiān)測(cè)裝置能夠達(dá)到電力系統(tǒng)二次設(shè)備穩(wěn)定性的要求,其穩(wěn)定性得到檢驗(yàn)。
3) 系統(tǒng)的開(kāi)放性與可擴(kuò)充性
GIS 在線監(jiān)測(cè)系統(tǒng)運(yùn)行之后,對(duì)系統(tǒng)的開(kāi)放性與可擴(kuò)充性進(jìn)行測(cè)試。通過(guò)以太網(wǎng)對(duì)監(jiān)測(cè)系統(tǒng)增設(shè)一臺(tái)工作站,并將該工作站用于與其他系統(tǒng)的通信。擴(kuò)充之后,監(jiān)測(cè)系統(tǒng)工作正常,并能夠利用擴(kuò)充的工作站與其他系統(tǒng)進(jìn)行通信。
結(jié) 語(yǔ)
在ARM 處理器上運(yùn)行嵌入式操作系統(tǒng)uClinux,可以實(shí)現(xiàn)以太網(wǎng)通信功能;將ARM 嵌入式系統(tǒng)應(yīng)用于GIS 在線監(jiān)測(cè)系統(tǒng)中,可以滿足IEC61850標(biāo)準(zhǔn)提出的互操作性和穩(wěn)定性要求;利用以太網(wǎng)和CAN 總線通信的GIS 在線監(jiān)測(cè)系統(tǒng)具有開(kāi)放性和可擴(kuò)充性。