一種嵌入式電網(wǎng)監測儀的實(shí)現方案
4 系統任務(wù)
圖2是基于μC/OS-II的嵌入式系統的框架結構。按電網(wǎng)監測系統所要實(shí)現的功能,整個(gè)系統劃分為二個(gè)中斷程序和五個(gè)并行存在的任務(wù)層。
中斷程序按其優(yōu)先級從高到低分別是網(wǎng)絡(luò )通信和數據采集。將系統的任務(wù)按其優(yōu)先級從高到低順序排列的次序是:系統監控任務(wù),鍵盤(pán)掃描任務(wù),任務(wù)之間的通信,數據運算統計處理任務(wù),液晶顯示任務(wù)。中斷發(fā)生時(shí),系統將強行剝奪運行態(tài)任務(wù)時(shí)CPU的使用權,將它轉入中斷態(tài)并保存相關(guān)數據到堆棧區之后,執行中斷服務(wù)程序。在中斷返回時(shí),系統返回函數將重新進(jìn)行任務(wù)調度,將優(yōu)先權最高的就緒態(tài)任務(wù)轉為運行態(tài)。
在該電網(wǎng)遠程監測系統軟件中,系統監視任務(wù)優(yōu)先權最高,最先進(jìn)入運行態(tài)。該任務(wù)分別查詢(xún)每一個(gè)被監視的任務(wù)是否向其發(fā)送消息。按優(yōu)先權級別順序,鍵盤(pán)掃描任務(wù)將由就緒態(tài)轉為運行態(tài)。在該任務(wù)將要執行完畢時(shí),向系統監視任務(wù)發(fā)送消息,然后執行延時(shí)函數將自身轉為掛起態(tài),交出CPU使用權,讓其他任務(wù)得以執行。如果沒(méi)有,則進(jìn)入掛起態(tài),再次等待其他被監視任務(wù)的運行消息。系統按任務(wù)優(yōu)先級繼續執行優(yōu)先級高的就緒態(tài)任務(wù),依次類(lèi)推。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論