《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于μC/OS-II的數字化UPS設計與實現
基于μC/OS-II的數字化UPS設計與實現
摘要: 針對數字化UPS,給出了系統總體設計框圖,為提高系統控制程序的實時性,提出一種基于實時操作系統μC/OS-II的嵌入式UPS系統控制方案。通過對UPS控制系統結構與功能的分析,實現了μC/OS-II在TMS320LF2407A上的移植,對UPS系統控制項目以任務的形式進行設計并實現調度,給出了部分參數設定和主程序清單。實驗結果證明,本文的設計有效的增強了系統控制軟件的模塊性、實時性,提高了系統運行的可靠性與穩定性。
Abstract:
Key words :

1 引言

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

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

2 數字化UPS控制系統結構

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

4 數字化UPS任務設計及調度

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

 

圖 3 主程序流程圖

圖 3 主程序流程圖

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

表1 數字化UPS任務功能及其描述

 

表1 數字化UPS任務功能及其描述

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

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

(4)任務間通信與同步:采用訪問共享數據資源的方式實現多任務間的通信,采用信號量進行任務間的同步。為實現任務間的同步,本軟件系統建立了3個信號量:

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

 

圖4 任務調度流程圖。

圖4 任務調度流程圖。

通信信號量OSComSem,用于任務3 和通信中斷子程序進行通信。一旦接收到上位機發過來的信號,中斷子程序就發出這個信號量,告訴任務4對接收數據進行處理。

鍵盤信號量OSKeySem,用于任務6 和任務7 通信,一旦掃描到有鍵按下則發出該信號量告訴任務7做鍵盤處理。

 

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

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

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

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

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

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

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

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

(6) 實時時鐘:利用串行外設接口SPI 實現與LF2407A控制器的通信,為整個系統提供統一、標準的時鐘基準,另外,利用時鐘芯片的存儲器來存儲系統掉電保護參數。

3 μC/OS-II在LF2407A上的移植

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

 

圖2 <a class=μC/OS-II的硬件和軟件體系結構圖" height="314" src="http://files.chinaaet.com/images/2012/10/19/3d74d5bc-5674-4c73-800e-f649c01ac1f6.jpg" width="442" />

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

要使μC/OS-II正常運行,LF2407A滿足以下要求:處理器的C編譯器能產生可重入代碼,支持可擴展和可鏈接匯編語言模塊;用C語言就可打開和關閉中斷;處理器支持中斷,并能產生定時中斷;處理器有將堆棧指針以及其他CPU寄存器的內容讀出、并存儲到堆棧或內存中去的指令。

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

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

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

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

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

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

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

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

軟中斷函數的實現:

void SWI_Exception(int SWI_Num, int *Regs)

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

(3)修改OS_CPU_A.S:包括4 個簡單的匯編語言函數:OSStartHighRdy():使就緒態任務中優先級最高的任務開始運行;OSCtxSw():實現任務級的任務切換功能;OSIntCtxSw():在中斷級實現任務間的切換;OSTickISR():時鐘節拍中斷服務子程序。

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

 

 

5 實驗結果

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

(1)市電輸入380V,負載變化:輸出相電壓穩定度220V±1%,U 相頻率穩定度50Hz±0.4%,波形失真度<2%,其他兩相與U 相基本相同,任何兩相相位差120°±1°。圖5 為空載與滿載逆變輸出波形。

 

(a) 空載

(a) 空載

 

(b) 滿載

(b) 滿載

圖5 U相輸出逆變電壓波形。

(2)市電逆變互切,切換時間及可靠性測試:市電輸入384V,電池電壓490V,3.75KW額定負載運行,市電斷電或按下"強起"按鈕,逆變器帶負載正常啟動,啟動時間約60ms.市電、逆變切換時間經多次反復試驗,均小于120ms.圖6 所示為市電到逆變的切換波形,切換時間約60ms,圖中波形經檢測變壓器隔離降壓;市電來電,逆變器立即停止工作。

 

圖6 市電到逆變的切換波形

圖6 市電到逆變的切換波形

(3)逆變應急長時間工作,輸出電壓情況測試與系統穩定性驗證:電池513V開始放電,帶3.75KW爐絲額定負載,運行約80分鐘,IGBT及散熱器溫度始終低于32℃,系統工作正常且穩定,測試參數如表2所示。

表2 逆變運行溫升測試

 

表2 逆變運行溫升測試

6 結論

本文針對數字化UPS,給出了基于LF2407A 的系統總體設計結構,實現了實時操作系統μC/OS-II在LF2407A 上的移植,對UPS系統任務進行設計和實現調度,給出了部分參數設定和主程序清單。該設計方案已經成功應用于青島創統3.75KVA 數字化UPS 的設計項目中。實踐證明,μC/OS-II 在嵌入式UPS 控制系統中的應用有效地提高了系統控制的實時性以及系統整體可靠性與穩定性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品一区二区三区婷婷月| 久久国产精品电影| 国产视频综合在线| 国产精品户外野外| 欧美日韩不卡合集视频| 欧美freesex8一10精品| 久久婷婷亚洲| 久久综合狠狠| 老司机久久99久久精品播放免费| 久久久精品日韩| 欧美专区亚洲专区| 欧美一区二区在线视频| 午夜久久黄色| 午夜视频一区| 久久精品成人一区二区三区蜜臀| 性欧美超级视频| 欧美一区二区三区视频在线| 先锋影音久久| 欧美一站二站| 久久女同互慰一区二区三区| 老司机凹凸av亚洲导航| 牛牛影视久久网| 欧美精选在线| 欧美视频免费在线| 国产精品乱码久久久久久| 国产精品日韩一区二区| 国产欧美激情| 国产专区综合网| 亚洲第一精品夜夜躁人人躁| 亚洲激情网站| 亚洲视频播放| 欧美一区二区三区四区视频| 亚洲福利视频网站| 99国产精品久久久久老师| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品福利网站| 国产情人综合久久777777| 国产自产女人91一区在线观看| 影音先锋一区| 日韩一区二区免费高清| 亚洲制服欧美中文字幕中文字幕| 欧美亚洲视频在线观看| 亚洲国产欧美一区| 中文网丁香综合网| 久久九九久精品国产免费直播 | 国产精品你懂的| 韩国一区二区在线观看| 亚洲国产另类精品专区 | 亚洲永久网站| 久久久久欧美| 欧美日本网站| 国产日韩欧美成人| 在线电影欧美日韩一区二区私密| 一本到12不卡视频在线dvd| 亚洲欧美日韩在线综合| 亚洲全部视频| 午夜免费在线观看精品视频| 久久三级视频| 欧美香蕉视频| 国产真实乱偷精品视频免| 91久久久久| 午夜在线精品| 日韩一区二区免费看| 欧美一区二区视频在线观看2020| 麻豆freexxxx性91精品| 国产精品啊v在线| 在线播放日韩欧美| 一区二区三区久久精品| 亚洲电影自拍| 亚洲男人第一网站| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品成人观看视频国产奇米| 国内精品视频在线播放| 99国产精品久久| 亚洲高清视频的网址| 亚洲综合视频网| 欧美成人免费小视频| 国产精品综合视频| 亚洲美女视频| 亚洲国产欧美日韩| 久久激情视频| 欧美视频免费在线| 亚洲国产清纯| 欧美在线视频免费播放| 亚洲免费小视频| 欧美极品一区| 在线播放视频一区| 亚洲欧美韩国| 一区二区激情小说| 欧美a级一区二区| 国产一区二区三区不卡在线观看| 中国成人亚色综合网站| 亚洲精品美女91| 久久婷婷人人澡人人喊人人爽| 国产精品二区影院| 亚洲精品免费一区二区三区| 亚洲黄色成人久久久| 久久人人九九| 国产亚洲精品久| 亚洲尤物视频网| 亚洲一区在线播放| 欧美日韩国产91| 亚洲国产日本| 亚洲国产欧美不卡在线观看| 久久精品一区二区三区不卡牛牛 | 国产精品乱子乱xxxx| 亚洲精品一区二区网址| 亚洲精品国产精品国自产观看浪潮| 欧美在线视频播放| 国产精品国产a级| 9i看片成人免费高清| 日韩亚洲在线观看| 欧美二区视频| 在线观看视频一区| 久久精品免费电影| 久久亚洲美女| 韩国一区电影| 久久精品亚洲一区二区三区浴池| 欧美中文在线观看| 国产精品亚洲综合一区在线观看| 亚洲深夜激情| 亚洲欧美视频在线观看| 国产精品理论片| 亚洲一区中文| 久久av老司机精品网站导航| 国产日韩欧美在线观看| 亚洲综合二区| 欧美影院在线| 国产日韩欧美在线播放不卡| 欧美自拍丝袜亚洲| 亚洲网站在线看| 欧美日韩视频不卡| 在线视频你懂得一区 | 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩国产一区二区三区| 亚洲全黄一级网站| 亚洲社区在线观看| 国产精品jvid在线观看蜜臀| 亚洲夜间福利| 久久超碰97中文字幕| 国产主播一区二区三区| 久久国产福利国产秒拍| 欧美69视频| 日韩视频免费观看| 亚洲字幕一区二区| 国产精品视频网站| 欧美在线啊v| 牛牛影视久久网| av成人免费观看| 欧美一区二区三区在线看 | 亚洲综合色视频| 国产一区二区无遮挡| 91久久黄色| 欧美三日本三级少妇三2023| 亚洲深夜福利| 久久精品亚洲精品国产欧美kt∨| 在线观看成人网| 国产精品99久久久久久www| 国产精品有限公司| 亚洲高清久久久| 欧美视频精品在线| 欧美一级在线亚洲天堂| 欧美激情成人在线| 在线亚洲观看| 久久亚洲欧美| 日韩视频第一页| 久久精品国产久精国产思思| 亚洲国产美女| 香蕉久久一区二区不卡无毒影院| 国产真实乱子伦精品视频| 99视频精品全部免费在线| 国产精品中文字幕欧美| 亚洲激情欧美| 国产精品一级二级三级| 亚洲国产另类久久久精品极度| 欧美日韩另类丝袜其他| 午夜精品一区二区三区电影天堂| 男人的天堂亚洲| 午夜精品国产更新| 欧美激情国产日韩| 亚洲欧美在线免费观看| 欧美日韩精品免费看| 欧美在线国产精品| 国产精品ⅴa在线观看h| 亚洲欧洲日产国产综合网| 国产精品久久久久毛片大屁完整版| 久久精品国语| 国产精品美女久久久浪潮软件 | 99日韩精品| 国内精品久久久久久久影视麻豆| 中日韩视频在线观看| 黑丝一区二区| 亚洲欧美一区二区视频| 亚洲国产成人久久综合| 久久国产欧美日韩精品| 一区二区三区视频在线播放| 欧美国产亚洲另类动漫| 欧美在线999| 国产精品久久综合| 国产精品99久久久久久久久|