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