基于μC/OS-II的電力參數(shù)監(jiān)測儀設(shè)計
電力參數(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時鐘周期。通過以上方法計算頻率。
本文引用地址:http://m.butianyuan.cn/article/189002.htm
3 系統(tǒng)軟件設(shè)計
系統(tǒng)軟件分為執(zhí)行軟件和應(yīng)用軟件,執(zhí)行軟件采用實(shí)時多任務(wù)操作系統(tǒng)μC/OS-II。μC/OS-II是一種源碼公開、可移植、可固化、可裁剪、占先式的實(shí)時多任務(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)具有較好的實(shí)時性和安全性。同時μ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í)行。
在實(shí)際應(yīng)用中,首先將實(shí)時多任務(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)在實(shí)際應(yīng)用中除了實(shí)時獲得和顯示操作系統(tǒng)的電力參數(shù)以外,可實(shí)現(xiàn)必要的保護(hù)功能。例如在實(shí)現(xiàn)電力線路微機(jī)保護(hù)中,評價系統(tǒng)性能好壞很重要的一項(xià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í)際測量中得到的數(shù)據(jù),結(jié)果表明2類數(shù)據(jù)基本相符。
5 結(jié)語
系統(tǒng)是基于實(shí)時嵌入式操作系統(tǒng)μC/OS―II設(shè)計的電力參數(shù)監(jiān)測儀器,具有結(jié)構(gòu)簡單,成本低廉等優(yōu)點(diǎn)。實(shí)驗(yàn)表明,該系統(tǒng)在數(shù)據(jù)處理、轉(zhuǎn)換、通訊等方面,具有實(shí)時性高,系統(tǒng)抗干擾能力強(qiáng),可擴(kuò)展性好,易于在類似的工業(yè)及民用的測控系統(tǒng)使用。
評論