資料介紹
嵌入式操作系統μC/OS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內核,主要面向中小型嵌入式系統,具有執行效率高,占用空間小,可移植性強,實時性能優良和可擴展性強等特點。數控系統是一個典型的強實時性系統,具有可確定性。可確定性主要是確保條件出現到由此引起的動作開始(或者結束)的時間在一個準確的時段內。在數控系統中,條件是由操作員的指令(如:緊急停止、移動x軸等)或是機床的狀態(如刀具破損等)引起的。本文分析了數控系統任務的特點,結合μC/OS-Ⅱ的內核體系,對μC/OS-Ⅱ的任務分類、任務調度和中斷服務策略做了改進,使其更加適合于數控系統的應用。
1 μC/OS-Ⅱ對任務的分類
μC/OS-Ⅱ中每個任務有5種狀態:休眠(DORMANT)、就緒(READY)、運行(RUNNING)、等待(WAITING)、中斷(ISR)。休眠狀態的任務駐留在存儲器中,還未被內核使用;就緒狀態的任務準備執行,優先級低于當前執行的任務,沒有得到CPU控制權;任務得到CPU控制權后就處于運行狀態;等待事件發生的任務處于等待狀態,事件可以是I/O操作完成、共享資源可以利用、時鐘周期到等;任務執行過程被中斷服務例程中斷,任務就處于中斷狀態。
2 μC/OS-Ⅱ面向數控系統的改進
2.1 數控系統任務的特點
在數控系統中,任務可分為兩種:周期運行的任務和信號觸發運行的任務,這里所說的信號即包括硬件信號,也包括軟件信號。周期運行的任務有定時信號采樣、定時I/O口掃描、定時通信等。信號觸發運行的任務有中斷信號(硬件信號)觸發的中斷服務任務,命令消息信號(軟件信號)觸發的命令解釋任務等。另外,數控系統中,有些任務還具有運行時間短,運行頻率高,要求實時性高的特點,如信號采樣、數控機床中的插補控制等。
2.2 改進后的任務劃分
在改進后的嵌入式操作系統中任務分為兩類:普通任務和搶占式任務。普通任務指通過操作系統調度器調度運行的任務,調度方法如圖1所示;搶占式任務指那些不通過調度器調度運行,而是在中斷處理中直接運行的任務。下面詳細說明這兩種任務。
![淺談嵌入式操作系統μC/OS-Ⅱ面向數控系統的改進](/uploads/allimg/171027/2362486-1G02G543192O.png)
2.2.1 普通任務
根據數控系統任務多為周期任務和信號觸發任務這一特點,將普通任務分為兩種:定時運行的周期任務(簡稱周期任務)和信號觸發運行的隨機任務(簡稱隨機任務)。相應的,任務狀態被劃分為6種:運行態、就緒態、等待態、停止態、掛起態和中斷態。圖1為改進后的任務狀態切換圖。
在這六種狀態中,運行態、就緒態和中斷態對應μC/OS-Ⅱ的READY,RUNNING和ISR;掛起態是任務在執行完成前,因等待某事件或資源而被迫停止運行,等待事件或資源到來的狀態;等待態是周期任務完成一次運行,等待運行周期到再次運行時的狀態;停止態是隨機任務等待其觸發信號的狀態。這里去掉了休眠態,即沒有任務的刪除,所有的任務一旦建立,在系統運行期間一直存在。這樣的處理是因為在數控系統應用中,所有建立的任務一定是有用的,即在系統運行期間一定會被執行,無用的代碼和任務不會被添加。在μC/OS-Ⅱ中,設定每個任務都是一個無限的循環,即任務函數永不返回,這樣做是不合適的。該操作系統允許任務函數返回,返回后調用函數OSTaskEndDeal(),該函數根據任務的類別,把周期任務放入等待隊列,把隨機任務放入停止隊列。
2.2.2 搶占式任務
搶占式任務為執行時間短且執行頻率高于OS系統時鐘頻率(如信號采樣),或實時要求高(如數控機床中的插補控制)的任務。調度任務時間(主要是任務切換所花費的時間)往往比這類任務運行一次的時間還多,這顯然是不合理的,搶占式任務正是為解決這種不合理而設計的。搶占式任務不通過OS調度器調度運行,也不采用TCB(任務控制塊)標識它們,而是在它們的中斷觸發信號到達時,在中斷中_直接處理,這樣做節省了調度、任務切換的時間。但是,由于搶占式任務沒有TCB,也就沒有相應的任務堆棧,所以搶占式任務在使用資源上要特別注意:一定要使用獨立的資源。這樣既可以使搶占式任務正常運行,又可以避免搶占式任務對被中斷程序的環境造成破壞。具體辦法如下:
(1)專用寄存器組。若處理程序中使用了寄存器,則為其分配專用的寄存器組,這樣也省去了保存/恢復寄存器的時間消耗。
(2)全局變量。因為函數內部的局部變量是分配在堆棧中的,直接處理方式不形成任務,沒有自己的堆棧,如果使用局部變量,其局部變量會分配在被中斷任務的堆棧內,所以在該方式下任務應使用全局變量。用戶在設計搶占式任務時要有一定限制,否則會影響系統的響應時間。具體限制如下:第一,數量不能太多,最好小于等于3個;第二,必須是執行時間短,執行頻率高的任務才能被設為搶占式任務。
3 需要修改的內核數據和函數
1 μC/OS-Ⅱ對任務的分類
μC/OS-Ⅱ中每個任務有5種狀態:休眠(DORMANT)、就緒(READY)、運行(RUNNING)、等待(WAITING)、中斷(ISR)。休眠狀態的任務駐留在存儲器中,還未被內核使用;就緒狀態的任務準備執行,優先級低于當前執行的任務,沒有得到CPU控制權;任務得到CPU控制權后就處于運行狀態;等待事件發生的任務處于等待狀態,事件可以是I/O操作完成、共享資源可以利用、時鐘周期到等;任務執行過程被中斷服務例程中斷,任務就處于中斷狀態。
2 μC/OS-Ⅱ面向數控系統的改進
2.1 數控系統任務的特點
在數控系統中,任務可分為兩種:周期運行的任務和信號觸發運行的任務,這里所說的信號即包括硬件信號,也包括軟件信號。周期運行的任務有定時信號采樣、定時I/O口掃描、定時通信等。信號觸發運行的任務有中斷信號(硬件信號)觸發的中斷服務任務,命令消息信號(軟件信號)觸發的命令解釋任務等。另外,數控系統中,有些任務還具有運行時間短,運行頻率高,要求實時性高的特點,如信號采樣、數控機床中的插補控制等。
2.2 改進后的任務劃分
在改進后的嵌入式操作系統中任務分為兩類:普通任務和搶占式任務。普通任務指通過操作系統調度器調度運行的任務,調度方法如圖1所示;搶占式任務指那些不通過調度器調度運行,而是在中斷處理中直接運行的任務。下面詳細說明這兩種任務。
![淺談嵌入式操作系統μC/OS-Ⅱ面向數控系統的改進](/uploads/allimg/171027/2362486-1G02G543192O.png)
2.2.1 普通任務
根據數控系統任務多為周期任務和信號觸發任務這一特點,將普通任務分為兩種:定時運行的周期任務(簡稱周期任務)和信號觸發運行的隨機任務(簡稱隨機任務)。相應的,任務狀態被劃分為6種:運行態、就緒態、等待態、停止態、掛起態和中斷態。圖1為改進后的任務狀態切換圖。
在這六種狀態中,運行態、就緒態和中斷態對應μC/OS-Ⅱ的READY,RUNNING和ISR;掛起態是任務在執行完成前,因等待某事件或資源而被迫停止運行,等待事件或資源到來的狀態;等待態是周期任務完成一次運行,等待運行周期到再次運行時的狀態;停止態是隨機任務等待其觸發信號的狀態。這里去掉了休眠態,即沒有任務的刪除,所有的任務一旦建立,在系統運行期間一直存在。這樣的處理是因為在數控系統應用中,所有建立的任務一定是有用的,即在系統運行期間一定會被執行,無用的代碼和任務不會被添加。在μC/OS-Ⅱ中,設定每個任務都是一個無限的循環,即任務函數永不返回,這樣做是不合適的。該操作系統允許任務函數返回,返回后調用函數OSTaskEndDeal(),該函數根據任務的類別,把周期任務放入等待隊列,把隨機任務放入停止隊列。
2.2.2 搶占式任務
搶占式任務為執行時間短且執行頻率高于OS系統時鐘頻率(如信號采樣),或實時要求高(如數控機床中的插補控制)的任務。調度任務時間(主要是任務切換所花費的時間)往往比這類任務運行一次的時間還多,這顯然是不合理的,搶占式任務正是為解決這種不合理而設計的。搶占式任務不通過OS調度器調度運行,也不采用TCB(任務控制塊)標識它們,而是在它們的中斷觸發信號到達時,在中斷中_直接處理,這樣做節省了調度、任務切換的時間。但是,由于搶占式任務沒有TCB,也就沒有相應的任務堆棧,所以搶占式任務在使用資源上要特別注意:一定要使用獨立的資源。這樣既可以使搶占式任務正常運行,又可以避免搶占式任務對被中斷程序的環境造成破壞。具體辦法如下:
(1)專用寄存器組。若處理程序中使用了寄存器,則為其分配專用的寄存器組,這樣也省去了保存/恢復寄存器的時間消耗。
(2)全局變量。因為函數內部的局部變量是分配在堆棧中的,直接處理方式不形成任務,沒有自己的堆棧,如果使用局部變量,其局部變量會分配在被中斷任務的堆棧內,所以在該方式下任務應使用全局變量。用戶在設計搶占式任務時要有一定限制,否則會影響系統的響應時間。具體限制如下:第一,數量不能太多,最好小于等于3個;第二,必須是執行時間短,執行頻率高的任務才能被設為搶占式任務。
3 需要修改的內核數據和函數
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 嵌入式實時操作系統μC/OS-Ⅱ在LPC1788上的移植及應用
- 嵌入式實時操作系統的應用詳細教程說明 2次下載
- 嵌入式數控系統實時平臺的設計 0次下載
- 基于CORTEX-A8的嵌入式數控系統設計 6次下載
- 嵌入式系統設計與實例開發—ARM與uC/OS-Ⅱ 0次下載
- 嵌入式實時操作系統uCOS-II原理 261次下載
- 基于ARM與FPGA的嵌入式數控系統設計 74次下載
- 嵌入式數控系統的構件研究
- ARM與C/OS-Ⅱ嵌入式系統設計與實例開發
- 嵌入式數控系統的構件研究
- 基于uC OS和雙MCU的數控系統研制
- 基于μC/OS-II的嵌入式數控系統分析與設計
- 嵌入式實時操作系統μC OS-II與eCos的比較
- 嵌入式實時操作系統μC/OS-II與eCos的比較
- 嵌入式實時操作系統μC/OS-Ⅱ在ARM處理器上的實現
- 瑞薩CTSU程序在向嵌入式OS操作系統移植時的注意事項 372次閱讀
- 基于實時嵌入式操作系統mC/OS-II實現GPRS終端系統的設計 2408次閱讀
- 米爾科技嵌入式實時操作系統介紹 2348次閱讀
- 基于μC/OS嵌入式操作系統的嵌入式數據管理設計 1241次閱讀
- 基于ARM的嵌入式操作系統該如何設計 1558次閱讀
- 該如何正確選擇嵌入式操作系統 2811次閱讀
- 從嵌入式系統到嵌入式操作系統 761次閱讀
- 淺析STM32的五大嵌入式操作系統的特點及不足 6264次閱讀
- 五種基于STM平臺的且滿足實時控制要求操作的嵌入式操作系統的介紹 5292次閱讀
- 什么是嵌入式操作系統 常見的嵌入式系統有哪些 4w次閱讀
- 嵌入式操作系統是什么_嵌入式操作系統有哪些 2w次閱讀
- 如何設計一個小型嵌入式操作系統 9509次閱讀
- uC/OS和uClinux操作系統的區別 4534次閱讀
- 概述及匯總ARM的嵌入式操作系統 3008次閱讀
- 基于ARM和FPGA的嵌入式數控系統設計 6520次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論