www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]為了使嵌入式操作系統(tǒng)μC/OS-Ⅱ更加適合數(shù)控系統(tǒng)的應用,對μC/OS-Ⅱ的任務分類和任務調(diào)度做了改進。將任務分為普通任務和搶占式任務。搶占式任務不通過調(diào)度器調(diào)度運行,而在中斷處理中直接運行。搶占式任務對應數(shù)控系統(tǒng)中執(zhí)行頻率高,執(zhí)行時間短的任務。實驗證明,改進后的μC/OS-Ⅱ更適合數(shù)控系統(tǒng)任務的添加。

嵌入式操作系統(tǒng)μC/OS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內(nèi)核,主要面向中小型嵌入式系統(tǒng),具有執(zhí)行效率高,占用空間小,可移植性強,實時性能優(yōu)良和可擴展性強等特點。數(shù)控系統(tǒng)是一個典型的強實時性系統(tǒng),具有可確定性??纱_定性主要是確保條件出現(xiàn)到由此引起的動作開始(或者結束)的時間在一個準確的時段內(nèi)。在數(shù)控系統(tǒng)中,條件是由操作員的指令(如:緊急停止、移動x軸等)或是機床的狀態(tài)(如刀具破損等)引起的。本文分析了數(shù)控系統(tǒng)任務的特點,結合μC/OS-Ⅱ的內(nèi)核體系,對μC/OS-Ⅱ的任務分類、任務調(diào)度和中斷服務策略做了改進,使其更加適合于數(shù)控系統(tǒng)的應用。

1 μC/OS-Ⅱ對任務的分類

μC/OS-Ⅱ中每個任務有5種狀態(tài):休眠(DORMANT)、就緒(READY)、運行(RUNNING)、等待(WAITING)、中斷(ISR)。休眠狀態(tài)的任務駐留在存儲器中,還未被內(nèi)核使用;就緒狀態(tài)的任務準備執(zhí)行,優(yōu)先級低于當前執(zhí)行的任務,沒有得到CPU控制權;任務得到CPU控制權后就處于運行狀態(tài);等待事件發(fā)生的任務處于等待狀態(tài),事件可以是I/O操作完成、共享資源可以利用、時鐘周期到等;任務執(zhí)行過程被中斷服務例程中斷,任務就處于中斷狀態(tài)。

2 μC/OS-Ⅱ面向數(shù)控系統(tǒng)的改進

2.1 數(shù)控系統(tǒng)任務的特點

在數(shù)控系統(tǒng)中,任務可分為兩種:周期運行的任務和信號觸發(fā)運行的任務,這里所說的信號即包括硬件信號,也包括軟件信號。周期運行的任務有定時信號采樣、定時I/O口掃描、定時通信等。信號觸發(fā)運行的任務有中斷信號(硬件信號)觸發(fā)的中斷服務任務,命令消息信號(軟件信號)觸發(fā)的命令解釋任務等。另外,數(shù)控系統(tǒng)中,有些任務還具有運行時間短,運行頻率高,要求實時性高的特點,如信號采樣、數(shù)控機床中的插補控制等。

2.2 改進后的任務劃分

在改進后的嵌入式操作系統(tǒng)中任務分為兩類:普通任務和搶占式任務。普通任務指通過操作系統(tǒng)調(diào)度器調(diào)度運行的任務,調(diào)度方法如圖1所示;搶占式任務指那些不通過調(diào)度器調(diào)度運行,而是在中斷處理中直接運行的任務。下面詳細說明這兩種任務。


2.2.1 普通任務

根據(jù)數(shù)控系統(tǒng)任務多為周期任務和信號觸發(fā)任務這一特點,將普通任務分為兩種:定時運行的周期任務(簡稱周期任務)和信號觸發(fā)運行的隨機任務(簡稱隨機任務)。相應的,任務狀態(tài)被劃分為6種:運行態(tài)、就緒態(tài)、等待態(tài)、停止態(tài)、掛起態(tài)和中斷態(tài)。圖1為改進后的任務狀態(tài)切換圖。

在這六種狀態(tài)中,運行態(tài)、就緒態(tài)和中斷態(tài)對應μC/OS-Ⅱ的READY,RUNNING和ISR;掛起態(tài)是任務在執(zhí)行完成前,因等待某事件或資源而被迫停止運行,等待事件或資源到來的狀態(tài);等待態(tài)是周期任務完成一次運行,等待運行周期到再次運行時的狀態(tài);停止態(tài)是隨機任務等待其觸發(fā)信號的狀態(tài)。這里去掉了休眠態(tài),即沒有任務的刪除,所有的任務一旦建立,在系統(tǒng)運行期間一直存在。這樣的處理是因為在數(shù)控系統(tǒng)應用中,所有建立的任務一定是有用的,即在系統(tǒng)運行期間一定會被執(zhí)行,無用的代碼和任務不會被添加。在μC/OS-Ⅱ中,設定每個任務都是一個無限的循環(huán),即任務函數(shù)永不返回,這樣做是不合適的。該操作系統(tǒng)允許任務函數(shù)返回,返回后調(diào)用函數(shù)OSTaskEndDeal(),該函數(shù)根據(jù)任務的類別,把周期任務放入等待隊列,把隨機任務放入停止隊列。

2.2.2 搶占式任務

搶占式任務為執(zhí)行時間短且執(zhí)行頻率高于OS系統(tǒng)時鐘頻率(如信號采樣),或實時要求高(如數(shù)控機床中的插補控制)的任務。調(diào)度任務時間(主要是任務切換所花費的時間)往往比這類任務運行一次的時間還多,這顯然是不合理的,搶占式任務正是為解決這種不合理而設計的。搶占式任務不通過OS調(diào)度器調(diào)度運行,也不采用TCB(任務控制塊)標識它們,而是在它們的中斷觸發(fā)信號到達時,在中斷中_直接處理,這樣做節(jié)省了調(diào)度、任務切換的時間。但是,由于搶占式任務沒有TCB,也就沒有相應的任務堆棧,所以搶占式任務在使用資源上要特別注意:一定要使用獨立的資源。這樣既可以使搶占式任務正常運行,又可以避免搶占式任務對被中斷程序的環(huán)境造成破壞。具體辦法如下:

(1)專用寄存器組。若處理程序中使用了寄存器,則為其分配專用的寄存器組,這樣也省去了保存/恢復寄存器的時間消耗。

(2)全局變量。因為函數(shù)內(nèi)部的局部變量是分配在堆棧中的,直接處理方式不形成任務,沒有自己的堆棧,如果使用局部變量,其局部變量會分配在被中斷任務的堆棧內(nèi),所以在該方式下任務應使用全局變量。用戶在設計搶占式任務時要有一定限制,否則會影響系統(tǒng)的響應時間。具體限制如下:第一,數(shù)量不能太多,最好小于等于3個;第二,必須是執(zhí)行時間短,執(zhí)行頻率高的任務才能被設為搶占式任務。

3 需要修改的內(nèi)核數(shù)據(jù)和函數(shù)

3.1 任務控制塊的修改

(1)修改OSTCBDly的含義。在μC/OS-Ⅱ中,OSTCBDly表示任務延時的時鐘節(jié)拍數(shù),或者任務掛起時的超時時鐘節(jié)拍數(shù)。如果這個變量為0,則表示任務不延時,或者表示等待事件發(fā)生的時間沒有限制,修改后,OSTCBDly描述任務自運行的周期數(shù),其計算公式如式(1)所示。若該項為零,任務為信號觸發(fā)的隨機任務。

(2)在TCB增加一項OSTCBDlyD作為任務自運行周期動態(tài)值。
INT16UOSTCBDlyD; /*任務自運行周期動態(tài)值*/其中,OSTCBDlyD是任務等待運行時間的動態(tài)值。若任務在等待態(tài),其初值為OSTCBD-ly;若任務為掛起態(tài),其初值為超時限制值。系統(tǒng)時鐘處理函數(shù)OSTimeTick()對OSTCBDlyD減1,當OSTCBDlyD小于0時,則將該任務放入就緒隊列。

(3)增加OSTCBStat的取值。OSTCBStat是任務的狀態(tài)字。由于增加了停止態(tài)和等待態(tài)兩種任務狀態(tài),因此需要增加OSTCBStat的取值,具體修改是在文件μCOS_II.H中增加下面信息。

#define OS_STAT_wAIT 0x40 //任務狀態(tài)字為等待態(tài)
#define OS_STAT_STOP 0x80 //任務狀態(tài)字為停止態(tài)

3.2 時鐘節(jié)拍函數(shù)的OSTimeTick()修改

通過TCB數(shù)組掃描全部TCB,根據(jù)OSTCBStat的值做不同處理,具體處理如下:
就緒態(tài)的任務,OSTCBDlyD--,若有超時,則進行超時處理。
掛起態(tài)的任務,OSTCBDlyD--,若有超時,則將其插入就緒表。
等待態(tài)的任務,OSTCBDlyD--,若到時,則將其加入就緒表。
運行態(tài)的任務和停止態(tài)的任務,不做處理。

3.3 增加函數(shù)OSTaskEndDeal()

當前任務的函數(shù)運行完返回時,調(diào)用函數(shù)OSTaskEndDeal(),該函數(shù)完成工作:首先調(diào)用OSTaskStkInit()將該任務的堆棧初始化;然后判斷任務是否為最低優(yōu)先級任務,若是,則保持該任務在就緒態(tài),這樣做的目的是使最低優(yōu)先級任務始終處于就緒態(tài),就緒表不會為空。若否,則根據(jù)OSTCBCUR→OSTCBDly決定任務該插入哪個隊列,該值等于零,任務進入停止狀態(tài);

不等于零,任務進入等待狀態(tài)。最后,調(diào)用OSStart()選擇新任務運行。

3.4 搶占式任務的實現(xiàn)

搶占式任務的設計需要根據(jù)實際情況做處理,這里以數(shù)控系統(tǒng)中的插補控制為例介紹搶占式任務的實現(xiàn)。

3.4.1 插補控制任務的功能

插補控制任務是根據(jù)加工命令和當前點的位置,實時計算各坐標軸運動的位移和方向。插補時需要用一個定時器作為插補速度的控制,每次定時中斷觸發(fā)一步插補運算和輸出,當插補到終點,定時器停止,插補完成。

3.4.2 插補控制任務的實現(xiàn)

(1)選擇一個硬件定時器作為插補專用定時器,將插補任務的代碼放入該硬件定時器的中斷服務程序中。
(2)為該中斷設置一組專用的寄存器組,以減少中斷環(huán)境保存和恢復的時間。
(3)將需要執(zhí)行插補任務的當前位置值和加工命令(如:加工曲線線形、終點值)等信息定義成全局變量,以便與其他任務實現(xiàn)快速的信息交互。
(4)插補控制任務的啟動。根據(jù)插補速度設定定時器初值,初始化插補所用的全局變量,啟動定時器。

4 基于改進后的μC/OS-Ⅱ的數(shù)控機床執(zhí)行控制器的軟件設計

數(shù)控機床系統(tǒng)采用兩級結構。上位機由專用軟件IPC構成,用于實現(xiàn)人機交互;下位機由C8051020及其外圍電路的嵌入式執(zhí)行控制器構成,負責實時、可靠的控制。嵌入式執(zhí)行控制器軟件基于改進后的μC/OS-Ⅱ設計,主要包括下面一些功能:與IPC的通信(發(fā)送任務和接受任務)、命令解釋(命令解釋任務)和命令執(zhí)行(加工監(jiān)控任務、插補計算任務、間隙電壓檢測和限位開關狀態(tài)檢測任務)。其中,通信有發(fā)送和接收兩方面內(nèi)容;命令解釋時,對開關量控制命令直接執(zhí)行;命令執(zhí)行中需要進行插補計算、檢測間隙電壓和限位開關狀態(tài)及加工監(jiān)測。各任務具體設計如表1所示。


5 結語

本文根據(jù)數(shù)控系統(tǒng)任務特點,對μC/OS-Ⅱ的任務劃分和任務調(diào)度做了改進,更加方便數(shù)控系統(tǒng)任務的在μC/OS-Ⅱ上的添加,同時也便于μC/OS-Ⅱ對不同任務的管理。搶占式任務減少了任務切換花費的時間,并提高了硬件資源的利用率,但應注意搶占式任務的數(shù)量不能過多,最好小于等于3個,否則會影響OS正常運行。改進后的內(nèi)核已應用到了實際項目中,系統(tǒng)穩(wěn)定可靠。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉