μC/OS-II與ARM在中央空調機組控制器中的應用
3.2 移植μC/OS-II
LPC2210的ARM7TDMI-S內核用ARM ADS1.2作為編譯器移植μC/OS-II。μC/OS-II的移植涉及到與處理器及編譯器相關的OS_CPU.H、OS_CPU_C.C和OS_CPU_A.S 3個文件。其包括以下內容:(1)設置OS_CPU.H頭文件中與處理器和編譯器相關的代碼,如整數(shù)、浮點數(shù)、堆棧等數(shù)據(jù)類型定義,打開或者關閉中斷函數(shù)設置,定義堆棧增長方向,任務切換的執(zhí)行代碼。(2)用C語言在OS_CPU_C.C文件中編寫若干與操作系統(tǒng)相關函數(shù),如任務堆棧初始化函數(shù)OSTaskStkInit();μC/OS-II在執(zhí)行某些操作時調用的用戶函數(shù),如OSTaskCreateHook()、OS-TaskDelHook()、OSTaskSwHook()、OSTaskStatHook()和OS-TimeTickHook()等。(3)在OS_CPU.ASM文件中用匯編語言編寫4個與處理器相關的函數(shù):運行優(yōu)先級最高的就緒任務OSStartHighRdy()、任務級的任務切換函數(shù)OSCtxSw()和中斷級的任務切換函數(shù)OSIntCtxSw()和中斷服務函數(shù)OS-
TickISR()[5-6]。
3.3 應用程序
在μC/OS-II中,應用程序以任務形式存在,每個任務都是無限循環(huán)的,并處于以下五種狀態(tài)之一:休眠態(tài)、就緒態(tài)、運行態(tài)、掛起態(tài)和被中斷態(tài)[7]。根據(jù)中央空調的控制要求,本系統(tǒng)由以下幾個任務來實現(xiàn)。
(1)定義5個基本的信號量用于任務之間的同步:故障信號量、通信信號量、定時采集信號、機組控制信號量和顯示信號量。
(2)初始化任務Task_init()具有最高運行優(yōu)先級,優(yōu)先級Prio=10,該任務完成處理器I/O接口的初始化,向量中斷分配與設置,定時器初始化以及I2C、串口等基本功能部件的初始化工作,為后繼任務的運行做準備,只運行一次。
(3)故障處理任務Task_error()為次優(yōu)先級任務,優(yōu)先級Prio=11。當獲得Data_err_sem信號后判斷機組故障的類型,按照預先的設定進行實時故障處理,并給出報警、提示故障原因。
(4)數(shù)據(jù)通信任務Task_comminication()的優(yōu)先級Prio=12,當有數(shù)據(jù)傳送請求時便通過以太網(wǎng)與上位機進行通信,完成命令及數(shù)據(jù)的傳送。
(5)數(shù)據(jù)采集任務Task_collect()優(yōu)先級Prio= 13,主要完成周期性地采集各路溫度模擬量、濕度頻率量和開關量信號的輸入,為機組控制任務提供運算數(shù)據(jù)。
(6)機組控制任務Task_control()是整個系統(tǒng)任務中的核心,優(yōu)先級Prio=14。當獲得采集任務釋放的Data_Control_sem信號后,便對采集過來的各路溫濕度信號及開關量信號進行處理,輸出控制信號,完成對各個調節(jié)閥的控制;且當有故障發(fā)生時釋放故障信號量Data_err_sem。
(7)顯示任務Task_display()優(yōu)先級最低,Prio= 15。當獲得顯示信號量Data_Display_sem時任務就緒,刷新機組當前的設置參數(shù)及運行狀態(tài)。
系統(tǒng)整體軟件流程圖如圖3所示。系統(tǒng)初始化后便建立各個運行任務,啟動多任務調度機制,在各個同步信號的協(xié)調下有序運行[8]。本文引用地址:http://cafeforensic.com/article/151712.htm
3.4 數(shù)據(jù)處理算法
在機組控制任務Task_control()中需要對采集過來的各路模擬量及數(shù)字量信號進行處理,以得到合適的輸出控制信號,選取何種處理方法直接關系到控制器的控制品質。針對中央空調對象大慣性、大滯后、非線性等特性,常規(guī)PID控制無論在參數(shù)整定還是在控制精度或控制過程都存在不足[4,9]。本系統(tǒng)采用基于T-S模型的模糊神經網(wǎng)絡[10]參數(shù)自整定PID控制方法,利用神經網(wǎng)絡經訓練后可以逼近任意非線性關系特性,并綜合了PID控制與模糊控制各自的優(yōu)勢。圖4為控制系統(tǒng)結構圖[9],模糊神經網(wǎng)絡模塊根據(jù)誤差及其變換率實時地修改PID控制器的3個參數(shù),使其處于最優(yōu)狀態(tài)。圖5為基于T-S模型神經網(wǎng)絡結構圖[11]。
評論