技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于us/OS-II操作系統(tǒng)的斷路器控制器研制

基于us/OS-II操作系統(tǒng)的斷路器控制器研制

時間:2009-05-15 11:36:00來源:ronggang

導(dǎo)語:?本文介紹了一種基于us/OS-II嵌入式操作系統(tǒng)和TMS320LF2407A DSP的低壓斷路器新型智能控制器的設(shè)計
摘 要:本文介紹了一種基于us/OS-II嵌入式操作系統(tǒng)和TMS320LF2407A DSP的低壓斷路器新型智能控制器的設(shè)計,對us/OS-II嵌入式操作系統(tǒng)、嵌入式系統(tǒng)的硬件設(shè)計和軟件開發(fā)進行了介紹,并對us/OS-II在TMS320LF2407A芯片上的移植進行了重點介紹。樣機現(xiàn)場試驗表明,該控制器可靠性高,試驗結(jié)果達到預(yù)期的設(shè)計要求,具有廣闊的應(yīng)用前景。 關(guān)鍵詞:us/OS-II, 嵌入式,斷路器,智能控制器 Abstract: the design of a new intelligent controller for low voltage circuit breaker based on us/OS-II embedded operate system and TMS320LF2407A DSP is presented, the us/OS-II embedded operate system and the design of hardware and software of embedded system are introduced, especially, the design of transplant from us/OS-II to TMS320LF2407A is introduced in detail. The results of industrial tests show that this intelligent controller has high reliability, the results of experiment has achieve to anticipation request. It can be widely applicated. Keyword: us/os- II, Embedded, Circuit Breaker, Intelligent Controller 0. 引言   斷路器的智能操作是斷路器智能化發(fā)展過程中的一個全新的概念。智能控制器是實現(xiàn)智能操作的核心部件[1],其基本任務(wù)是通過對電網(wǎng)參數(shù)的采集和處理,給出相應(yīng)的控制信息。此外,智能控制器通過現(xiàn)場總線可以和計算機連接,進行遠程監(jiān)控管理。智能控制器的核心部分是軟件設(shè)計。目前,我國的大多數(shù)控制器的軟件設(shè)計都是采用主循環(huán)程序和中斷服務(wù)程序相配合的設(shè)計方法。而近年來嵌入式系統(tǒng)的使用越來越成熟,其中us/OS-II嵌入式操作系統(tǒng)由于源代碼公開化,內(nèi)核體積小,可移植性好等原因,受到廣泛的應(yīng)用。本文采用了TI公司的DSP芯片TMS320LF2407A作為嵌入式系統(tǒng)硬件,將us/OS-II嵌入式操作系統(tǒng)移植到DSP芯片中,提高了系統(tǒng)的運行效率和可靠性。 1. us/OS-II嵌入式操作系統(tǒng)   嵌入式系統(tǒng)是執(zhí)行專用功能并被內(nèi)部計算機控制的設(shè)備或系統(tǒng),操作系統(tǒng)以及應(yīng)用軟件集成于計算機硬件系統(tǒng)之中,即系統(tǒng)的應(yīng)用軟件和系統(tǒng)的硬件一體化,嵌入式系統(tǒng)具有軟件代碼少,高度自動化,響應(yīng)速度快等特點,特別是適合于要求實時和多任務(wù)處理的情況。   us/OS-II嵌入式操作系統(tǒng)是一個完整的、源代碼公開的、可移植的、固化的、可裁剪的占先式實時多任務(wù)內(nèi)核,它是一種不可剝奪型內(nèi)核,所以在任務(wù)調(diào)度是必須先設(shè)定任務(wù)的優(yōu)先級。us/OS-II包括以下幾個部分:內(nèi)核管理、任務(wù)管理、時間管理、事件控制塊、信號量管理、郵箱管理等。   us/OS-II中創(chuàng)建的任務(wù)有5種狀態(tài)[2],分別是:睡眠態(tài)、等待態(tài)、就緒態(tài)、運行態(tài)、中斷服務(wù)態(tài)。us/OS-II是占先式內(nèi)核,每個任務(wù)都要設(shè)置優(yōu)先級,優(yōu)先級最高的任務(wù)可以先進入CPU運行,其它任務(wù)只能先在就緒狀態(tài)中等待。us/OS-II最多可以創(chuàng)建多達64個任務(wù)(實際可以使用的是56個,因為前4個和后4個任務(wù)優(yōu)先級被保留做系統(tǒng)升級用)。 2. 嵌入式系統(tǒng)的硬件設(shè)計   2.1 智能控制器總體結(jié)構(gòu)及工作原理   智能控制器硬件系統(tǒng)的總體結(jié)構(gòu)如圖1所示。該控制器的主要任務(wù)是采集電網(wǎng)上的電流和電壓信號,經(jīng)過信號處理電路的調(diào)理后,使信號變換成DSP的輸入標(biāo)準(zhǔn)電壓0到3.3V,DSP控制器通過對采集來的信號進行分析,正確的發(fā)出動作指令,并通過CAN總線向監(jiān)控計算機發(fā)送相關(guān)數(shù)據(jù),實現(xiàn)遠程監(jiān)控管理。系統(tǒng)構(gòu)成主要包括DSP及其外圍電路所構(gòu)成的最小系統(tǒng)、A/D信號采集與處理電路,液晶顯示電路,電源,脫扣電路等部分。DSP的外圍電路包括晶振、濾波回路和片外RAM連接選擇存儲空間時使用的一些門電路。
  2.2 TMS320LF2407A芯片及其開發(fā)環(huán)境CCS2.2簡介   TMS320LF2407A是專為基于控制的應(yīng)用而設(shè)計的,它將高性能的DSP內(nèi)核和豐富的微控制器的外設(shè)集成于單片中,從而成為傳統(tǒng)的微控制器的理想替代。TMS320LF2407A DSP控制器的外設(shè)包括[3]:①事件管理器②CAN接口③A/D通道模數(shù)轉(zhuǎn)換④SPI串行外設(shè)接口⑤SCI串行通信接口⑥通用雙向I/O引腳。CCS2.2是CCS系列中的最新版本,有很多既方便又強大的功能。主要包括:①支持同時載入多個工程文件②增加了單步調(diào)試命令③編譯器有所加強,對語法的檢查更加嚴(yán)格④通過建立庫工程,支持編譯函數(shù)文件成為庫文件 3. 嵌入式系統(tǒng)的軟件設(shè)計   3.1 us/OS-II在2407上的移植   us/OS-II在2407上的實現(xiàn)移植是嵌入式系統(tǒng)軟件設(shè)計的關(guān)鍵所在,主要工作是對移植相關(guān)的OS_CPU.H,OS_CPU_A.ASM,OS_CPU_C.C三個文件的編寫以及對OS_CFG.H配置的正確設(shè)定。   在對OS_CFG.H配置中根據(jù)嵌入式實時系統(tǒng)的實際需要,對最低優(yōu)先級OS_LOWEST_PRIO、最多任務(wù)控制塊OS_MAX_EVENTS、最多任務(wù)數(shù)OS_MAX_TASKS進行設(shè)置,對需要使用的功能進行選擇置位。   對OS_CPU.H文件的編寫主要包括對以下4個宏進行設(shè)置:  ?、?OS_ENTER_CRITICAL()  ?、?OS_EXIT_ CRITICAL()   ③ OS_STK_GROWTH  ?、?OS_TASK_SW()   其中,OS_ENTER_CRITICAL()和OS_EXIT_ CRITICAL()是關(guān)于關(guān)中斷和開中斷的設(shè)置,由于在TMS320LF2407A中C編譯器可以嵌入?yún)R編語言,所以本文設(shè)置:   #define OS_ENTER_CRITICAL() asm(" SETC INTM") //關(guān)中斷   #define OS_EXIT_CRITICAL() asm(" CLRC INTM") //開中斷   OS_STK_GROWTH是關(guān)于堆棧的使用方式,由于TMS320LF2407A中堆棧是從低地址向高地址遞增的,所以本文設(shè)置:   #define OS_STK_GROWTH 0   OS_TASK_SW()是在任務(wù)切換中使用的,任務(wù)切換其實就是將原來任務(wù)的相關(guān)寄存器值入棧保存,以便以后這個任務(wù)被再次調(diào)用時可以恢復(fù)原先的相關(guān)寄存器值。本文設(shè)置OS_TASK_SW()作為中斷調(diào)用軟中斷指令OSCtxSw。   對OS_CPU_C.C文件的編寫包括編寫以下10個C語言函數(shù):  ?、?OSTaskStkInit()② OSTaskCreatHook()③ OSTaskDelHook()④ OSTaskSwHook()  ?、?OSTaskIdleHook()⑥ OSTaskStatHook()⑦ OSTimeTickHook()⑧ OSIintHookBegin()   ⑨ OSInitHookEnd()⑩ OSTCBInitHook()   在本文的實時嵌入式系統(tǒng)設(shè)計中,只對OSTaskStkInit()函數(shù)進行了編寫,OSTaskStkInit()函數(shù)的作用是初始化任務(wù)的棧結(jié)構(gòu),將任務(wù)所有寄存器的值都保存到堆棧中。OSTaskStkInit()函數(shù)的示意性代碼如下所示。   OS_STK *OSTaskStkInit(void (*task)(void *pd),   void *pdata,   OS_STK *ptos,   INT16U opt)  ?。?   opt = opt;  ?。猵tos++ = (OS_STK)pdata; /* augument */   *ptos++ = (OS_STK)0; /* blank */  ?。猵tos++ = (OS_STK)0x27FC;/* ST1 */  ?。猵tos++ = (OS_STK)0x2600;/* ST0 */   *ptos++ = (OS_STK)0; /* ACCH */  ?。猵tos++ = (OS_STK)0; /* ACCL */   *ptos++ = (OS_STK)0; /* PH */  ?。猵tos++ = (OS_STK)0; /* PL */  ?。猵tos++ = (OS_STK)0; /* T */  ?。猵tos++ = (OS_STK)0; /* AR0 */   *ptos++ = (OS_STK)0; /* AR2 */  ?。猵tos++ = (OS_STK)0; /* AR3 */  ?。猵tos++ = (OS_STK)0; /* AR4 */  ?。猵tos++ = (OS_STK)0; /* AR5 */  ?。猵tos++ = (OS_STK)0; /* AR6 */  ?。猵tos++ = (OS_STK)0; /* AR7 */   … … …   return ptos;  ?。?   其余9個C語言函數(shù)只進行了聲明,沒有包含代碼或者為了防止C編譯器誤發(fā)警告只編寫了簡單的指針自我賦值程序。   對OS_CPU_A.ASM文件的編寫包括編寫以下4個匯編語言函數(shù):   ① OSStartHighRdy()② OSCtxSw()③ OSIntCtxSw()④ OSTickISR()   其中,調(diào)用OSStartHighRdy()是用來使就緒態(tài)任務(wù)中優(yōu)先級最高的任務(wù)開始運行。OSCtxSw()是用來實現(xiàn)任務(wù)切換,中斷服務(wù)子程序、陷阱或異常處理的向量地址必須指向OSCtxSw()。OSIntCtxSw()也是用來實現(xiàn)任務(wù)切換的,所不同的是OSIntCtxSw()是在中斷服務(wù)程序中實現(xiàn)任務(wù)切換。OSTickISR()是用來實現(xiàn)時鐘節(jié)拍功能。   將以上這些函數(shù)編寫好以后,如果能編譯通過并且裝載入2407或外部RAM中,則說明us/OS-II在2407上移植成功。移植成功以后就要進行測試,可以編寫例如點亮指示燈這樣的小程序作為任務(wù),裝載入DSP運行,如果運行成功,就在此程序基礎(chǔ)上進行嵌入式系統(tǒng)的軟件開發(fā)。   3.2 智能控制器軟件設(shè)計   本文在進行軟件設(shè)計時根據(jù)需要,編寫了以下幾個功能程序,主要包括液晶顯示程序、A/D采樣轉(zhuǎn)換程序、保護算法、瞬動判斷保護程序、濾波算法及有效值計算、CAN通信的發(fā)送和接受等[4]。在各個功能程序編寫好以后,創(chuàng)建多個任務(wù),每個任務(wù)包含一個功能程序。對各個任務(wù)要根據(jù)不同的實際情況賦予不同的優(yōu)先級,其中A/D采樣轉(zhuǎn)換和瞬動判斷保護由于對實時性的要求比較高,應(yīng)賦予較高的優(yōu)先權(quán),液晶顯示由于為了人們讀取的視覺需要,延時時間比較長,賦予的優(yōu)先權(quán)最低。任務(wù)優(yōu)先級的安排如下:   A/D采樣轉(zhuǎn)換程序 > 瞬動判斷保護程序 > 濾波算法及有效值計算 > 保護算法> CAN通信的發(fā)送和接受 > 液晶顯示   任務(wù)通過函數(shù)OSTaskCreateExt()來創(chuàng)建,創(chuàng)建一個任務(wù)的示例代碼如下:   //創(chuàng)建任務(wù):   INT8U OSTaskCreate (void (*task) (void *pd), void *pdata, OS_STK *ptos, INT8U prio)   其中task是指向任務(wù)代碼的指針;pdata是任務(wù)開始執(zhí)行時,傳遞給任務(wù)的參數(shù)指針;ptos是分配給任務(wù)的堆棧的棧頂指針;prio是分配給任務(wù)的優(yōu)先級。   //任務(wù)示例代碼:   void Task (void *pdata)  ?。?While (1)  ?。?***根據(jù)實際功能編寫的代碼**/   OSTimeDly(INT16U ticks); //任務(wù)延時  ?。?  ?。?   當(dāng)任務(wù)被剝奪CPU的使用后,us/OS-II用任務(wù)控制塊OS_TCB來保存該任務(wù)的狀態(tài)。 4. 實驗   本文設(shè)計的實驗樣機首先在實驗室進行調(diào)試,然后再到企業(yè)試驗站進行現(xiàn)場調(diào)試。主要試驗項目包括液晶顯示、測量、保護特性測試、上位機和控制器之間的CAN總線通信等。試驗結(jié)果表明:本文設(shè)計的智能控制器實現(xiàn)了測量、保護、通信和監(jiān)控等功能,實時性好,指標(biāo)達到預(yù)期要求。 5. 結(jié)束語   本文為了實現(xiàn)低壓斷路器的可通信與智能化,研制了一種基于DSP和嵌入式實時操作系統(tǒng)us/OS-II的新型智能控制器,不僅實現(xiàn)了斷路器的基本功能,而且由于采用了us/OS-II嵌入式實時操作系統(tǒng),提高了DSP的運行效率和控制器的可靠性。 參考文獻:   [1] 包建榮,厲魯衛(wèi). 基于單片機嵌入式網(wǎng)絡(luò)接入模塊的設(shè)計與實現(xiàn).   [2] Jean J.Labrosse著,邵貝貝等譯. 嵌入式實時操作系統(tǒng)us/OS-II(第2版).北京:北京航空航天大學(xué)出版社.2003版   [3] TI公司著,徐科軍等譯. TMS320LF/LC24系列DSP的CPU與外設(shè). 北京:清華大學(xué)出版社.2004版   [4] 劉和平,嚴(yán)利平等. TMS320LF240x DSP 結(jié)構(gòu)、原理及應(yīng)用[M]. 北京:北京航空航天大學(xué)出版社. 2002,4.

標(biāo)簽:

點贊

分享到:

上一篇:霍爾傳感器在Buck型EBW高壓穩(wěn)...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號