基于μC/OS-II的電力參數(shù)監(jiān)測儀設(shè)計
1 引言
電力參數(shù)的測量與監(jiān)控對于電能管理的科學(xué)化水平有著至關(guān)重要的影響,于是研制了各種電力監(jiān)測儀器。隨著電子技術(shù)的發(fā)展,微型機(jī)、單片機(jī)以及DSP處理器的處理速度大大提高,為電力參數(shù)測量方法提供了有利的硬件支持Ⅲ。因此,提出了一種基于DSP嵌入式實時操作系統(tǒng)的電力參數(shù)測量儀器及硬、軟件設(shè)計方案。
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)硬件架構(gòu)
電力參數(shù)測量儀器系統(tǒng)的硬件部分是以TI公司的TMS320LF2407A為核心,其軟件部分是以μC/OS-II為執(zhí)行軟件,在此基礎(chǔ)上開發(fā)了一種具有電力參數(shù)測量、顯示和通訊功能的智能化檢測儀,給出了比較完整的外設(shè)擴(kuò)展,包括電源電路、監(jiān)控電路、時鐘電路、JTAG端口電路、模擬量輸入電路、頻率采集電路及通訊電路等,同時該系統(tǒng)還具有實時時間顯示和看門狗功能,且可通過RS232或CAN總線與外部(微機(jī))通信,其原理框圖如圖1所示。
一般情況下,根據(jù)系統(tǒng)所需實現(xiàn)的功能、處理速度和存儲器尋址能力選擇合適的處理器及外圍器件。由于系統(tǒng)涉及信號處理和數(shù)學(xué)計算,因此選擇定點(diǎn)的 DSP作為處理器,根據(jù)所選的處理器確定所需的外部設(shè)備。包括定態(tài)RAM,E一PROM,閃存,串行和并行通信接口,網(wǎng)絡(luò)接口,可編程定時器/計數(shù)器,狀態(tài)LED指示和應(yīng)用的專門硬件電路。
系統(tǒng)中選用了TI公司的TMS320LF2470A DSP作為主控制器,它是TMS320LF2407的增強(qiáng)型,其內(nèi)部總線采用哈佛結(jié)構(gòu),指令執(zhí)行速度為40 MI/s,絕大部分指令可以在單周期內(nèi)執(zhí)行完畢。在TI的240x系列的DSP中,TMS320LF2407A無論內(nèi)部結(jié)構(gòu)和外圍控制接口,都具有優(yōu)異性能,考慮到該型號的DSP內(nèi)部集成有A/D轉(zhuǎn)換器,CAN模塊,高達(dá)32 K的Flash程序存儲器。應(yīng)用這些資源可大大簡化該系統(tǒng)的硬件結(jié)構(gòu),并且其高速處理特性可實現(xiàn)很多先進(jìn)的控制算法。
2.2 信號預(yù)處理電路
交流模擬量輸入電路由隔離電路和調(diào)理電路組成,隔離電路的作用是將交流電壓或電流轉(zhuǎn)換為直流信號,并把這些信號送給模擬量調(diào)理電路。由于 TMS320LF2407A的模擬電壓輸入范圍為O~3.3 V,因此應(yīng)首先通過傳感器或運(yùn)算放大器將測量電壓轉(zhuǎn)換至合適的電壓范圍,同時在模擬電壓進(jìn)入DSP之前設(shè)計合理的電壓跟隨器,使電壓增益趨近于1。
2.3 電力參數(shù)測量算法
通常需監(jiān)測的電力參數(shù)包括電壓、電流、頻率、有功功率等。對于電壓、電流參數(shù)的測量,常用的方法有直流采樣法和交流采樣法。對于頻率參數(shù)的監(jiān)測方法采用DSP中的捕獲單元來監(jiān)測。
電壓電流的直流采樣法,是指采集經(jīng)整流后的直流量。采用直流采樣算法測量電壓、電流時,均是通過測量平均絕對值來測量電參量有效值。此方法軟件設(shè)計簡單,計算方便,對采樣值只需作比例變換即可得到被測量的數(shù)值。直流采樣法的缺點(diǎn)是:測量準(zhǔn)確度直接受整流電路的準(zhǔn)確度和穩(wěn)定性的影響;整流電路參數(shù)調(diào)整困難,而且受波形因數(shù)的影響較大等。交流采樣法是按一定規(guī)律對被測信號的瞬時值進(jìn)行采樣,用一定的數(shù)值算法求得被測量。它與直流采樣的差別是用軟件功能代替硬件功能。是否采用交流采樣取決于兩個條件:測量準(zhǔn)確度和測量速度。交流采樣法包括同步采樣法、準(zhǔn)同步采樣法、非整周期采樣法和非同步采樣法等。通常,采樣點(diǎn)數(shù)的選擇和采樣頻率的選擇很重要。如果采樣頻率選擇過高,即采樣間隔小,則一個周期里采樣點(diǎn)數(shù)過多,造成數(shù)據(jù)存儲量過大和計算時間太長:但如果采樣頻率過低,F(xiàn)FT運(yùn)算在頻域?qū)霈F(xiàn)混淆現(xiàn)象,造成頻譜失真,使之不能真實反映原來的信號。
電力參數(shù)的頻率測量方法采用過零比較器產(chǎn)生方波,然后利用DSP中的捕獲單元CAP,捕獲上升沿或下降沿,通過計數(shù)器計數(shù),計算頻率。 TMS320LF2407A的事件管理器共有6個捕獲單元。對于EVA模塊,與它相關(guān)的捕獲單元引腳有3個,分別是CAPl、CAP2和CAP3,可以選擇通用定時器l或2作為其時基,然而CAPl和CAP2一定要選擇相同的定時器作為時基。對于EVB模塊,與它相關(guān)的捕獲單元引腳也有3個,分別為 CAP4、CAP5和CAP6,可以選擇通用定時器3或4作為其時基,然而CAP4和CAP5也一定要選擇相同的定時器作為時基。在捕獲單元使能后,輸入引腳上的指令跳變,將所選通用定時器的計數(shù)值裝入到相應(yīng)的FIFO堆棧。與此同時,相應(yīng)的中斷標(biāo)志位被置位,如果該中斷標(biāo)志沒有被屏蔽,則外設(shè)中斷將產(chǎn)生一個中斷請求信號。
每當(dāng)將捕獲到的新計數(shù)值存入到FIFO堆棧時,捕獲FIFO狀態(tài)寄存器(CAPFIFOx)的相應(yīng)位就進(jìn)行調(diào)整以反映FIFO堆棧新的狀態(tài)。從捕獲單元輸入引腳處發(fā)生跳變到所選通用定時器的計數(shù)值被鎖存之間的延時需要2個CPU時鐘周期。通過以上方法計算頻率。
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件分為執(zhí)行軟件和應(yīng)用軟件,執(zhí)行軟件采用實時多任務(wù)操作系統(tǒng)μC/OS-II。μC/OS-II是一種源碼公開、可移植、可固化、可裁剪、占先式的實時多任務(wù)操作系統(tǒng),并且已經(jīng)通過了聯(lián)邦航空局(FAA)商用航行器認(rèn)證,符合RTCA(航空無線電技術(shù)委員會)D0一l78B標(biāo)準(zhǔn)(該標(biāo)準(zhǔn)是為航空電子設(shè)備所使用軟件的性能要求而制定的)。由于μC/OS—II采用多任務(wù)機(jī)制,采用優(yōu)先級調(diào)度算法完成任務(wù)間的調(diào)度,并支持搶占式調(diào)度,通過任務(wù)調(diào)度和任務(wù)監(jiān)視,系統(tǒng)具有較好的實時性和安全性。同時μC/OS—II具有可裁減的體系結(jié)構(gòu),并具有內(nèi)存管理、中斷管理和任務(wù)控制塊(TCB)擴(kuò)展的功能,該軟件具有較好的可擴(kuò)展性,因此選擇μC/OS—II作為系統(tǒng)執(zhí)行軟件。
將系統(tǒng)任務(wù)分為模擬量采集任務(wù)、電力參數(shù)計算任務(wù)、通訊任務(wù)和顯示任務(wù)等,并分配不同的任務(wù)優(yōu)先級。
當(dāng)確定μC/OS—II中的任務(wù),并給任務(wù)賦予優(yōu)先級,系統(tǒng)即可按照μC/OS-II的調(diào)度機(jī)理進(jìn)行任務(wù)調(diào)度,具體由哪個任務(wù)工作是由調(diào)度器 (scheduler)完成。任務(wù)調(diào)度分為中斷級調(diào)度和任務(wù)級調(diào)度,中斷級調(diào)度由μC/OS—II中的OSIntExt()函數(shù)完成;任務(wù)級調(diào)度由 μC/0S—II中的OSSched()函數(shù)來完成。系統(tǒng)中,時間片的產(chǎn)生,通訊接收中斷,A/D轉(zhuǎn)換器采集中斷都是屬中斷級調(diào)度,其余的任務(wù)均屬任務(wù)級調(diào)度。
μC/OS—II的任務(wù)調(diào)度機(jī)制:屬于基于優(yōu)先級的占先式任務(wù)調(diào)度算法,系統(tǒng)中的任務(wù)都有一個固定的優(yōu)先級,在任意時刻內(nèi)核總是將CPU的控制權(quán)分配給就緒狀態(tài)的最高優(yōu)先級的任務(wù),如果系統(tǒng)內(nèi)核在某刻發(fā)現(xiàn)有比當(dāng)前任務(wù)優(yōu)先級更高的任務(wù)處于就緒狀態(tài),內(nèi)核立即保存上下文,并切換到優(yōu)先級更高任務(wù)的上下文執(zhí)行。[!--empirenews.page--]
在實際應(yīng)用中,首先將實時多任務(wù)操作系統(tǒng)μC/OS—II移植到TMS320LF2407A中,現(xiàn)在關(guān)于μC/OS—II移植到該處理器的源代碼較多,此處不作分析,只將移植時需用戶自己編寫幾個函數(shù)列出:①編寫OS_CPU_A.ASM;包括4個子程序 _OSStartHighRdy();_OSCtrxSw();_OSIntCtxsw()和0STickISR();這需對處理器的寄存器進(jìn)行操作,所以必須用匯編語言編寫。②編寫0S_CPU_C.C;本文件僅包括OSTaskStkInit()子程序,該函數(shù)模仿TI公司的I$$SAVE庫函數(shù)對任務(wù)堆棧初始化。③編寫OS_CPU.H;包括了用#define定義的與處理器相關(guān)的常量、宏和類型定義。有系統(tǒng)數(shù)據(jù)類型定義,棧增長方向定義,關(guān)中斷和開中斷定義,系統(tǒng)軟中斷的定義等等。④按需配置OS_CFG.H,按需修改CPU中斷向量表和外設(shè)向量表。在成功移植μC/OS一Ⅱ后,就可添加相應(yīng)的應(yīng)用任務(wù)子程序,然后逐個任務(wù)調(diào)試,最后完成系統(tǒng)的軟件設(shè)計。
4 應(yīng)用
系統(tǒng)在實際應(yīng)用中除了實時獲得和顯示操作系統(tǒng)的電力參數(shù)以外,可實現(xiàn)必要的保護(hù)功能。例如在實現(xiàn)電力線路微機(jī)保護(hù)中,評價系統(tǒng)性能好壞很重要的一項指標(biāo)就是跳閘出口時間,即從故障發(fā)生時刻到裝置動作輸出跳閘信號所用的時間。下面以過電壓保護(hù)為例分析采用μC/OS—II的保護(hù)裝置對故障的響應(yīng)速度。
對于速斷保護(hù),跳閘出口時間一般包括等待A/D采樣中斷時間、A/D采樣時間、等待保護(hù)中斷時間、保護(hù)任務(wù)運(yùn)行時間及保護(hù)繼電器動作時間。其中繼電器動作時間和等待保護(hù)中斷時間占整個響應(yīng)時間的90%,其他幾個時間可以忽略。在保護(hù)裝置中采用的繼電器動作時間約為10 ms,等待保護(hù)任務(wù)需5 ms,故理論上講出口時間為15 ms,表1為實際測量中得到的數(shù)據(jù),結(jié)果表明2類數(shù)據(jù)基本相符。
5 結(jié)語
系統(tǒng)是基于實時嵌入式操作系統(tǒng)μC/OS—II設(shè)計的電力參數(shù)監(jiān)測儀器,具有結(jié)構(gòu)簡單,成本低廉等優(yōu)點(diǎn)。實驗表明,該系統(tǒng)在數(shù)據(jù)處理、轉(zhuǎn)換、通訊等方面,具有實時性高,系統(tǒng)抗干擾能力強(qiáng),可擴(kuò)展性好,易于在類似的工業(yè)及民用的測控系統(tǒng)使用。