色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

          作者: 時間:2010-07-28 來源:網(wǎng)絡 收藏
          Bootloader的主要功能是初始化必要的硬件并啟動操作系統(tǒng)。軟件層實現(xiàn)的相關控制任務,包括初始化任務、故障處理任務、數(shù)據(jù)通信任務、數(shù)據(jù)采集任務、控制任務及顯示任務。底層硬件設備控制驅動層初始化微與外圍部件管腳連接的配置,建立處理器與外圍功能電路之間的關聯(lián),與具體硬件電路相關。功能部件命令接口驅動實現(xiàn)處理器各個功能模塊的運作機制,如串口、SPI、CAN等模塊,該層函數(shù)由上兩層調用。功能部件協(xié)議實現(xiàn)層提供各功能模塊初始化函數(shù)、讀寫函數(shù)以及中斷處理函數(shù)等。上兩層軟件設計與操作系統(tǒng)密切相關,利用操作系統(tǒng)管理控制任務、實現(xiàn)任務間的數(shù)據(jù)交互通信和延時等。
          3.2 移植μ
          LPC2210的7TDMI-S內核用 ADS1.2作為編譯器移植μ。μ的移植涉及到與處理器及編譯器相關的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]。



          評論


          相關推薦

          技術專區(qū)

          關閉