軟件中斷線程(SWI)優先級次之,一般將相對于普通任務比較重要的、發生頻率比較頻繁的子功能模塊安排在軟件中斷線程(SWI)中。通過DSP/BIOS內核的API調用來啟動軟件中斷線程,利用每個軟件中斷線程自身的郵箱有條件地啟動對應的軟件中斷。本系統設置的軟件中斷包括:PWM信號生成模塊和通信模塊(發送)。
任務線程(TSK)優先級一般。因系統堆棧有限,大部分線程都安排成任務線程。任務線程也具有優先級,優先級高的任務優先執行,相同優先等級的任務按照任務請求順序執行。每個任務創建后都處于4種執行狀態即運行、就緒、暫停和終止中的一種。本系統將電量數據計算和系統保護、故障和運行數據存儲模塊、人機交互模塊放置在任務線程(TSK)中。電量數據計算主要是計算輸入輸出電壓、電流、功率有效值、輸出頻率等電量參數,系統保護主要是根據測得的電量數據進行系統過載、過熱等故障判斷,當出現這些故障時經過一定延時后通知主控板。故障和運行數據存儲模是將系統設定的額定負載量、故障歷史記錄、通信地址等需要長期保存的數據存儲到時鐘芯片存儲器中。鍵盤顯示任務線程包括鍵盤檢測任務和液晶顯示任務兩部分。鍵盤顯示任務線程每500ms運行1次,檢測是否有按鍵需要處理。當有按鍵需要處理時,液晶顯示任務根據按鍵顯示相應數據。沒有按鍵需要處理,顯示任務根據目前所出界面更新顯示數據。
在4種線程中,后臺線程(IDL)級別最低??蓪崟r分析模塊放在其中運行,用來在應用程序執行期間對DSP應用程序進行實時交互與診斷,了解DSP運行情況。據此設計的系統軟件參數設定和邏輯故障顯示界面見圖1。