備自投裝置是電力系統中常用的一種安全自動裝置,在發電廠和變電站及配電網絡中得到廣泛的應用。本文引入嵌入式操作系統μC/0S_II,將它移植到以TMS320F240 DSP和XIlinx CPLD為核心設計的新型備自投裝置的硬件平臺上,并詳細介紹該裝置的任務劃分和任務調度。
備用電源自動投入裝置是當工作電源因故障斷開以后,能自動而迅速地將備用電源投入到工作或將用戶切換到備用電源上去,從而使用戶不至于被停電的一種自動裝置,簡稱備自投。
備自投裝置作為電力系統中常用的一種安全自動裝置,其發展與繼電保護裝置一樣經過了電磁(整流)型、晶體管型、集成電路型和微機型四個主要階段。究其本質,各階段的主要技術區別在于對采集量(電流量、電壓量、開關量)的運算方式和邏輯功能的實現方式上有所不同。目前,以微機型備用電源自投裝置為應用主流,它將電流量、電壓量等模擬量通過VFC(壓頻變換器)元件或ADC元件轉換為數字量送到裝置的數據總線上,通過預設程序對數字量和開關量進行綜合邏輯分析,并根據分析結果作用于相關斷路器,從而實現自動切換功能。
DSP芯片也稱數字信號處理器,是一種特別適合于進行數字信號處理運算的微處理器,其主要應用是實時快速地實現各種數字信號處理算法。
本文采用μC/OS-II作為軟件平臺的操作系統,它是一種優先級占先式內核,具有多任務的實時調度能力,更加適合管理DSP豐富的外設資源,從而更好地發揮其高效的運算性能,滿足備自投裝置實時性、可靠性等要求。
1 μC/OS_Il的移植與配置
為了方便移植,大部分μC/OS_II的代碼是用C語言編寫的,但底層與處理器硬件相關的少量代碼仍使用匯編語言編寫。這是因為μC/OS_II在讀寫處理器寄存器時,只能通過匯編語言。圖l說明了μC/OS_II的結構以及與硬件的關系。
首先,修改與TMS320F240相關的文件OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C,再加上其公開的系統源代碼,將它們一起拷入指定的文件目錄,系統的移植就完成了。系統移植成功后,需要對操作系統進行裁剪,把用不到的功能去掉,以最大限度地節省存儲空間。這項工作是通過OS_CFG.H中的宏定義進行的,本文用到多任務管理、信號量、互斥量等功能。在本應用中,μC/OS_II內核經過剪裁后只有2 KB左右,相對TMS320F240的16 KB內部程序FIash只用了不到八分之一。下面是測試內核能否正常工作的應用程序。測試結果如圖2所示,表明移植成功。
2 新型背自投動作邏輯的運行背景與硬件平臺
該動作邏輯適用的接線方式是:2條進線、分段母線帶內橋和2臺三圈變壓器。具體如圖3所示。
其中Ulab反映進線1有無電壓,Il反映進線1有無電流,U1AB、U1BC反映母線1段有無電壓,U1CA反映主變1有無電壓;U2ab反映進線2有無電壓,12反映進線2有無電流,U2AB、U2BC反映母線2段有無電壓,U2CA反映主變2有無電壓。
根據動作邏輯和其自適應性,本裝置需要采集8路開入量:斷路器1的KKJ位置和TWJ位置;斷路器2的KKJ位置和TWJ位置;斷路器3的KKJ位置和TWJ位置;主變1保護動作信號量ACTl;主變2保護動作信號量ACT2。同時,需要5路開出量:斷路器1的跳閘命令和合閘命令;斷路器2的跳閘命令和合閘命令;斷路器3的合閘命令。
本裝置以TMS320F240 DSP和Xilinx CPLD為核心設計其硬件平臺,根據備自投裝置的要求,系統要實現以下功能:鍵盤輸入、參數顯示、模擬量采集、開關量輸入輸出、看門狗單元以及通信等。
裝置采集進線和主變的8路電壓量和2路電流量以及繼電器和主變保護的開關位置狀態,并跟蹤變電站系統當前的運行方式,自動判斷是否滿足充電、放電及動作條件,之后發跳合閘命令,完成動作邏輯。通過現場二次互感器引入各路電壓電流模擬信號量,并采集現場的位置開關和節點信號。其繼電器動作信號輸出端與現場控制線路開關投切的繼電器連接。系統運行過程中實時顯示電流、電壓、開關量等參數,并可以通過鍵盤對控制器進行參數在線設定。裝置結構框圖如圖4所示。
3 任務劃分與任務調度
3.1 任務劃分
由于μC/OS-It是搶占式任務調度方式,并且要求每個任務的優先級唯一,所以在進行任務劃分、任務優先級確定的時候,必須仔細衡量各任務之間對共享資源的操作要求,避免產生優先級反轉或系統死鎖的問題。另外,正確的任務劃分和優先級分配可以充分體現嵌入式操作系統任務調度算法的效率,從而提高整個程序的實時性能。根據任務分解規則和裝置系統功能的特點,可以將裝置任務模塊分解為以下幾個任務,如表1所列。
考慮到數據定時采樣和開關量輸入任務是數據處理和準確動作判斷的基礎,實時性要求很高,所以在DSP硬件定時中斷中完成,程序具體實現如下:
interrut voidint2(void){/*通用定時器1啟動A/D轉換*/
if(*EVIVRA=0x0027){
asm(″setcINTM″); /*關中斷*/
*IFR一0x0002;/*清除IFR的中斷標志位″/
*EVIFRA=0x07ff;
/*清除定時器1的中斷標志位,為下一次中斷做好準備″/
ADConver(); /*數據采樣任務*/
asm(″clrcINTM″); /*開中斷*/
}
return;
}
3.2任務調度
μC/OS-II中,每個任務都處于休眠態、就緒態、運行態、掛起態和中斷態5種狀態之一。如圖5所示,當前運行的是開關量輸出任務,數據處理動作判斷任務因為等待數據定時采樣任務發出的信號量seml而處于掛起態。當數據定時采樣中斷發生時,內核進行任務切換,就緒態任務中數據定時采樣任務優先級最高,所以進入運行態。當完成采樣時,發出信號量selnl給數據處理動作判斷任務,使其就緒,并且成為就緒態任務中優先級最高的任務,轉入運行態。此時,開關量輸出任務等待信號量sem2處于掛起態,當數據處理完畢后,發信號量sem2,開關量輸出任務得到該信號量后進入就緒態。因為當前運行任務的優先級低于開關量輸出任務,所以立即運行開關量輸出任務。
結語
本裝置投入運行以來,一直很穩定,取得了良好的運行效果,顯示了高可靠性、安全性和實時牲。多任務操作系統思想的運用改變了傳統的嵌入式開發過程,使備自投裝置具有足夠的通用性和可擴展性。同時,這種應用嵌入式操作系統作為軟件平臺的設計對其他微機控制保護裝置也有一定的借鑒意義。
責任編輯:gt
-
電源
+關注
關注
184文章
17824瀏覽量
251236 -
dsp
+關注
關注
554文章
8059瀏覽量
349761 -
cpld
+關注
關注
32文章
1248瀏覽量
169513 -
μC/OS-II
+關注
關注
0文章
2瀏覽量
3657
發布評論請先 登錄
相關推薦
評論