時間片輪轉調度在微控制器C8051F020中的實現及應用
有些任務,要以其他任務的完成為前提,如:在速度未到達設定值前,不能進行測試 操作,不能執行降速任務,因而該任務處于等待狀態。必須根據任務所處的狀態,動態地加載任務。
在測試過程中,DA值輸出為10 ms一次,每執行一個時間片,進行記數,記到n時, D A值增加25個,即以n×10 ms為周期,DA值增加一次,使變頻器控制電機轉速勻速上升。下降過程也同樣,這樣,既能保證DA值勻速上升/下降,又能根據最大DA值(10 V輸出對應DA值為4 000)和每n個時間片周期內下降的DA值來準確控制上升和下降時間,將大任務分成一個個小任務來執行,提高系統資源利用率和實時性。
3.2測試系統的實現
下位機用時間片輪轉調度法實現實時多任務系統。上位 機用虛擬儀器開發平臺LabVIEW 實現人機界面,通過ModBUS協議和下位機通信,在指定數據區寫入各設定參數,進行測試,把測試結果存放在指定數據區,取得數據后經公式換算得到摩擦系數,降速過程中每一單位速度(km/h)數對應一個摩擦系數瞬時值,得到的曲線如圖1所示。
4結語
對于實時多任務操作系統,主要任務是對實時性要求不同的各種任務做出及時響應。
在單片機中引入時間片輪轉調度的任務分配方法,有 效地改善了系統的結構,系統可以在宏 觀上并行執行各種任務, 使資源的利用率進一步提高;并使其在事件發生時能夠在嚴格的時 限內做出響應,從而實現了實時多任務的測控系統。
參考文獻
[1]馬忠梅,籍順心,張凱,等.單片機的C語言應用程序設計[M] .北京:北京航空航天大學出版社,2001.
[2]徐士良,朱明方.軟件應用技術基礎[M].北京:清華大學出版社 ,2000.
[3]龐麗萍.操作系統原理[M].武漢:華中理工大學出版社,1987.
[4]李剛,林凌.與8051兼容的高性能高速單片機C8051FXXX系列[M].北京:北京航空航天大學出版社,2002.
評論