劉建鋒,羅萍萍,章廣清
(上海電力學院電力與自動化工程學院,上海 200090)
電力系統(tǒng)動態(tài)模擬實驗是電氣工程專業(yè)研究電力系統(tǒng)穩(wěn)定運行的重要技術手段.為了能夠定量描述并分析短路故障和負荷投切對某一特定系統(tǒng)的影響,需要對模擬故障的持續(xù)時間、負荷投切時序等實現(xiàn)精確的設置和控制.本文基于ARM微處理器,結合SHD-3000型動模實驗室控制臺的具體情況,研制了一款多功能可編程故障時間控制器,能夠充分滿足動模實驗室對短路故障實驗、負荷投切時序等模擬試驗的要求,實現(xiàn)對故障現(xiàn)象的定性、定量分析.
結合SHD-3000動模實驗綜合控制臺,設計了故障時間控制器,其控制操作臺預留有各個斷路器及其設置短路故障的開出、開入量接口.時間控制器設計相應輸出接口與其對應.控制器可劃分為開關量輸出模塊、開關量輸入模塊、顯示模塊、紅外遙控模塊4個功能模塊.開關量共有16路對外接口,其中6路無源開出接口,6路有源開出接口,2路無源開入接口,2路有源開入接口.可與動模實驗控制臺配合使用,實現(xiàn)故障持續(xù)時間長短控制和負荷投切時序控制實驗.另外還有液晶顯示器、紅外遙控、鍵盤等模塊.用戶通過鍵盤輸入所設置故障的具體持續(xù)時間、開出量輸出時序等信息,再由ARM微處理器進行數(shù)據(jù)處理,并將時間信息、各路輸出時序圖發(fā)送到液晶顯示器上實時顯示,最后通過命令控制繼電器動作,完成各種控制任務.
控制器主處理器選用LPC2214微處理器,該微處理器是一款低功耗、16/32-bit基于ARM7內(nèi)核的高性能芯片[1].內(nèi)部集成有UART和SPI等多種通訊接口,有多達76個通用I/O接口.可實現(xiàn)最高60 MHz的CPU操作頻率[2],滿足故障時間控制器對信號處理實時性強的要求.其硬件結構如圖1所示.
圖1 時間控制器的硬件結構
故障時間控制器的硬件設計和功能相對應,也分為3個部分,分別與3個功能模塊相對應.
(1)開關量輸入用LPC2214中斷接受管腳并配合軟件終端管理器捕獲外部開關量輸入信號,并作防抖動預處理,然后向CPU傳送信號;
(2)開關量輸出利用光耦合器件,將LPC2214普通I/O輸出脈沖信號進行放大,用于驅動執(zhí)行繼電器,完成開關量輸出任務;
(3)遠紅外遙控接收用LPC2214異步串行接口UART接收紅外遙控器信號,以實現(xiàn)遙控操作.
為了在實驗過程中直觀地對故障時間和負荷投切時序圖進行觀察,在設計中考慮了液晶顯示接口,而且設計了和PC機進行通訊的RS232接口,以便配合上位機軟件對相關時序邏輯進行分析.
將時間控制器開出量信號接入動模控制臺的故障控制開入量接口,以實現(xiàn)對故障持續(xù)時間等的控制,這對可靠性和實時性的要求較高,因此對軟件的實時性也提出了較高要求,即軟件系統(tǒng)應該具有較為簡潔的代碼和較高的執(zhí)行效率.配合32位ARM處理器,本設計采用μC/OS-II作為操作系統(tǒng)進行軟件系統(tǒng)設計.μC/OS-II是一款開源、高效的嵌入式實時操作系統(tǒng),可以有效地提高系統(tǒng)的可靠性和代碼執(zhí)行效率[3].
2.2.1 開入量功能接口的實現(xiàn)
LPC2214內(nèi)部集成了2個定時器,并具有4路捕獲通道.當輸入信號跳變時可取得定時器的瞬時值,可作計時之用;也可編程選擇使捕獲事件產(chǎn)生中斷,然后啟動處理程序.本設計利用定時器的邊沿捕獲功能來測量外部脈沖信號,當預設動作時序的準確性得到確認后,可啟動相應輸出程序,使其按照設定動作時序發(fā)出動作信號,記錄后在液晶顯示器上顯示.
為了減少外部信號對微處理器所產(chǎn)生的干擾,在輸入信號與LPC2214之間使用了光隔離器件PC817,并起到電平轉換的作用.
2.2.2 開出量功能接口的實現(xiàn)
控制器設計有12路開關量輸出接口,其中6路無源接口,提供6對空節(jié)點;6路有源接口,提供最大3 A和12 V直流輸出.開關量的輸出也是控制器時間控制的執(zhí)行機構,由繼電器和光耦合器構成.由于所選型號繼電器本身需要5 V直流電作為供電電源,而LPC2214芯片提供的電壓不足以驅動,故將光耦合器作為驅動電路:從芯片發(fā)出信號到光耦合器,使光耦合器內(nèi)部的發(fā)光二極管發(fā)光,從而使三極管導通,5 V電壓加載到繼電器上,使其動作導致故障點短路.
2.2.3 紅外遙控功能接口的實現(xiàn)
控制器設計有紅外遙控功能,其載波頻率為38 kHz,經(jīng)特殊編碼處理可用普通家用電視機遙控器進行遙控操作.為方便與LPC2214的UART接口連接,紅外通訊模塊直接將UART的輸出信號進行38 kHz的調制后驅動紅外發(fā)射管發(fā)射;接收模塊接收紅外遙控器輸出的光信號,經(jīng)光電轉換后將電信號送入處理器UART的接收端進行處理.紅外接收器選用紅外接收模塊TSOP1838,該模塊是一個三端元件,使用單+5 V電源,中心響應頻率為38 kHz(與紅外發(fā)射電路的調制頻率一致),它具有功耗低、抗干擾能力強、輸入靈敏度高等特點.
本控制器還設計有液晶顯示、鍵盤、PC接口等.液晶顯示器可以直觀顯示故障時間,以及開關量輸入和輸出時序.6個獨立按鍵,Key1~Key6鍵由P0.11~P0.6分別作為輸入端口,配合軟件進行掃描識別.Key5鍵為確認鍵,用于確認輸入數(shù)值正確并使控制器開始工作;Key6鍵為保留鍵,為今后程序升級作準備.RS232串行接口為PC所設,可以將有關信息發(fā)送到上位機用于記錄分析.
μC/OS-II操作系統(tǒng)是一個完整的、基于優(yōu)先級的占先式實時多任務內(nèi)核.其特點如下[4]:
(1)源代碼開放;
(2)可移植性較強;
(3)適合特定工程的可剪裁性;
(4)多線程調度管理.
時間控制器的各個部分都在實時操作系統(tǒng)μC/OS-II的管理下工作.整個軟件也是基于該操作系統(tǒng)來進行設計的.μC/OS-II采用ANSIC語言編寫,包含一小部分匯編代碼,可供不同架構的微處理器使用.在基于μC/OS-II實時操作系統(tǒng)的應用程序設計中,完成各項功能的程序模塊是以任務(線程)的形式來體現(xiàn)的.任務設計是整個應用程序設計的基礎,在μC/OS-II管理下的軟件設計,必須合理界定劃分各個任務,明確任務的優(yōu)先級別,確定任務間相互調度時的信息傳遞方式等.為不同任務合理安排不同的優(yōu)先級,是使系統(tǒng)的實時性、可靠性、穩(wěn)定性滿足要求的關鍵.
在μC/OS-II管理下的實時應用程序設計中,任務設計是整個應用程序設計的基礎.首先將整個工程分割成多個任務(一個任務就是一個程序模塊),使每個任務都被賦予一定的優(yōu)先級,而且擁有屬于每個任務自己的一套CPU寄存器和堆??臻g.多任務運行是指CPU在多個任務之間依照優(yōu)先級的不同來進行轉換和調度.異常事件則使用中斷程序來隨時中斷這些任務的執(zhí)行.任務之間以及任務與中斷服務程序之間可以調用信號量、消息郵箱、消息隊列、延時等系統(tǒng)服務來實現(xiàn)彼此之間的通訊(數(shù)據(jù)共享)和同步.多任務運行可使CPU的利用率達到最高[4],并使應用程序模塊化,從而將復雜的應用程序層次化.
在μC/OS-II操作系統(tǒng)中,任務的優(yōu)先級共有64個,優(yōu)先級的高低從0~63排序.在實際應用中,應保留最高的4個優(yōu)先級(0~3),以及OS_ LOWEST_PRIO~OS_LOWEST_PRIO-3 4個優(yōu)先級的使用權,其中兩個已被系統(tǒng)所用,其余的留作系統(tǒng)版本升級之用.
任務優(yōu)先級的安排原則為中斷關聯(lián)性、緊迫性、頻發(fā)性等,與中斷服務程序有關聯(lián)的任務應安排盡可能高的優(yōu)先級,以便及時處理異常事件,提高系統(tǒng)的實時性.緊迫任務對響應時間有嚴格要求,越緊迫的任務安排的優(yōu)先級也越高[5].
在本系統(tǒng)中,主要的任務有時鐘管理、液晶顯示、上位機顯示(經(jīng)由RS232接口)、開入量響應、開出量控制等.除了開入量信號用定時器捕獲進而用觸發(fā)中斷的方式接收外,其他任務都分別被賦予一定的優(yōu)先級,共同處于μC/OS-II操作系統(tǒng)管理之下.軟件的系統(tǒng)結構如圖2所示.
在使用時間控制器的動模試驗過程中,檢測控制臺送出的信號非常重要,因此采用中斷程序來隨時響應外部開入量脈沖信號.鍵盤掃描、開出量輸出、紅外控制、時鐘管理4個任務具有層次性,依次由高到低分配優(yōu)先級.液晶和上位機PC顯示任務實時性的要求較低,因而可以賦予較低的優(yōu)先級別.
圖2 μC/OS-II硬件和軟件的系統(tǒng)結構
軟件系統(tǒng)的運行就是各個任務之間的調度協(xié)作運行.任務之間具有相互關聯(lián)性和時序性.通過調用μC/OS-II系統(tǒng)的任務通訊管理機制,可以方便快捷地實現(xiàn)任務之間的通信.應用層軟件包含5個任務,根據(jù)任務的特性,對于具有關聯(lián)性的任務分別用不同的通信機制來完成任務之間的信息傳遞.用信號量通知開出量控制任務,接收外部開入量信號任務,然后用消息隊列通知兩個顯示任務,以完成整個控制過程.
基于ARM微處理器所設計的動模實驗故障時間控制器,以高性能的32位ARM處理器為核心,充分利用ARM微處理器速度快、多任務處理等優(yōu)點,能夠快速實現(xiàn)開入量接收處理、開出量時序控制等各種功能.通過實驗室測試表明,故障時間控制器能夠實現(xiàn)快速、可靠控制,滿足對故障現(xiàn)象進行定性、定量分析研究的要求,具有實際工程應用價值.
[1]周立功.嵌入式系統(tǒng)設計與實例開發(fā)[M].北京:北京航空航天大學出版社,2005:60-62.
[2]周立功,張華.深入淺出ARM7-LPC213x[M].北京:北京航空航天大學出版社,2005:51-53.
[3]JEAN J.Labrosse,MicroC/OS-IIThe Real-Time Kernel[M].Second Edition.USA:Published by CMP Books,2002:5-7.
[4]劉建鋒,李開成.基于ARM的電子式互感器合并單元的設計[J].電測與儀表,2008(4):49-53.
[5]胡曉波,李開成,劉建鋒,等.基于μC/OS-Ⅱ的電力負荷控制終端[J].船電技術,2007(1):46-48.
(編輯胡小萍)