我國電力系統(tǒng)的微機(jī)型保護(hù)得到迅速發(fā)展,已在電力系統(tǒng)得到了廣泛應(yīng)用,。從早期的8位機(jī),,到現(xiàn)在16/32位機(jī),性能得到了提高,,運(yùn)算能力也大大加強(qiáng)了,。
微機(jī)保護(hù)的性能及其可靠性取決于軟、硬件,,因此軟件的編寫和硬件的選擇是一項(xiàng)關(guān)鍵性的工作,。我們在編寫軟件時(shí),通常先畫好流程圖,,然后按著流程圖來編程,,一般是一個(gè)無限循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)(子程序)完成相應(yīng)的操作(稱為后臺行為或任務(wù)級);用中斷來處理隨機(jī)事件(稱為前臺行為或中斷級),。程序流程如圖1所示,。任務(wù)的響應(yīng)時(shí)間取決于后臺循環(huán)執(zhí)行的時(shí)間(在不同的狀態(tài)或運(yùn)行方式下,執(zhí)行時(shí)間不同),,程序經(jīng)過某一點(diǎn)的時(shí)間不能確定,,程序修改了,循環(huán)時(shí)序就受到影響,。這種編程方法,,使得程序開發(fā)周期長,修改困難,,任何一處受到破壞,,就會死機(jī)。在8位機(jī)時(shí)代,,還不算明顯,,隨著16/32位機(jī)的使用及系統(tǒng)復(fù)雜性的增加,表現(xiàn)的越來越明顯了,。這種傳統(tǒng)的前臺/后臺程序開發(fā)機(jī)制已不能滿足日益復(fù)雜和多樣化的微機(jī)保護(hù)的應(yīng)用需求,,采用RTOS來開發(fā)微機(jī)保護(hù)應(yīng)用程序,現(xiàn)已成為開發(fā)人員的發(fā)展方向,。
目前運(yùn)行的微機(jī)保護(hù)裝置大多數(shù)為16位單片機(jī),,對于常規(guī)的保護(hù)其性能基本能滿足,。但16位單片機(jī)往往受到運(yùn)算速度等因素的影響,不易實(shí)現(xiàn)更復(fù)雜的算法和更高采樣速率,。隨著微電子和半導(dǎo)體技術(shù)的發(fā)展,,DSPs已運(yùn)用在了眾多領(lǐng)域。由于DSPs的強(qiáng)大數(shù)字信號處理能力,,越來越受到開發(fā)人員的青睞,。
2 關(guān)于RTOS(Real Time Operating System)實(shí)時(shí)操作系統(tǒng)
實(shí)時(shí)操作系統(tǒng)是一段在系統(tǒng)啟動后,首先執(zhí)行的背景程序,。用戶的應(yīng)用程序是運(yùn)行于RTOS之上的各個(gè)任務(wù),,RTOS根據(jù)各個(gè)任務(wù)的要求,進(jìn)行資源管理,、消息管理,、任務(wù)調(diào)度,異常處理等工作,。實(shí)時(shí)多任務(wù)內(nèi)核是RTOS的關(guān)鍵部分,,基本功能包括任務(wù)管理、定時(shí)器管理,、存儲管理,、資源管理、事件管理,、系統(tǒng)管理,、消息管理等。RTOS與其它OS相比主要特征是規(guī)模小,、可裁剪,、微內(nèi)核。
在RTOS機(jī)制下開發(fā)多任務(wù)程序,,CPU的運(yùn)行時(shí)間被劃分為許多小的時(shí)間片,,RTOS按照某種調(diào)度算法分別分配給不同的任務(wù),多個(gè)任務(wù)分別在自己的時(shí)間片內(nèi)訪問CPU,,達(dá)到微觀上輪流運(yùn)行,,宏觀上并發(fā)運(yùn)行的多任務(wù)效果。程序流程如圖2所示,。
任務(wù)是單線程序列指令形成的一個(gè)無限循環(huán),,它有五種狀態(tài):休眠、就緒,、運(yùn)行,、等待和中斷。實(shí)時(shí)內(nèi)核是通過任務(wù)控制塊(TCB)來管理任務(wù)的,。程序調(diào)用內(nèi)核服務(wù)創(chuàng)建任務(wù),,并在任務(wù)中分配一個(gè)任務(wù)控制塊,,進(jìn)行初始化,使任務(wù)進(jìn)入就緒狀態(tài),。實(shí)時(shí)內(nèi)核以事件為基礎(chǔ),根據(jù)任務(wù)執(zhí)行的狀態(tài),,對任務(wù)進(jìn)行切換,,狀態(tài)也隨之變化。在實(shí)時(shí)任務(wù)中,,內(nèi)存中存在多個(gè)任務(wù)控制模塊,,以及各個(gè)任務(wù)獨(dú)立的私有堆棧。
任務(wù)進(jìn)行切換,,首先要保存CPU寄存器內(nèi)容到當(dāng)前任務(wù)的任務(wù)控制塊中,,然后從新任務(wù)的任務(wù)控制塊裝載堆棧指針,并將新任務(wù)的上下文裝載到CPU寄存器中,,這樣就從一個(gè)任務(wù)切換到另一個(gè)任務(wù)運(yùn)行,。
我們將要開發(fā)的系統(tǒng)功能進(jìn)行分解,構(gòu)造成幾個(gè)不同的任務(wù),,每個(gè)任務(wù)負(fù)責(zé)完成系統(tǒng)應(yīng)用要求的一部分功能,,并根據(jù)其重要性,決定它的優(yōu)先級,,它們彼此獨(dú)立運(yùn)行,。
RTOS的使用,可以提高系統(tǒng)的可靠性,。傳統(tǒng)的線性程序,,在遇到強(qiáng)烈的干擾時(shí),程序任何一處產(chǎn)生死循環(huán)或破壞,,都會引起死機(jī),,只有靠硬件(看門狗),進(jìn)行復(fù)位,、重新啟動系統(tǒng),。在這種情況下,對于RTOS管理的系統(tǒng),,只會引起若干個(gè)進(jìn)程中的一個(gè)破壞,,并可用另外的進(jìn)程對其進(jìn)行修復(fù)。還可以提高產(chǎn)品的開發(fā)效率,,縮短開發(fā)周期,。一個(gè)復(fù)雜的應(yīng)用程序,可以分解成若干個(gè)任務(wù),,每個(gè)任務(wù)的調(diào)試,、修改幾乎不影響其它模塊,。
使用RTOS,使得應(yīng)用程序的設(shè)計(jì),、擴(kuò)展變得容易,,不需要大的改動,就可以增加新的功能;且能使系統(tǒng)資源能得到更好的管理,。但需增加額外的ROM/RAM的開銷,,增加2~5個(gè)百分點(diǎn)的CPU額外負(fù)荷,以及開發(fā)成本的增加(RTOS的價(jià)格),。
當(dāng)今市場上有許多RTOS商家生產(chǎn)面向8位,、16位、32位,,甚至64位的CPU的RTOS產(chǎn)品,。如:VRTX、QNX,、VxWorks,、Nucleus PLUS、OS—9,、PSOSys-tem,、LynxOS、WindowsCE及國內(nèi)的Hopen等,。RTOS除包含實(shí)時(shí)多任務(wù)內(nèi)核外,,還包括輸入輸出管理、視窗系統(tǒng),、文件系統(tǒng),、網(wǎng)絡(luò)語言接口庫、調(diào)試軟件,,以及交叉編譯平臺等,。RTOS已在各行各業(yè)應(yīng)用,如:航空,、軍事,、電力、通信及工業(yè)控制等領(lǐng)域,。
3 關(guān)于DSPs(DiginalSignalProcessors)數(shù)字信號處理芯片
傳統(tǒng)上,,微控制器MCU和微處理器MPU是微機(jī)發(fā)展的兩大分支,而DSPs是MCU的一種特殊變形,。它是一種具有哈佛結(jié)構(gòu),,精簡指令(RISC)的CPU。
DSPs片內(nèi)有多條地址、數(shù)據(jù)和控制總線,,可進(jìn)行流水線操作,,提高了CPU的處理能力;有硬件乘法器,乘法計(jì)算可由一條指令來完成;有專門的指令,,進(jìn)行數(shù)據(jù)處理;有DMA傳輸通道,。其外部硬件部分和MCU相同,由地址,、數(shù)據(jù)和控制三總線組成,。在軟件開發(fā)上,能更好地支持模塊化編程,。
市場上有多種DSPs可供我們選擇。如:TI公司的TMS320系列,、ADI公司的ADS系列,、MOTOROLA公司的DSP系列等。
DSPs的使用,,可極大地縮短數(shù)據(jù)處理的計(jì)算時(shí)間,,不但可以完成數(shù)據(jù)采集、信號處理功能,,還可完成運(yùn)算,、控制等功能。
4 RTOS與DSPs在微機(jī)保護(hù)裝置中的應(yīng)用
我們采用美國ATI公司的Nucleus Plus實(shí)時(shí)操作系統(tǒng),,DSPs選用美國TI公司的TMS320C32,,開發(fā)了一系列的中低壓保護(hù)裝置。
Nucleus Plus是實(shí)時(shí),、搶先,、多任務(wù)的內(nèi)核。大約95%的Nucleus Plus程序是用ANSIC編寫的,,容易移值,。我們以Nucleus Plus為開發(fā)平臺,采用C語言和匯編語言混合編程,,進(jìn)行軟件開發(fā),。
我們針對保護(hù)裝置的實(shí)際情況,把整個(gè)系統(tǒng)分成保護(hù),、自檢,、顯示、通信等幾個(gè)任務(wù),,并把保護(hù)任務(wù)設(shè)置成最高優(yōu)先級,。各任務(wù)間彼此獨(dú)立運(yùn)行,任務(wù)間的通信通過全局?jǐn)?shù)據(jù)或發(fā)送消息來實(shí)現(xiàn),任何一個(gè)任務(wù)出現(xiàn)運(yùn)行異常,,其它任務(wù)正常運(yùn)行,。任務(wù)程序的結(jié)構(gòu)如下代碼所示:
TMS320C32是32位的芯片,可進(jìn)行浮點(diǎn)數(shù)運(yùn)算,。圖3是以TMS320C32為核心構(gòu)成的微機(jī)保護(hù)裝置硬件系統(tǒng)原理圖,,在這個(gè)系統(tǒng)中,TMS320C32完成采樣,、計(jì)算,、保護(hù)邏輯判斷及控制等功能。
在保護(hù)裝置開發(fā)中,,通過使用RTOS,,可進(jìn)行并行開發(fā),縮短了開發(fā)周期;任務(wù)間彼此獨(dú)立,,系統(tǒng)的可靠性得到了提高,。DSPs的使用,提高了運(yùn)算精度和速度,??傊Wo(hù)裝置的整體性能上了一個(gè)臺階,。
5 結(jié)束語
計(jì)算機(jī)化,,保護(hù)、控制,、測量,、數(shù)據(jù)通信一體化和人工智能化是繼電保護(hù)技術(shù)發(fā)展的趨勢。RTOS和DSPs應(yīng)用在繼電保護(hù)裝置中,,會使保護(hù)性能更加完善,、可靠,更有效地?fù)?dān)當(dāng)起確保電網(wǎng)安全的重任,。