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