μC/OS-II在總線式數據采集系統中的應用
μC/OS-II是一個源代碼開放的實時操作系統,可移植、可固化(嵌入到產品中成為產品的一部分)、可裁減,屬于占先式實時內核。執行時間可確定(即函數調用與服務的時間是可知的,不依賴于應用程序的多少),支持現有大多數型號的8位、16位、32位MCU/MPU,已被廣泛應用于交換機、路由器、過程控制、汽車業、辦公自動化、計算機外設以及民用消費類產品等,具有穩定的可靠性。把μC/OS-II應用在總線式數據采集系統中,可使該系統比以往的前后臺系統能夠更加穩定地工作,而且在一定程度上滿足了監控測量實時性的需求。
本文引用地址:http://www.czjhyjcfj.com/article/152575.htm隨著社會信息化程度的提高,人們對重要工業及生活設施智能化監控的要求也越來越高。應這種需求,設計了這套總線式數據采集系統。該系統采用總線巡檢方式,對監測對象進行數據采集與處理,系統硬件以模塊化結構,實現32/64/128路模擬或數字量的集中監測,適用于各種標準現場一次儀表或二次儀表數據測量與控制。整機采用先進的微機處理技術和通信控制技術,并嵌入實時處理內核,智能化程度較高,工作性能更加穩定,測量精度高,通用性強。
1.1 系統組成
該系統的硬件組成如圖1所示。
現場監測通道狀態以總線方式,通過總線處理單元傳送到中央控制單元進行數據采集與處理,其中MCU采用具有10位A/D轉換器的80C196KB。
1.2 系統功能
該系統可以對各通道的工作參數、狀態進行即時修改設定,并可以通過面板LED實時顯示32/64/128路通道的工作狀態,同時各通道的實時參數通過LCD進行逐屏顯示。對發生報警的信道可以通過打印處理單元進行打印輸出、聲光報警及顯示。該系統采用總線巡檢方式,對各信道工作狀態進行遠程數據采集并進行集中數據處理。為進一步滿足智能化管理的需要,具有和計算機通信的功能,可以實現監測數據的共享。同時,也可以通過計算機對各信道的工作狀態進行設置,進一步增強了該系統的智能化管理能力。
2 μC/OS-II在系統中的應用
該系統若采用以往的前后臺式工作方式,即后臺為主應用程序,前臺為中斷處理程序;通常情況下執行主程序,若有中斷發生時,則轉向前臺處理中斷服務程序。前臺需要處理定時顯示系統信息子程序,或按鍵中斷處理子程序,然后根據中斷程序中所置的狀態標志,由主程序判斷其狀態標志后再進入相應的子程序,也就是主程序采用狀態查詢方式進行工作。這樣在一定程度上不能保證整個系統測量的實時性。因為主程序在執行其它程序時,不可能隨時去檢測這些狀態標志,尤其是處理多信道A/D采樣計算時,耗時較多。當工作的信道增加或減少時,這種現象則表現得尤為明顯,而且難以實現并行操作的相互通信。在主程序的各個子模塊中,有需要橫向通信聯系交換信息的,這在一般的前后臺系統中是很困難的,且存在系統不穩定的隱患。實時內核兼具實時多任務性和穩定性,因此考慮采用實時內核。μC/OS-II是一個源碼開放的實時內核,且又有許多成功的先例可供參考,可針對不同的MCU/MPU,通過條件編譯裁減其內核的大小,以滿足系統要求。μC/OS-II是占先式內核,總是運行就緒條件下優先級最高的任務。最大可以管理64個任務,其中保留8個給系統,故應用程序最多可以有56個任務。鑒于許多成功先例和系統成本,采用了80C196KB作為系統的MCU。通過實驗,基本滿足了系統所要求的實時性。
2.1 開發實時內核的流程
開發實時內核的流程如圖2所示。
評論