<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 一種基于實(shí)時(shí)操作系統μC/OS-II的嵌入式UPS系統控制方案

一種基于實(shí)時(shí)操作系統μC/OS-II的嵌入式UPS系統控制方案

作者: 時(shí)間:2016-12-08 來(lái)源:網(wǎng)絡(luò ) 收藏

  針對數字化UPS,給出了系統總體設計框圖,為提高系統控制程序的實(shí)時(shí)性,提出一種基于實(shí)時(shí)操作系統μC/OS-II的嵌入式UPS 系統控制方案。通過(guò)對UPS控制系統結構與功能的分析,實(shí)現了μC/OS-II在TMS320LF2407A上的移植,對UPS系統控制項目以任務(wù)的形式進(jìn)行設計并實(shí)現調度,給出了部分參數設定和主程序清單。實(shí)驗結果證明,本文的設計有效的增強了系統控制軟件的模塊性、實(shí)時(shí)性,提高了系統運行的可靠性與穩定性。

本文引用地址:http://dyxdggzs.com/article/201612/327831.htm

  1 引言

  隨著(zhù)信息技術(shù)的發(fā)展,不間斷應急電源(UPS)向著(zhù)數字化、智能化、網(wǎng)絡(luò )化、大容量多機冗余化和綠色化的方向發(fā)展。高性能專(zhuān)用DSP芯片為UPS的數字化提供了良好的硬件基礎,而嵌入式實(shí)時(shí)軟件操作系統是數字化產(chǎn)品的核心。

  針對數字化UPS,本文給出了一種基于實(shí)時(shí)多任務(wù)操作系統μC/OS-II 的系統控制設計。設計采用μC/OS-II為內核,實(shí)現其在TMS320LF2407A上的移植,通過(guò)對UPS控制系統結構與功能的分析,各部分控制功能劃分為不同優(yōu)先級的任務(wù)來(lái)調度實(shí)現,給出了部分參數設定和主程序清單。實(shí)踐證明,基于μC/OS-II 的數字化UPS 系統提高了控制系統的實(shí)時(shí)性以及系統運行的可靠性及穩定性。

  2 數字化UPS控制系統結構

  TMS320LF2407A 是TI 推出的專(zhuān)門(mén)針對工業(yè)控制領(lǐng)域的16 位高性能微控制器,其運算速度高、片內資源豐富,能夠很好的滿(mǎn)足數字化UPS電源控制系統功能的需要。數字化UPS 系統總體設計框圖如圖1 所示,虛線(xiàn)框內為主控制模塊,按功能劃分為A/D轉換、PWM(Pulse Wide Modulate)逆變控制、鎖相控制、保護控制、鍵盤(pán)及液晶顯示、通信接口、實(shí)時(shí)時(shí)鐘等功能模塊。

圖 1 數字化UPS系統總體框圖

 ?。?)A/D轉換:完成對市電輸入的交流電壓、電流信號、逆變輸出的交流電壓、電流信號、電池電壓和電流信號的采樣,是系統數字化控制實(shí)現以及UPS遠程監控功能的基礎。根據LF2407A A/D轉換電平要求,被采樣信號必須通過(guò)信號檢測模塊變換為0~3V直流電平。為提高系統性能,對輸入/輸出電壓、電流進(jìn)行瞬時(shí)值采樣,采樣頻率為10kHz.

 ?。?) PWM 逆變控制:PWM 逆變控制算法是UPS系統控制的核心算法,它決定了UPS系統輸出性能。

  逆變算法利用LF2407A 強大的數值運算性能以及高速計算能力實(shí)時(shí)在線(xiàn)計算出PWM信號脈寬,然后由A事件管理模塊(EVA)的全比較單元輸出4 路帶死區控制的PWM 信號(PWM1~4),這4 路PWM 信號經(jīng)隔離驅動(dòng)模塊驅動(dòng)逆變器。

 ?。?) 鎖相控制接口:利用LF2407A的事件捕獲端口CAP1 和CAP2,將市電輸入和逆變輸出經(jīng)降壓及波形變換后送入CAP1 和CAP2,由LF2407A 通過(guò)軟件鎖相環(huán)算法實(shí)現逆變輸出電壓與市電電壓的同頻同相。

 ?。?) 通信接口:為實(shí)現對UPS 的實(shí)時(shí)監控功能,主機需對UPS電源的各模擬參量采樣數據及表示工作狀態(tài)的開(kāi)關(guān)量數據進(jìn)行實(shí)時(shí)高速采集。利用LF2407A的SCI 異步通訊接口,采用RS-485 物理標準協(xié)議,實(shí)現UPS與主機的遠程通訊,以便對UPS設備狀態(tài)、各項參數及故障信息進(jìn)行查詢(xún)。

 ?。?) 鍵盤(pán)操作及液晶顯示:提供人機對話(huà)平臺,用戶(hù)通過(guò)鍵盤(pán)操作可設置運行模式、設備通信地址等信息;液晶顯示屏以圖文方式顯示工作狀態(tài)和參數信息,提供可視化菜單。

 ?。?) 實(shí)時(shí)時(shí)鐘:利用串行外設接口SPI 實(shí)現與LF2407A控制器的通信,為整個(gè)系統提供統一、標準的時(shí)鐘基準,另外,利用時(shí)鐘芯片的存儲器來(lái)存儲系統掉電保護參數。  3 μC/OS-II在LF2407A上的移植

  μC/OS-II的硬件和軟件體系結構如圖2所示。

圖2 μC/OS-II的硬件和軟件體系結構圖

  要使μC/OS-II正常運行,LF2407A滿(mǎn)足以下要求:處理器的C編譯器能產(chǎn)生可重入代碼,支持可擴展和可鏈接匯編語(yǔ)言模塊;用C語(yǔ)言就可打開(kāi)和關(guān)閉中斷;處理器支持中斷,并能產(chǎn)生定時(shí)中斷;處理器有將堆棧指針以及其他CPU寄存器的內容讀出、并存儲到堆?;騼却嬷腥サ闹噶?。

  由于μC/OS-II 是源碼公開(kāi)的操作系統,且其結構化設計便于把與處理器相關(guān)的部分分離出來(lái),因此μC/OS-II在LF2407A處理器上移植的主要工作是修改與處理器相關(guān)部分的代碼。由圖2 可以看出,它們主要集中在三個(gè)文件中:頭文件OS_CPU.H、C 文件OS_CPU_C.C、匯編文件OS_CPU_A.ASM.

 ?。?) 修改OS_CPU.H:其中包含兩部分的代碼,數據類(lèi)型定義代碼和與處理器相關(guān)的代碼。LF2407A的堆棧數據類(lèi)型定義為:typedef unsigned intOS_STK;所有的堆棧用OS_STK 聲明,地址由高向低遞減,OS_STK_GROWTH設置為1.

  OS_CPU.H 剩下部分是移植必須定義底層函數的聲明,為使低層接口函數與處理器狀態(tài)無(wú)關(guān),同時(shí)使任務(wù)調用相應的函數不需知道函數位置,采用軟中斷指令SWI作為底層接口,使用不同的功能號來(lái)區分各函數。其定義格式如下:

  __swi (0x00) void OS_TASK_SW(void);//任務(wù)切換函數

  其中,swi 為軟中斷標志,0x00 是分配的中斷號,OS_TASK_SW 是函數名,兩個(gè)void 分別表示返回類(lèi)型和參數類(lèi)型。其它的底層函數接口定義與此相似。

 ?。?)修改OS_CPU_C.C:初始化任務(wù)堆棧函數和軟中斷函數的實(shí)現。修改OSTaskStkInit()函數,代碼如下:

  OS_STK *OSTaskStkInit (void (*task)(void*pd), void *pdata, OS_STK *ptos, INT16U opt)

  { 模擬帶參數(pdata)的函數調用;定義任務(wù)堆棧;使用滿(mǎn)棧遞減方式初始化任務(wù)堆棧結構;返回堆棧結構;}

  軟中斷函數的實(shí)現:

  void SWI_Exception(int SWI_Num, int *Regs)

  { /*根據不同Num 值(功能號)跳轉到不同的底層服務(wù)函數地址,如:*/ case 0x00:任務(wù)切換函數OS_TASK_SW;}

 ?。?)修改OS_CPU_A.S:包括4 個(gè)簡(jiǎn)單的匯編語(yǔ)言函數:OSStartHighRdy():使就緒態(tài)任務(wù)中優(yōu)先級最高的任務(wù)開(kāi)始運行;OSCtxSw():實(shí)現任務(wù)級的任務(wù)切換功能;OSIntCtxSw():在中斷級實(shí)現任務(wù)間的切換;OSTickISR():時(shí)鐘節拍中斷服務(wù)子程序。  4 數字化UPS任務(wù)設計及調度

  控制軟件主程序流程圖如圖3 所示。通過(guò)對UPS控制系統結構與功能的分析,各部分控制功能劃分為不同優(yōu)先級的任務(wù),由μC/OS-II實(shí)時(shí)內核進(jìn)行調度,實(shí)現多任務(wù)并行執行。

圖 3 主程序流程圖

 ?。?)數字化UPS 任務(wù)設計:如表1 所示,采用層次化、模塊化的設計思想,根據各個(gè)任務(wù)的重要性和實(shí)時(shí)性,把用戶(hù)程序分成9 個(gè)不同優(yōu)先級的任務(wù),包括數據采集及PWM 波計算、鎖相同步、通信處理、系統參數計算、系統狀態(tài)檢測及處理、鍵盤(pán)掃描、鍵盤(pán)處理、液晶顯示、空閑任務(wù)。任務(wù)越重要,實(shí)時(shí)性越強,任務(wù)優(yōu)先級越高??臻e任務(wù)不執行任何功能,一直處于就緒狀態(tài),只有其他任務(wù)空閑時(shí)才執行。

表1 數字化UPS任務(wù)功能及其描述

 ?。?) μC/OS-II 任務(wù)調度:完成任務(wù)在運行態(tài)、就緒態(tài)、掛起態(tài)、休眠態(tài)以及中斷態(tài)之間的轉換,是實(shí)時(shí)多任務(wù)操作系統運作的核心功能,流程如圖4所示。μC/OS-II 的任務(wù)調度是基于優(yōu)先級的搶占式調度算法,系統共有9個(gè)任務(wù)和3個(gè)中斷。系統在任務(wù)控制塊(OS_TCB)中分配一個(gè)字(OSTCBPrio)來(lái)表示每個(gè)任務(wù)的優(yōu)先級,數值越小優(yōu)先級越高。當發(fā)生任務(wù)調度時(shí),系統通過(guò)任務(wù)就緒表查找到優(yōu)先級最高的任務(wù)后,調用函數OS_TASK_SW()完成任務(wù)切換。

 ?。?) 數字化UPS 中斷:設計3 個(gè)硬件中斷,一個(gè)是AD 采樣中斷,優(yōu)先級最高,采用自適應頻率方式每周期采樣32 個(gè)點(diǎn);另一個(gè)是系統時(shí)鐘節拍中斷,優(yōu)先級次之,每10ms中斷一次作為系統時(shí)鐘;最后是通信中斷,優(yōu)先級低,當接收到外部數據時(shí),便發(fā)生中斷并對接收的數據進(jìn)行處理。

 ?。?)任務(wù)間通信與同步:采用訪(fǎng)問(wèn)共享數據資源的方式實(shí)現多任務(wù)間的通信,采用信號量進(jìn)行任務(wù)間的同步。為實(shí)現任務(wù)間的同步,本軟件系統建立了3個(gè)信號量:

  數據計算信號量OSPWMCntSem,用于任務(wù)1和數據采集PWM 波計算子程序通信。每完成一次中斷采樣便發(fā)出這個(gè)信號量,告訴任務(wù)1對 采集數據和PWM波進(jìn)行計算處理。

圖4 任務(wù)調度流程圖。

  通信信號量OSComSem,用于任務(wù)3 和通信中斷子程序進(jìn)行通信。一旦接收到上位機發(fā)過(guò)來(lái)的信號,中斷子程序就發(fā)出這個(gè)信號量,告訴任務(wù)4對接收數據進(jìn)行處理。

  鍵盤(pán)信號量OSKeySem,用于任務(wù)6 和任務(wù)7 通信,一旦掃描到有鍵按下則發(fā)出該信號量告訴任務(wù)7做鍵盤(pán)處理。

 ?。?) μC/OS-II主程序框架:調用任何服務(wù)之前,μC/OS-II 要求首先調用系統函數OSInit()初始化所有變量和數據結構,同時(shí)建立一個(gè)空閑任務(wù)。多任務(wù)的啟動(dòng)通過(guò)OSStart()實(shí)現,但啟動(dòng)前至少需建立一個(gè)應用任務(wù)。當調用OSStart()時(shí),OSStart()從任務(wù)就緒表中找出用戶(hù)建立的優(yōu)先級最高任務(wù)的任務(wù)控制塊,然后調用任務(wù)啟動(dòng)函數,接下來(lái)就完全交給實(shí)時(shí)操作系統來(lái)管理,實(shí)時(shí)內核不斷地對任務(wù)進(jìn)行切換調度,管理各個(gè)應用任務(wù)和系統資源。系統主程序清單如下:

  5 實(shí)驗結果

  根據前述控制系統設計,成功研制了一臺3.75KVAUPS 樣機。以下為該樣機實(shí)時(shí)性、可靠性、穩定性測試運行情況,測試設備與儀表包括:泰克TDS3043B 數字示波器、Gad-2016 失真度測試儀、FLUKE189 數字萬(wàn)用表、FLUKE36 鉗型電流表、紅外線(xiàn)溫度計、負載三相3KW 燈泡(約3.75KW爐絲)。

(1)市電輸入380V,負載變化:輸出相電壓穩定度220V±1%,U 相


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: UPS電源數字化UP

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>