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