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