在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用操作系統μC/OS-Ⅱ實現數控執行控制器的系統設計

電子設計 ? 來源:現代電子技術 ? 作者:劉艷軍 ? 2020-03-06 08:03 ? 次閱讀

嵌入式操作系統μ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-Ⅱ實現數控執行控制器的系統設計

2.2.1 普通任務

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

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

2.2.2 搶占式任務

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

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

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

3 、需要修改的內核數據和函數

3.1 任務控制塊的修改

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

(2)在TCB增加一項OSTCBDlyD作為任務自運行周期動態值。

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

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

#define OS_STAT_wAIT 0x40 //任務狀態字為等待態

#define OS_STAT_STOP 0x80 //任務狀態字為停止態

3.2 時鐘節拍函數的OSTimeTick()修改

通過TCB數組掃描全部TCB,根據OSTCBStat的值做不同處理,具體處理如下:

就緒態的任務,OSTCBDlyD--,若有超時,則進行超時處理。

掛起態的任務,OSTCBDlyD--,若有超時,則將其插入就緒表。

等待態的任務,OSTCBDlyD--,若到時,則將其加入就緒表。

運行態的任務和停止態的任務,不做處理。

3.3 增加函數OSTaskEndDeal()

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

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

3.4 搶占式任務的實現

搶占式任務的設計需要根據實際情況做處理,這里以數控系統中的插補控制為例介紹搶占式任務的實現。

3.4.1 插補控制任務的功能

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

3.4.2 插補控制任務的實現

(1)選擇一個硬件定時器作為插補專用定時器,將插補任務的代碼放入該硬件定時器的中斷服務程序中。

(2)為該中斷設置一組專用的寄存器組,以減少中斷環境保存和恢復的時間。

(3)將需要執行插補任務的當前位置值和加工命令(如:加工曲線線形、終點值)等信息定義成全局變量,以便與其他任務實現快速的信息交互。

(4)插補控制任務的啟動。根據插補速度設定定時器初值,初始化插補所用的全局變量,啟動定時器。

4、 基于改進后的μC/OS-Ⅱ的數控機床執行控制器的軟件設計

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

采用操作系統μC/OS-Ⅱ實現數控執行控制器的系統設計

5 、結語

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

責任編輯:gt


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16427

    瀏覽量

    178901
  • 嵌入式
    +關注

    關注

    5089

    文章

    19167

    瀏覽量

    306710
  • 操作系統
    +關注

    關注

    37

    文章

    6870

    瀏覽量

    123554
收藏 人收藏

    評論

    相關推薦

    uC/OS-Ⅱ的主要特點

    公開源代碼,系統透明,很容易就能把操作系統移植到各個不同的硬件平臺上。可移植性強,uC/OS-Ⅱ絕大部分源碼是用ANSI C寫的,可移植性 (Portable)較強。而與微處理
    發表于 06-07 14:12

    如何將嵌入式操作系統μCOS-Ⅱ面向數控系統改進?

    嵌入式操作系統μCOS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內核,主要面向中小型嵌入式系統,具有執行效率高,占用空間小,
    發表于 10-30 07:42

    嵌入式操作系統μCOS-Ⅱ在數控系統應用怎么改進?

    嵌入式操作系統μCOS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內核,主要面向中小型嵌入式系統,具有執行效率高,占用空間小,
    發表于 03-11 06:47

    如何采用FPGA實現μC/OS-Ⅱ任務管理模塊?

    本文針對傳統實時操作系統內核占用系統資源、影響系統實時性的問題,提出了用單獨的硬件電路實現實時操作系統中的
    發表于 04-26 06:14

    嵌入式實時操作系統μc/os-Ⅱ學習心得分享

    學習μc/os-操作系統一周時間,本來信心滿滿的打算一周搞定μc/os-Ⅱ嵌入式實時操作系統
    發表于 12-14 08:09

    μC/OS-操作系統筆記總結

    μC/OS-操作系統筆記總結(總)μC/OS-操作系統筆記(二)------中斷和時鐘μ
    發表于 12-16 07:37

    嵌入式實時操作系統μC/OS-Ⅱ在ARM處理上的實現

    嵌入式實時操作系統μC/OS-Ⅱ在ARM處理上的實現,講的非常詳細哦。
    發表于 03-28 09:49 ?17次下載

    UC/OS-操作系統在ARM處理上的移植

    UC/OS-操作系統在ARM處理上的移植
    發表于 03-28 09:51 ?27次下載

    基于uC OS和雙MCU的數控系統研制

    詳細介紹了μC/OS-II 實時操作系統C8051F124 單片機上的移植,并設計了一個基于UC/OS- II 實時
    發表于 09-03 15:30 ?16次下載

    采用μC/OS-Ⅱ的數據采集系統設計與應用

    采用μC/OS-Ⅱ的數據采集系統設計與應用    摘要:通用串行總線因 (USB)具有傳輸速度快、即插即用、易于擴展、占用系統
    發表于 03-04 10:46 ?914次閱讀
    <b class='flag-5'>采用</b>μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-</b>Ⅱ的數據采集<b class='flag-5'>系統</b>設計與應用

    基于μCOS-Ⅱ的嵌入式洗碗機控制器的設計與實現

    關于嵌入式的 基于μCOS-Ⅱ的嵌入式洗碗機控制器的設計與實現 的學術論文
    發表于 04-20 09:58 ?12次下載

    淺談嵌入式操作系統μC/OS-Ⅱ面向數控系統的改進

    嵌入式操作系統COS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內核,主要面向中小型嵌入式系統,具有執行效率高,占用空間小,可
    發表于 10-27 15:34 ?1次下載
    淺談嵌入式<b class='flag-5'>操作系統</b>μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-</b>Ⅱ面向<b class='flag-5'>數控系統</b>的改進

    嵌入式操作系統μCOS-Ⅱ面向數控系統的改進

    嵌入式操作系統COS-Ⅱ是一個可裁剪、源碼開放、結構小巧、搶先式的實時多任務內核,主要面向中小型嵌入式系統,具有執行效率高,占用空間小,可
    發表于 12-01 06:05 ?549次閱讀
     嵌入式<b class='flag-5'>操作系統</b>μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-</b>Ⅱ面向<b class='flag-5'>數控系統</b>的改進

    米爾科技嵌入式實時操作系統介紹

    《嵌入式實時操作系統μC/OS-Ⅱ經典實例:基于STM32處理》緊緊圍繞“μC/OS-
    的頭像 發表于 11-25 09:02 ?2354次閱讀
    米爾科技嵌入式實時<b class='flag-5'>操作系統</b>介紹

    嵌入式實時操作系統μC/OS-Ⅱ在LPC1788上的移植及應用

    電子發燒友網站提供《嵌入式實時操作系統μC/OS-Ⅱ在LPC1788上的移植及應用.pdf》資料免費下載
    發表于 10-23 14:07 ?0次下載
    嵌入式實時<b class='flag-5'>操作系統</b>μ<b class='flag-5'>C</b>/<b class='flag-5'>OS-</b>Ⅱ在LPC1788上的移植及應用
    主站蜘蛛池模板: 性视频网址| 真实子伦视频不卡| 四虎成人免费观看在线网址| 亚洲合集综合久久性色| 天堂资源在线bt种子8| 黄色在线观看国产| ⅹxxxx68日本老师hd| 亚洲伊人天堂| 在线色视频网站| 婷婷丁香色| 欧美sese| 国产aaaaaa| 韩国朴银狐诱感在线观看| 丁香在线视频| 天天干天天干天天天天天天爽| 国产精品美乳在线观看| 99色婷婷| www五月天| 手机在线看| 欧美系列在线| 久久99久久精品国产只有| 日本欧美一区二区三区视频| 中文字幕三级| 色偷偷网| 四虎精品影院在线观看视频| 全国最大色成免费网站| 日本免费黄色| 黄 色 录像成 人播放免费| 久久手机视频| 最新版天堂资源官网| 久草色香蕉| 视频在线一区| 四虎网址最新| 狠狠色噜噜狠狠狠狠狠色综合久久 | 手机看片1024在线观看| 男人cao女人视频在线观看| 在线你懂的| 美日韩中文字幕| 午夜影皖| 欧美亚洲另类在线观看| 亚洲 欧美 动漫|