嵌入式實現(xiàn)地鐵雜散電流監(jiān)測裝置
3.3 系統(tǒng)的軟件設(shè)計
3.3.1 傳統(tǒng)的程序流程
一個典型的單片機數(shù)據(jù)采集系統(tǒng)的程序通常包括輸入/ 輸出控制、數(shù)據(jù)處理和顯示、鍵盤管理等模塊。程序采用循環(huán)方式,流程如圖3所示。
可以看到,傳統(tǒng)的程序是基于單任務(wù)機制的,各個模塊構(gòu)成一個整體,作為一個任務(wù)運行。在實際應(yīng)用中,這種程序的安全性差,只要一個系統(tǒng)的設(shè)計模塊出了錯誤,整個系統(tǒng)工作就會被打亂,只有利用看門狗進行復位。這對于比較復雜的系統(tǒng),在實際運行中看門狗就會頻繁地發(fā)生復位操作。而且由于數(shù)據(jù)采集和鍵盤程序的執(zhí)行頻率可能相差很多,這樣對系統(tǒng)的定時要求就會很高,傳統(tǒng)的程序流程對實時性就難以很好地滿足。
3.3.2 基于ucosII 的系統(tǒng)程序流程
基于ucosII 的程序流程如圖4所示。程序中,每個模塊對應(yīng)一個任務(wù),彼此之間是并行的,但每個模塊都對應(yīng)著一個不同的優(yōu)先級,由操作系統(tǒng)進行調(diào)度運行。系統(tǒng)可以通過監(jiān)控模塊對其他模塊的工作進行監(jiān)控,從而減少看門狗的復位次數(shù)。而且通過ucosII 內(nèi)核的任務(wù)調(diào)度,系統(tǒng)的實時性會提高很多。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)基爾霍夫電流相關(guān)文章:基爾霍夫電流定律
評論