μC/OSⅡ的分布式應急電源控制系統設計
(2)在OS_CPU_A.ASM中修改以下幾個匯編函數:OSStartHighRdy、OSCtxSw, OS1ntCtxSw,、OSTickISR。OSStarthighRdy的功能是運行優先級最高的就緒任務,該函數由OSStartp函數調用,OSStart()的調用是建立在OSInit()的調用并且至少已經建立一個任務的墓礎上的;OSCtxSw是一個任務級的任務切換函數,該函數在任務中調用;OSIntCtxSw是一個中斷級的任務切換函數;OSCtxSw為時鐘中斷服務函數,時鐘中斷程序負責處理所有與定時相關的工作,如任務的延時、等待等,在時鐘中斷中將查詢處于等待狀態的任務,判斷是否延時結束,則將重新進行任務調度。
(3)在主頭文件INCLUDES.H中增加OS_CPU.H , OS_CPU_C.C和OS_ CPU_A.ASM。因為INCLUDES.H是主頭文件,它將被所有后級名為.C的文件所包含。在移植時,需要對該文件進行改寫,在文件末尾增加以下頭文件:
#include
#include
#include
(4)在配置文件OS_CFG.H中,定義最大事件數,最多內存分塊數,最多消息隊列數,最多任務數,最低任務優先級,是否允許信號使能,是否允許郵箱使能,是否允許消息隊列使能,時鐘節拍數以及其他的一些配置。通過修改這些設置,可對uC/OS- II進行裁剪,使之適應本系統的具體需要。
系統采用中斷方式接收上位機的指令,采用查詢方式發送。當上位機發出讀數、啟動或停止操作命令后,嵌入式系統將產生中斷,并發送應答信號,然后根據收到的命令類型進行相應操作。
5 功率變換算法
本系統脈沖寬度計算采用規則采樣法,計算公式如式(1):
(1)
其中Usm為正弦波的幅值,Utm為三角波的幅值,N為載波比。[1]
交變電源的高次諧波幅值為:
(2)
由(2)式可以看出N越大,高次諧波幅值越小。基于IGBT的器件特性,N不能無限大,取N=400, 則高次諧波幅值Um(n)很容易被濾波器濾去。考慮到處于開關工作狀態中的IGBT管從開通轉為截止狀態時,容易產生較長的“拖尾”現象,并進而導致IGBT因瞬時功耗偏大而影響EPS逆變器的可靠性,因此,在用公式(1)計算方波的脈寬時,,在系統中加入了反饋環節,把實際輸出的電壓經采樣送回控制器,用PI調節消除系統的靜態誤差,增加系統的穩定性。
6 結論
本文結合TMS320LF2407芯片和μC/OS-II實時操作系統內核的優點,設計出基于DSP和μC/OS-II的應急電源控制系統。通過在DSP 上移植μC/OS-II,系統設計的周期得以減少,軟件的可讀性得以提高,從而節省了系統開發和維護的費用。目前,該系統工程樣機運行平穩可靠。
評論