基于CPLD與μC/OS -Ⅱ的斷路器智能控制單元設(shè)計
在該智能控制單元中,CPLD是一個重要的組成部分,由CPLD組成的狀態(tài)采集及輸出執(zhí)行系統(tǒng)可以獨立工作,主要是控制斷路器的異步關(guān)合,接受各種輸入的按鍵操作和狀態(tài)的輸入/輸出。同步控制時,CPLD接收DSP傳送的動作命令,即可以執(zhí)行同步關(guān)合操作,同時,當(dāng)狀態(tài)發(fā)生變化時,CPLD將發(fā)出中斷信號,由DSP讀取狀態(tài)并且作出相應(yīng)的處理或傳送給監(jiān)控中心。CPLD的輸入信號主要有異步的關(guān)、合、復(fù)位輸入,斷路器的位置信號、開關(guān)小車的位置信號、失壓跳閘、過流跳閘、系統(tǒng)電壓信號等。其信息輸出模塊的功能主要是顯示斷路器是否具備可以操動的條件、斷路器的合/分閘狀態(tài)、斷路器的動作執(zhí)行情況、輸出控制斷路器動作命令等。CPLD的控制框圖如圖2所示。CPLD作為一個單獨的控制執(zhí)行機(jī)構(gòu),通過編寫相應(yīng)的VHDL代碼,即可以生成相應(yīng)的操作電路,包括對各種輸入信號的鎖存、判斷和處理,以及對各種命令信號的執(zhí)行,對輸出信號的控制。
軟件設(shè)計
軟件設(shè)計包括系統(tǒng)軟件設(shè)計和應(yīng)用軟件設(shè)計。
圖2 CPLD的控制框圖
系統(tǒng)軟件設(shè)計的主要任務(wù)是實現(xiàn)μC/OS-Ⅱ在F2812上的移植;應(yīng)用軟件設(shè)計的主要任務(wù)是系統(tǒng)功能的實現(xiàn)。
系統(tǒng)軟件設(shè)計
μC/OS -Ⅱ簡介
本設(shè)計系統(tǒng)軟件采用源代碼公開實時操作系統(tǒng)μC/OS-Ⅱ,它是一個基于優(yōu)先級的、可移植、可固化、可裁剪、占先式實時操作系統(tǒng),其絕大部分源碼是用ANSIC寫的。
μC/OS-Ⅱ在F2812上的移植要使用μC/OS-Ⅱ,首先要把內(nèi)核成功移植到所使用的CPU上。μC/OS-Ⅱ在F2812上的移植工作包括4個內(nèi)容。
a.在OS_CPU.H中定義與處理器相關(guān)的常量、宏及數(shù)據(jù)類型。例如關(guān)中斷和開中斷的定義分別為#defineOS_ENTER_CRITICAL()asm“DINT”及#defineOS_EXIT_CRITICAL()asm“EINT”。
b.調(diào)整和修改頭文件OS_CFG.H,以裁減或修改μC/OS-Ⅱ的系統(tǒng)服務(wù),減少資源損耗。例如,
#defineOS_MBOX_EN0即禁止使用郵箱相關(guān)的代碼。
c.編寫C語言文件OS_CPU.C。由于本設(shè)計中未用到其他幾個函數(shù),因此這里主要完成函數(shù)OSTaskStkInit()的編寫。OSTaskStkInit()用來初始化任務(wù)的堆棧結(jié)構(gòu),使其看起來象剛發(fā)生過中斷并將所有的寄存器保存到堆棧的情形一樣。
d.編寫匯編語言文件OS_CPU.ASM。本文件包括4個子函數(shù)程序:OSStartHighRdy()(運行最高優(yōu)先級任務(wù)),OSCtxSw()(任務(wù)級的任務(wù)切換),OSIntCtxSw()(中斷級的任務(wù)切換)和OSTickISR()(μC/OS-Ⅱ時間節(jié)拍中斷函數(shù)),這是μC/OS-Ⅱ移植中的重點和難點,這幾個函數(shù)的合理實現(xiàn),是保證μC/OS-Ⅱ運行的基礎(chǔ)。
上述工作完成后,μC/OS-Ⅱ就可以運行了。
應(yīng)用軟件設(shè)計
根據(jù)智能控制單元的功能要求,將系統(tǒng)分為交流電壓采集模塊、數(shù)據(jù)處理模塊、斷路器動作時間預(yù)測模塊、通信模塊、以及與CPLD的接口模塊共11個任務(wù)和3個中斷來實現(xiàn),每個任務(wù)根據(jù)其實時性的要求并參照單調(diào)執(zhí)行率調(diào)度法RMS分配一定的優(yōu)先級、任務(wù)及中斷的定義,如表1所示。
斷路器相關(guān)文章:斷路器原理
高壓真空斷路器相關(guān)文章:高壓真空斷路器原理 漏電斷路器相關(guān)文章:漏電斷路器原理
評論