時間:2013-08-16 09:53:59來源:傳動網(wǎng)
引言
隨著電力系統(tǒng)的日趨復(fù)雜,繼電保護(hù)裝置對軟、硬件提出了更高的要求。目前,微機(jī)保護(hù)系統(tǒng)的處理器一般采用高性能單片機(jī)、數(shù)字信號處理器DSP和可編程邏輯器件PLD等來提高處理器性能。但是,隨著繼電保護(hù)系統(tǒng)向多功能、智能化、可視化及網(wǎng)絡(luò)化方向的發(fā)展,這些芯片已經(jīng)不能完全滿足需求。因此,在設(shè)計新的微機(jī)保護(hù)裝置時,有必要選用高性能、低成本的新型處理器。近年來,ARM處理器憑借高性價比、低功耗等特點(diǎn),在嵌入式領(lǐng)域獲得了廣泛應(yīng)用。而此μC/OS-Ⅱ作為一種免費(fèi)的、性能卓越的嵌入式操作系統(tǒng),為微機(jī)保護(hù)軟件提供了統(tǒng)一的開發(fā)平臺。本文結(jié)合工程實(shí)踐,對上述二者在微機(jī)繼電保護(hù)中的應(yīng)用作些討論。
1微處理器與實(shí)時嵌入式操作系統(tǒng)的選取
1.1微處理器
微處理器選擇AT91RM9200,它是基于ARM920T內(nèi)核、ARM/Thumb指令集的完整片上系統(tǒng),工作在180MHz頻率下其運(yùn)算速度可高達(dá)200MIPS,集成了豐富的應(yīng)用外設(shè)及標(biāo)準(zhǔn)接口。該處理器包括一個高速的片上SRAM工作區(qū)和一個低延遲的外部總線接口(EBI),其內(nèi)置控制器可用于控制同步DRAM、突發(fā)訪問模式FLAsH存儲器和靜態(tài)存儲器;提供與SmartMedia、CompactFlash和NANDF1ash的接口,集成了USB2.0接口和媒體訪問控制器(MAC),擴(kuò)展了外部器件應(yīng)用的種類,使開發(fā)出來的產(chǎn)品可以工作在網(wǎng)絡(luò)層,JTAG—ICE接口、UART通道(DBGU)和內(nèi)嵌實(shí)時跟蹤器提供的功能使受實(shí)時性限制的應(yīng)用成為可能,適合作為繼電保護(hù)裝置單片機(jī)解決方案的硬件平臺。
1.2嵌入式操作系統(tǒng)
嵌入式操作系統(tǒng)選擇此μC/OS-Ⅱ。早期這個系統(tǒng)叫做μC/OS-Ⅱ,是1992年編寫的嵌入式多任務(wù)實(shí)時操作系統(tǒng),后經(jīng)過修改,1999才推出了μC/OS-Ⅱ,它符合RTCADO-178B標(biāo)準(zhǔn)的認(rèn)證,有足夠的穩(wěn)定性和安全性。μC/OS-Ⅱ是用C語言和匯編語言編寫的。其中絕大部分代碼都是用C語言編寫的,只有極少部分與處理器相關(guān)的代碼是用匯編語言編寫的,只要稍加修改就可以把它移植到各類的嵌入式處理器上,因此可選擇作為繼電保護(hù)裝置的軟件開發(fā)平臺。
2保護(hù)裝置的硬件系統(tǒng)設(shè)計
微機(jī)保護(hù)裝置將待保護(hù)系統(tǒng)送來的電流、電壓信號,經(jīng)電流、電壓互感器變換后產(chǎn)生低電壓信號送入主模板。主模板內(nèi)的AT91RM9200運(yùn)行片內(nèi)的保護(hù)軟件,進(jìn)行信號采樣,完成各種數(shù)值運(yùn)算、分析及處理,從而確定待保護(hù)系統(tǒng)的運(yùn)行狀態(tài)。如有故障,則由處理器經(jīng)模板發(fā)出跳閘動作信號,以保護(hù)系統(tǒng)。同時通過各種通信方式將保護(hù)動作信息送入管理模板和上位機(jī),記錄和保存數(shù)據(jù)并報警。硬件系統(tǒng)采用模塊化設(shè)計,可分為電流互感器/電壓互感器模塊、A/D轉(zhuǎn)換單元、開入/開出單元、人機(jī)交互單元、存儲器單元、對外通信單元及電源模塊等,硬件主體結(jié)構(gòu)如圖1所示。
圖1硬件主體結(jié)構(gòu)圖
2.1A/D轉(zhuǎn)換單元
A/D轉(zhuǎn)換是微機(jī)保護(hù)的關(guān)鍵功能,采樣芯片選用AD7329。該芯片是一款真正雙極性、8通道、低功耗、帶符號位的12bit、1MSPS轉(zhuǎn)換速率ADC,輸入電壓范圍達(dá)±10V,因此可以將輸入噪聲的影響降到最低,同時提供很高的直流和交流阻抗。
2.2存儲器單元
由于移植實(shí)時操作系統(tǒng)的需要,本系統(tǒng)采用兩片容量較大的SDRAM(IS42S16160B),每片32船,構(gòu)成32位的高速數(shù)據(jù)總線,用于存放程序代碼和各種數(shù)據(jù)。采用一片32肥的NORFLASH(TE28F256J3C),用于固化操作系統(tǒng)、應(yīng)用程序代碼、操作過程中的事件信息和錄波數(shù)據(jù)。另外,采用一片32KB的E2PROM用于存放需要經(jīng)常讀寫的保護(hù)定值。
2.3通信單元
考慮到電力系統(tǒng)中大數(shù)據(jù)量和實(shí)時數(shù)據(jù)傳輸?shù)男枰?,根?jù)AT91RM9200微處理器的特點(diǎn),本系統(tǒng)設(shè)計了CAN、以太網(wǎng)、RS232/485、光纖、USB。CAN控制器采用完全支持CAN總線V2.0A和V2.0B技術(shù)規(guī)范,通信速率為1Mb/s、SPI接口的MCP2510。考慮到光纖傳輸距離遠(yuǎn)、頻帶寬、發(fā)射天線小、保密性好及抗電磁干擾等優(yōu)點(diǎn),將光纖和以太網(wǎng)通信結(jié)合起來,充分發(fā)揮二者的優(yōu)越性,可大大提高系統(tǒng)的應(yīng)用范圍和可靠性。系統(tǒng)采用IPll3A作為以太網(wǎng)至光纖收發(fā)器,IPll3A是二端口(包括TP端口和FX端口)10/100Mbps以太網(wǎng)集成交換器,由一個二端口控制器和一個以太網(wǎng)快速收發(fā)器組成;遵守IEEE802.3x規(guī)則。
2.4其它相關(guān)單元
開入回路和開出回路均由快速光電隔離芯片和邏輯編碼電路組成,增加了電路的抗干擾性能。用于人機(jī)交互的LcD,采用128×64的點(diǎn)陣液晶顯示屏,直接使用PIO口進(jìn)行控制,鍵盤采用3×3的鍵盤電路,通過鍵盤查看系統(tǒng)參數(shù)和修改各種定值參數(shù)。系統(tǒng)各裝置的保護(hù)、監(jiān)控、事件順序記錄(SOE)、故障錄波等功能對時間精度和同步性有較高要求,GPS可以提供一個精確的時間坐標(biāo)H1,本系統(tǒng)采用GPS的B碼授時,GPS系統(tǒng)接受衛(wèi)星時間信號,輸出IRIG—B時間碼系列,設(shè)備通過總線對時間進(jìn)行同步。
3軟件系統(tǒng)設(shè)計
3.1傳統(tǒng)的前后臺系統(tǒng)和實(shí)時多任務(wù)系統(tǒng)的比較
3.1.1前后臺系統(tǒng)
在前后臺系統(tǒng)中,應(yīng)用程序由后臺運(yùn)行,一般是一個無限循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)(子程序)完成相應(yīng)的操作(稱為后臺行為或任務(wù)級);用中斷來處理隨機(jī)事件(稱為前臺行為或中斷級),如圖2所示。
圖2傳統(tǒng)微機(jī)保護(hù)程序機(jī)制這種程序規(guī)模較小、功能單一、智能化程度低,而且多是采用匯編語言編寫的線性程序。它雖然具有代碼精煉,某些關(guān)鍵操作執(zhí)行效率高的優(yōu)點(diǎn),但是延長了編程時間,難以保證系統(tǒng)所有任務(wù)對實(shí)時性的要求。某個任務(wù)的響應(yīng)時間取決于后臺循環(huán)執(zhí)行的時間。循環(huán)過程中,程序需要根據(jù)不同的狀態(tài)和方式(中斷服務(wù)子程序或用戶的設(shè)置可能改變這些狀態(tài)和運(yùn)行方式),決定程序的走向,所以每次循環(huán)的執(zhí)行時間不同。某一任務(wù)的真正響應(yīng)要等到循環(huán)順序執(zhí)行完前面所有的任務(wù)之后,既不及時,時間也不確定。同時,程序的可讀性很差,調(diào)試?yán)щy,維護(hù)也比較困難。
3.1.2實(shí)時多任務(wù)系統(tǒng)
對于一個復(fù)雜的嵌入式實(shí)時系統(tǒng)而言,當(dāng)采用中斷處理程序和一個后臺主程序軟件結(jié)構(gòu)難以實(shí)時、準(zhǔn)確、可靠地完成任務(wù)時,或存在一些互不相關(guān)的過程需要在一個計算機(jī)中同時處理時,就需要采用實(shí)時多任務(wù)系統(tǒng)。隨著應(yīng)用的復(fù)雜化,一個嵌入式控制系統(tǒng)可能要同時控制或監(jiān)視很多外設(shè),有嚴(yán)格的實(shí)時響應(yīng)要求,需要處理任務(wù)比較多,各個任務(wù)之間有多種信息需要實(shí)時傳遞,如果仍采用原來的程序設(shè)計方法將存在兩個問題:一是中斷可能得不到及時響應(yīng),處理時間過長,這對實(shí)時控制場合是不允許的,對于網(wǎng)絡(luò)通信而言則會降低系統(tǒng)整體的信息流量;二是系統(tǒng)任務(wù)多要考慮各種可能出現(xiàn)的情況(尤其在任務(wù)使用共享資源時,如果任務(wù)調(diào)度不當(dāng)就可能導(dǎo)致系統(tǒng)死鎖,從而降低軟件可靠性,導(dǎo)致程序編寫任務(wù)量成倍增加)。為降低系統(tǒng)的復(fù)雜性,保證系統(tǒng)的實(shí)時性,可維護(hù)性是必不可少的。
實(shí)時多任務(wù)系統(tǒng)的實(shí)現(xiàn)必須有實(shí)時多任務(wù)操作系統(tǒng)的支持。操作系統(tǒng)主要完成任務(wù)切換、任務(wù)調(diào)度、任務(wù)間的通信、同步、互斥、實(shí)時時鐘管理以及中斷管理。實(shí)時多任務(wù)系統(tǒng)實(shí)際上是由多個任務(wù)、多個中斷處理過程和實(shí)時操作系統(tǒng)組成的有機(jī)整體。每個任務(wù)是順序執(zhí)行的,并以并行性的方式通過操作系統(tǒng)完成,任務(wù)間的相互通信和同步需要操作系統(tǒng)的支持。使用實(shí)時多任務(wù)系統(tǒng)的微機(jī)保護(hù)程序機(jī)制如圖3所示。
圖3使用RTOS的微機(jī)保護(hù)程序機(jī)制
繼電保護(hù)對實(shí)時性要求較高,任務(wù)較多,故本文提出基于ARM9和μC/OS-Ⅱ的微機(jī)保護(hù)核心平臺。
3.2μC/OS-Ⅱ性能分析及其在AT91RM9200中的移植
3.2.1μC/OS-Ⅱ性能分析
實(shí)時系統(tǒng)主要通過三個性能指標(biāo)來衡量系統(tǒng)的實(shí)時性,即響應(yīng)時間(ResponseTime)、生存時間(SurvivalTime)和吞吐量(Throughput):響應(yīng)時間:是實(shí)時系統(tǒng)從識別出一個外部事件到做出響應(yīng)的時間;
生存時間:是數(shù)據(jù)的有效等待時間,數(shù)據(jù)只有在這段時間內(nèi)才是有效的;
吞吐量:是在給定的時間內(nèi)系統(tǒng)能夠處理的事件總數(shù),吞吐量通常比平均響應(yīng)時間的倒數(shù)要小一點(diǎn)。
其中響應(yīng)時間是系統(tǒng)實(shí)時性最直觀、最重要的指標(biāo)。而系統(tǒng)響應(yīng)時間與任務(wù)切換時間、中斷延遲和調(diào)度延遲都有關(guān)系。μC/OS-Ⅱ的中斷處理程序中不需要關(guān)中斷,它的關(guān)中斷主要發(fā)生在一些原子操作和代碼臨界區(qū)保護(hù)的時候,并且都非常短,因此μC/OS-Ⅱ的中斷延遲很短。
μC/OS-Ⅱ是基于優(yōu)先級的“可剝奪”式內(nèi)核,而且內(nèi)核的調(diào)度算法非常簡單,因此μC/OS-Ⅱ調(diào)度延遲比較短且可以預(yù)測適應(yīng)實(shí)時應(yīng)用的要求。
關(guān)于上下文切換時間,由于μC/OS-Ⅱ的任務(wù)都有單獨(dú)的堆棧,因而任務(wù)的切換操作非常簡單,由10多條CPU指令就可完成,因此μC/OS-Ⅱ任務(wù)切換產(chǎn)生的延遲很小且是可以預(yù)測的。
3.2.2μC/OS-Ⅱ在AT91RM9200中的移植實(shí)現(xiàn)
μC/OS-Ⅱ的移植條件是:該處理器有堆棧,有CPU內(nèi)部寄存器入棧、出棧指令;使用的C編譯器支持內(nèi)嵌匯編(inlineasseInbly)或者該C語言可擴(kuò)展,可連接匯編模塊,使得關(guān)中斷、開中斷能在C語言程序中實(shí)現(xiàn)。
AT91RM9200符合其移植條件。μC/OS-Ⅱ的移植集中在3個文件,頭文件os_cpu.h,匯編文件os_cup_a.s,C代碼文件os_cpu_c.c。其中os_cpu.h主要包含編譯器相關(guān)的數(shù)據(jù)類型的定義、堆棧類型的定義以及幾個宏定義和函數(shù)說明。而os_cpu_c.c中則包含與移植有關(guān)的c函數(shù),包括堆棧的初始化函數(shù)和一些鉤子(hook)函數(shù)的實(shí)現(xiàn)。os_cpu-a.s中則包含與移植有關(guān)的匯編語言函數(shù),包括開/關(guān)中斷、上下文切換、時鐘中斷服務(wù)程序等。移植中關(guān)鍵的功能模塊實(shí)現(xiàn)如以下所述。
移植工作包括以下幾個內(nèi)容:①用繃efine設(shè)置一個常量的值(OS-CPU.H);②聲明數(shù)據(jù)類型(OS-CPU.H);③用#define聲明三個宏(OS.CPU.H);④用c語言編寫六個簡單的函數(shù)(OS—CPIJ-C.C);⑤編寫四個匯編語言函數(shù)(OS-CPU_ASM)。
3.3軟件結(jié)構(gòu)設(shè)計
在軟件設(shè)計時,盡量使軟件和硬件脫離,改變傳統(tǒng)的嵌入式軟件過多依賴硬件的模式。針對保護(hù)裝置的實(shí)際情況,把整個系統(tǒng)分成保護(hù)、A/D采樣、自檢、顯示、通信等幾個任務(wù),劃分原則是在考慮系統(tǒng)實(shí)時性和軟件效率的前提下盡量減少任務(wù)間的耦合,使功能清晰。任務(wù)確定以后,賦予每個任務(wù)唯一的ID號,并按照實(shí)時性要求對各個任務(wù)指定i其優(yōu)先級,本設(shè)計中把保護(hù)任務(wù)設(shè)置成較高優(yōu)先級。進(jìn)入運(yùn)行狀態(tài)后,在主任務(wù)中啟動其他任務(wù),例如顯示、A/D采樣、通信等。在這些任務(wù)中又可啟動另外的任務(wù)。下面給出了主程序的任務(wù)創(chuàng)建和資源分配的部分代碼。
設(shè)計中的任務(wù)調(diào)度機(jī)制采用優(yōu)先級調(diào)度模式:CPU被分配給最高優(yōu)先級任務(wù),如果幾個任務(wù)優(yōu)先級相同,CPU就被分配給最先進(jìn)入就緒隊(duì)列的任務(wù)。如果一個任務(wù)在執(zhí)行過程中,另外一個優(yōu)先級更高的任務(wù)進(jìn)入就緒狀態(tài),則原來正在進(jìn)行的任務(wù)進(jìn)入就緒狀態(tài),新任務(wù)進(jìn)入運(yùn)行狀態(tài)。
μC/OS-Ⅱ最多可支持56個任務(wù)。實(shí)現(xiàn)各種功能的保護(hù)程序按照功能劃分成了一個個的任務(wù),每一種任務(wù)實(shí)現(xiàn)一種功能,任務(wù)之間相互獨(dú)立,只通過實(shí)時操作系統(tǒng)R1DS(Real—TimeOperatingSystem)機(jī)制交換信息。這從根本上保證了軟件的可靠性和實(shí)時性。
4結(jié)束語
隨著ARM處理器技術(shù)的不斷發(fā)展和應(yīng)用的不斷推廣,ARM處理器在電力系統(tǒng)中必將得到更廣泛的應(yīng)用。而嵌入式實(shí)時操作系統(tǒng)RTOS在微機(jī)保護(hù)的應(yīng)用,為實(shí)現(xiàn)復(fù)雜的保護(hù)功能提供了可能。文中討論的基于嵌入式AT9lRM9200微處理器的微機(jī)保護(hù)裝置已完成現(xiàn)場調(diào)試,初步試運(yùn)行效果表明,該設(shè)計是成功的,受到用戶方的認(rèn)可,有望得到大力推廣。
標(biāo)簽:
中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20