新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > μC/OS-II與ARM在中央空調機組控制器中的應用

        μC/OS-II與ARM在中央空調機組控制器中的應用

        作者: 時間:2010-07-28 來源:網絡 收藏
        Bootloader的主要功能是初始化必要的硬件并啟動操作系統。軟件層實現的相關控制任務,包括初始化任務、故障處理任務、數據通信任務、數據采集任務、控制任務及顯示任務。底層硬件設備控制驅動層初始化微與外圍部件管腳連接的配置,建立處理器與外圍功能電路之間的關聯,與具體硬件電路相關。功能部件命令接口驅動實現處理器各個功能模塊的運作機制,如串口、SPI、CAN等模塊,該層函數由上兩層調用。功能部件協議實現層提供各功能模塊初始化函數、讀寫函數以及中斷處理函數等。上兩層軟件設計與操作系統密切相關,利用操作系統管理控制任務、實現任務間的數據交互通信和延時等。
        3.2 移植μ
        LPC2210的7TDMI-S內核用 ADS1.2作為編譯器移植μ。μ的移植涉及到與處理器及編譯器相關的OS_CPU.H、OS_CPU_C.C和OS_CPU_A.S 3個文件。其包括以下內容:(1)設置OS_CPU.H頭文件中與處理器和編譯器相關的代碼,如整數、浮點數、堆棧等數據類型定義,打開或者關閉中斷函數設置,定義堆棧增長方向,任務切換的執行代碼。(2)用C語言在OS_CPU_C.C文件中編寫若干與操作系統相關函數,如任務堆棧初始化函數OSTaskStkInit();μC/OS-II在執行某些操作時調用的用戶函數,如OSTaskCreateHook()、OS-TaskDelHook()、OSTaskSwHook()、OSTaskStatHook()和OS-TimeTickHook()等。(3)在OS_CPU.ASM文件中用匯編語言編寫4個與處理器相關的函數:運行優先級最高的就緒任務OSStartHighRdy()、任務級的任務切換函數OSCtxSw()和中斷級的任務切換函數OSIntCtxSw()和中斷服務函數OS-
        TickISR()[5-6]。
        3.3 程序
        在μC/OS-II中,程序以任務形式存在,每個任務都是無限循環的,并處于以下五種狀態之一:休眠態、就緒態、運行態、掛起態和被中斷態[7]。根據的控制要求,本系統由以下幾個任務來實現。
        (1)定義5個基本的信號量用于任務之間的同步:故障信號量、通信信號量、定時采集信號、控制信號量和顯示信號量。
        (2)初始化任務Task_init()具有最高運行優先級,優先級Prio=10,該任務完成處理器I/O接口的初始化,向量中斷分配與設置,定時器初始化以及I2C、串口等基本功能部件的初始化工作,為后繼任務的運行做準備,只運行一次。
        (3)故障處理任務Task_error()為次優先級任務,優先級Prio=11。當獲得Data_err_sem信號后判斷故障的類型,按照預先的設定進行實時故障處理,并給出報警、提示故障原因。
        (4)數據通信任務Task_comminication()的優先級Prio=12,當有數據傳送請求時便通過以太網與上位機進行通信,完成命令及數據的傳送。
        (5)數據采集任務Task_collect()優先級Prio= 13,主要完成周期性地采集各路溫度模擬量、濕度頻率量和開關量信號的輸入,為機組控制任務提供運算數據。
        (6)機組控制任務Task_control()是整個系統任務中的核心,優先級Prio=14。當獲得采集任務釋放的Data_Control_sem信號后,便對采集過來的各路溫濕度信號及開關量信號進行處理,輸出控制信號,完成對各個調節閥的控制;且當有故障發生時釋放故障信號量Data_err_sem。
        (7)顯示任務Task_display()優先級最低,Prio= 15。當獲得顯示信號量Data_Display_sem時任務就緒,刷新機組當前的設置參數及運行狀態。
        系統整體軟件流程圖如圖3所示。系統初始化后便建立各個運行任務,啟動多任務調度機制,在各個同步信號的協調下有序運行[8]。

        本文引用地址:http://www.104case.com/article/151712.htm

        3.4 數據處理算法
        在機組控制任務Task_control()中需要對采集過來的各路模擬量及數字量信號進行處理,以得到合適的輸出控制信號,選取何種處理方法直接關系到的控制品質。針對對象大慣性、大滯后、非線性等特性,常規PID控制無論在參數整定還是在控制精度或控制過程都存在不足[4,9]。本系統采用基于T-S模型的模糊神經網絡[10]參數自整定PID控制方法,利用神經網絡經訓練后可以逼近任意非線性關系特性,并綜合了PID控制與模糊控制各自的優勢。圖4為控制系統結構圖[9],模糊神經網絡模塊根據誤差及其變換率實時地修改PID的3個參數,使其處于最優狀態。圖5為基于T-S模型神經網絡結構圖[11]。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 芜湖市| 蒙阴县| 黄大仙区| 通河县| 榆林市| 渑池县| 治多县| 平遥县| 南平市| 潮安县| 旬邑县| 四子王旗| 莱州市| 南丰县| 长汀县| 龙岩市| 桐庐县| 阿巴嘎旗| 临清市| 喀喇沁旗| 定日县| 光山县| 启东市| 昭苏县| 河池市| 榆树市| 南投县| 武陟县| 耿马| 海盐县| 外汇| 泰宁县| 子长县| 肃宁县| 天全县| 正宁县| 侯马市| 分宜县| 天台县| 抚州市| 太和县|