[發明專利]一種高效實時多任務操作系統內核有效
| 申請號: | 200910127320.2 | 申請日: | 2009-03-06 |
| 公開(公告)號: | CN101826032A | 公開(公告)日: | 2010-09-08 |
| 發明(設計)人: | 古俊銀 | 申請(專利權)人: | 英偉力新能源科技(上海)有限公司 |
| 主分類號: | G06F9/46 | 分類號: | G06F9/46 |
| 代理公司: | 上海天翔知識產權代理有限公司 31224 | 代理人: | 劉粉寶 |
| 地址: | 201203 上海市浦東*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 高效 實時 任務 操作系統 內核 | ||
技術領域
本發明涉及計算機技術,特別是嵌入式單片機技術。
技術背景
在電力電子應用中,電源控制一般在10KHz-50KHz電壓電流閉環;電機調速一 般在1KHz-10KHz閉環。速度閉環一般在50-500Hz閉環。另外還有I/O處理, 通訊,界面等不同速度等級的任務。采用常規的順序執行加中斷的方法,一般都要 采用DSP才能達到要求。本發明基于對8051結構的多組通用寄存器的資源分配,避 免了任務調度時對通用寄存器組的保護及恢復,從而實現了一個高效的實時多任務 操作系統內核。在一個20MIPS的增強型8051單片機上,本內核執行速度僅為10μs。
發明內容
本發明針對實時多任務的工業控制要求,提出了一種基于8051的高效實時多任 務操作系統內核。其特征是,以通用寄存器組劃分任務,每組通用寄存器組只供一 個任務使用;以中斷或非中斷驅動任務調度,在任務調度時只保存特殊寄存器內容 (A,B,PSW,DPTR,PC);每個任務的特殊寄存器組有各自的內容映射區;每次調度 任務時,先將該任務狀態字找出被調度的任務在內存映射區的偏移量,并將該任務 的特殊寄存器恢復,即恢復該任務的斷點及斷點處狀態及特殊寄存器值;由于PSW 包含了通用寄存器組的信息,且各個任務只使用各自的通用寄存器組,故不需保護 及恢復通用寄存器組,從而大大提高了執行速度。
附圖說明
圖1為為各個任務所分配的通用寄存器組及特殊寄存器組的內存映射。由于資源 的限制,將RB3由Task3及中斷共享,即Task3只能使用RB3的R0-R3,而中斷只能 使用RB3的R4-R7。
圖2為對應一個任務的特殊寄存器的內存映射區結構。
圖3為系統程序流程圖。
圖4為每個任務的程序流程圖。
圖5為中斷處理中的任務調度流程圖。
具體實施方法
如圖1所示,將4組通用寄存分別分配給Task0,Task1,Task2,Task3。其中, 由于資源限制,RB3由Task3及中斷分享,即R0-R3給Task3,R4-R7給中斷使用。 圖2給出了對應于每一個任務的特殊寄存器內存映射的結構,
由于PSW.4及PSW.3選擇了通用寄存器組,故該兩位也就決定了任務號。
圖3為系統程序結構圖。我們看到,各個框圖間沒有直接聯系。任務調度可以由 中斷完成,也可以在每個任務結束時完成。
圖4為一個任務的基本結構。除去常規的事件處理程序外,每個任務可以處理所 有任務的狀態位。我們規定TaskSta.0,TaskSta.1,TaskSta.2,TaskSta.3分別表 示Task0,Task1,Task2,Task3的狀態,“1”為激活,“0”為掛起,并且規定優先 級為Task0,Task1,Task2,Task3遞減。每次本任務結束時,即消除該狀態位。
圖5為中斷程序的任務調度流程圖。將PSW.4及PSW.3做為偏移量,即可找出當 前任務的內存映射區,并將當前任務的特殊寄存器內容保存。任務狀態位則可以在 中斷中處理,也可以在普通任務中處理。根據任務狀態字,即可找出目前優先級最 高的任務號;將該任務的特殊寄存器從內存映射區中恢復,退出中斷時該任務便自 動從上次斷點處原狀態執行。
下面列出了一個典型的主程序和任務調度原碼。可以看到,各個任務在程序結構 上完全解耦。
CSEG?????AT?200H
task0:??;800Hz
call?????pwm_con0
call?????tx_sub0
call?????filter0
INCA?????ModuleCnt
INCA?????StateCnt
mov??????DPTR,#task0
inc??????TBase0
mov??????A,TBase0
anl??????A,#0FH
ENDT_NZ??#0FEH
orl??????TaskSta,#2????;Task1?is?activated
anl??????TaskSta,#0FEH
DESP_TASK
ret
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英偉力新能源科技(上海)有限公司,未經英偉力新能源科技(上海)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910127320.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:閃存的隱藏存儲區段設置方法
- 下一篇:多重虛擬硬盤方法





