- 相關推薦
基于RTOS的太陽能熱水控制系統(tǒng)設計
摘要:介紹通過在單片機內(nèi)嵌入實時多任務操作系統(tǒng)RTOS來實現(xiàn)太陽能熱水控制系統(tǒng)的設計。文中包含主控制端(主端)與數(shù)據(jù)采集端(從端)的功能模塊圖及說明,對存在的多個任務進行解釋分析,并給出實現(xiàn)主從通信所定義的幀結構和使用I2C總線在EEPROM存儲器中讀寫數(shù)據(jù)的程序代碼解析。引言
隨著嵌入式技術的發(fā)展與壯大,越來越多的單片機在使用中實現(xiàn)了RTOS(Real Time multi-tasking Operation System)的嵌入,采用多任務機制來提高系統(tǒng)運行的效率和縮短響應所用的時間。由于嵌入式工業(yè)的基礎是以應用中心的芯片設計和面向應用的軟件開發(fā),實時多任務操作系統(tǒng)進入嵌入式工業(yè)的意義不亞于歷史上機械工業(yè)采用三視圖的貢獻,對嵌入式軟件的標準化和加速知識創(chuàng)新是一個里程碑。RTOS具有下述優(yōu)點。
①RTOS是一個可靠性和可信性很高的實時內(nèi)核,將CPU時間、中斷、I/O、定時器等資源都包裝起來,留給用戶一個標準的API,并根據(jù)各個任務的優(yōu)先級,合理地在不同任務之間分配CPU時間。
②RTOS作為軟件開發(fā)平臺是十分可取的,基于RTOS上的C語言程序具有極大的可移植性。據(jù)專家測算,優(yōu)秀RTOS上跨處理器平臺的程序移植,只需要修改1%~5%的內(nèi)容。
③RTOS的引入,解決了嵌入式軟件開發(fā)標準化的難題。隨著嵌入式系統(tǒng)中軟件比重不斷上升、應用程序越來越大,對開發(fā)人員、應用程序接口、程序檔案的組織管理將成為一個大的課題。引入RTOS相當于引入了一種新的管理模式,對于開發(fā)單位和開發(fā)人員都是一個提高。
本方案從如何更好解決小區(qū)和樓群內(nèi)居民的生活用熱水問題出發(fā),利用綠色環(huán)保的太陽能為主要能量來源,以樓為單位綜合控制,為用戶提供生活熱水。這不僅方便了生活,摒充了傳統(tǒng)的獨立式熱水器存在的安全隱患,也便于業(yè)主集中管理和規(guī)劃。
1 系統(tǒng)工作概況
本太陽能熱水控制系統(tǒng)以太陽能為能源,加熱位于戶外屋頂上集熱器中的水。被加熱升溫后的水,通過循環(huán)閥進入大水箱,再經(jīng)由重力到達小水箱,小水箱中設有輔助能源保持水溫的恒定,再通過升壓裝置將熱水送到各家各戶。該系統(tǒng)在缺省狀態(tài)下,以自動控制模式判斷四個閥門(主要控制點)的工作狀態(tài),也可根據(jù)需要由工作人員進行手動控制。工作人員通過主端的操作控制面板完成人與系統(tǒng)的交互。位于面板上的顯示屏會實時顯示系統(tǒng)的工作情況和各項參數(shù)數(shù)據(jù),供工作人員參考。水箱高度和需要開啟加熱閥門時的溫度等十二個系統(tǒng)參數(shù),既可以在控制箱內(nèi)的操作控制面板上設置和通過顯示裝置查看,也可以在遠程監(jiān)控的計算機界面上設置和查看。考慮到在北方地區(qū)的推廣,系統(tǒng)還設定了防凍循環(huán)參數(shù)以控制啟停防凍循環(huán)。太陽能熱水智能控制系統(tǒng)示意圖如圖1所示,其中控制箱即為主控制端(主端),數(shù)據(jù)采集端(從端)位于大水箱上方。
系統(tǒng)采用華邦公司生產(chǎn)的單片機W77E58作為主端和從端的微處理器,由于它去除了多余的時鐘和存儲周期,其運算速度比傳統(tǒng)的8051系列要快1.5~3倍。單片機中采用的實時多任務操作系統(tǒng)是RTX51TNY,該操作系統(tǒng)由德國Keil公司開發(fā)研制,大小只有800B,但理論上支持多達16個任務,任務間的協(xié)調(diào)和輪換以信號機制觸發(fā)。RTX51TNY操作系統(tǒng)允許“準并行”的同時執(zhí)行幾個任務,每一個任務在預先定義好的時間片內(nèi)得以執(zhí)行。
2 系統(tǒng)結構
太陽能熱水控制系統(tǒng)由以下幾個模塊構成:主控制端處理模塊(即主端)、數(shù)據(jù)采集端模塊(即從端)、監(jiān)控計算機及其后臺服務程序。其中,從端還包括超聲測水位器件模塊,該器件利用超聲聲波接觸到水面后反射的簡單原理,使用放大器電路實現(xiàn),成本大大低于市場上流行的投入式液位計。系統(tǒng)的結構框圖如圖2所示。
2.1 主控制端軟件實現(xiàn)及任務分析
系統(tǒng)的軟件主要由三部分構成:主端程序、從端程序和利用超聲技術測水位的程序。主端程序包含在主端控制模塊當中,它的作用是判斷系統(tǒng)當前工作狀態(tài),通過對所采集的數(shù)據(jù)進行處理和分析得到該如何繼續(xù)控制系統(tǒng)的指令。從端程序負責處理采集的數(shù)據(jù),并發(fā)送提交給主處理程序,超聲部分的程序保證超聲模塊測水位的穩(wěn)定性和精確性。其中,主控制端后臺處理模塊是系統(tǒng)的主要部分,占據(jù)了絕大部分的代碼量,控制系統(tǒng)的指令大都由這里給出,下面著重介紹這一部分。
主端功能模塊示意圖如圖3所示。
主處理邏輯由7個任務構成其主體,一些函數(shù)的定義作為其補充。7個任務分別為:①初始化任務;②與串口通信任務(串口1接收從數(shù)據(jù)采集端發(fā)回的數(shù)據(jù));③與串口2通信任務(串口2負責與監(jiān)控計算機交換數(shù)據(jù));④⑤分別為對不同顯示區(qū)域的控制任務;⑥對硬件中斷的處理任務;⑦對傳回數(shù)據(jù)的處理任務。
各個任務具體實現(xiàn)的功能如下:
①初始化任務:初始化串行接口,并開始其余6個任務,最后刪除自身。
②串口1通信任務:主處理邏輯每隔一定的時間就通過串口1向數(shù)據(jù)采集端發(fā)送查詢幀查詢數(shù)據(jù),發(fā)送一定次數(shù)后仍未收到從端數(shù)據(jù)者,通過信號機制觸發(fā)顯示任務,顯示與從端通信挫敗的提示信息;若從端返回無誤數(shù)據(jù),則轉入顯示任務進行數(shù)據(jù)處理后顯示。若經(jīng)由CRC校驗發(fā)現(xiàn)連續(xù)若干次從端傳回數(shù)據(jù)有誤,轉入顯示任務顯示數(shù)據(jù)出錯的提示信息。
【基于RTOS的太陽能熱水控制系統(tǒng)設計】相關文章:
基于PLD技術的MIDI音樂播放控制系統(tǒng)設計03-15
基于CEBus總線的鐵路燈塔控制系統(tǒng)的設計03-18
基于μC/OS-II的光盤伺服控制系統(tǒng)的設計03-18
基于DSP的視頻檢測和遠程控制系統(tǒng)設計03-20