chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于比特表實現(xiàn)實時控制系統(tǒng)RTCS的任務(wù)調(diào)度算法研究

電子設(shè)計 ? 來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:張勰,龔龍慶 ? 2020-09-11 17:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言

微機(jī)控制領(lǐng)域中,許多單片機(jī)應(yīng)用系統(tǒng)是實時控制系統(tǒng)RTCS(Real Time Control System)。在實時控制系統(tǒng)中,為了很好地完成外界信息的實時測量、計算和相應(yīng)的多種實時控制操作,必須達(dá)到兩個設(shè)計目標(biāo);實時性和并行性。即既要保證系統(tǒng)對外界信息以足夠快的速度進(jìn)行相應(yīng)處理,又要同時完成多種任務(wù)操作。在這里,多種任務(wù)之間的調(diào)度是個關(guān)鍵。

RTCS 中允許多個實時任務(wù)并行地運(yùn)行。例如,一測控系統(tǒng)中,具有數(shù)據(jù)采集、數(shù)據(jù)計算、鍵盤處理、定時打印等任務(wù)。在單機(jī)系統(tǒng)中,這些任務(wù)在宏觀上是同時運(yùn)行的,但在微觀上只有一個任務(wù)運(yùn)行。在RTCS中每個任務(wù)有三種狀態(tài),即運(yùn)行狀態(tài)、就緒狀態(tài)和空閑狀態(tài)。某個任務(wù)一旦建立后即處于這三種狀態(tài)之一。處于運(yùn)行狀態(tài)的任務(wù)獨(dú)占CPU和其它一些資源;就緒狀態(tài)是某個任務(wù)現(xiàn)在應(yīng)該運(yùn)行,但由于其它任務(wù)正在運(yùn)行,故只能暫時等待;當(dāng)激發(fā)某個任務(wù)的條件不完備時,此任務(wù)就處于空閑狀態(tài)。

RTCS中的多個任務(wù)依靠任務(wù)調(diào)度程序來決定系統(tǒng)中哪個任務(wù)可以獲得CPU等資源或應(yīng)暫時退出運(yùn)行狀態(tài)等,從而完成每個任務(wù)三態(tài)間的轉(zhuǎn)換。在RTCS中,任務(wù)調(diào)度算法的優(yōu)劣直接關(guān)系到系統(tǒng)的實時性能與并行性能。

RTCS中較簡單的任務(wù)調(diào)度算法有“先來先執(zhí)行的調(diào)度算法”、“按時間片循環(huán)執(zhí)行的調(diào)度算法”。前者,當(dāng)實時性比較差的任務(wù)長時間占用CPU時,會使得實時性較高的任務(wù)得不到及時處理,影響系統(tǒng)的實時性;后者,按照“先入先出”的原則激活某個任務(wù),并分配給它們相等的時間片,從而使得多個任務(wù)有平等的享用CPU的權(quán)利。當(dāng)時間片用完時,讓任務(wù)“暫時”又處于就緒狀態(tài),并激活下一個任務(wù)。這種算法的實時性有一定程序的提高,但由于各任務(wù)簡單均勻地循環(huán)輪回,從而使得實時性要求較高的任務(wù)得不到優(yōu)先處理。由于各時間片相等且固定,很容易被某些緊急任務(wù)打斷。在實時性要求較高而且任務(wù)較多的復(fù)雜情況下,各個任務(wù)的實時性要求不盡相同,不能簡單地均勻分時處理任務(wù)。

基于比特表的任務(wù)調(diào)度算法,關(guān)鍵在于將CPU的全部時間化成若干個相等的時隙,同時根據(jù)任務(wù)的數(shù)目制定一張表格,以此來指示某一時刻的任務(wù)運(yùn)行。它把任務(wù)按照實時性要求分成中斷級、時鐘級、基本級三類,而且它們的優(yōu)先級依次遞減。優(yōu)先級越高,就越處于比特表的頂端位置。比特表是按照任務(wù)的優(yōu)先級排隊的,首先滿足實時性較強(qiáng)的中斷級和時鐘級,而不管實時性最低的基本級任務(wù)。這樣,時鐘級任務(wù)一定能得到即時有效的處理,其實時性可以得到較好的保障,基本級任務(wù)可以沒有時間限制。但是,時鐘級任務(wù)的實時性并不是完全能夠得到保障。下面舉例討論比特表算法的不足之處。

假定有表1所示的五種任務(wù),按照常規(guī)比特表算法根本無法設(shè)計出這樣的比特表。當(dāng)時鐘級的各級每次運(yùn)行時間之和沒有達(dá)到5ms時,比特表算法能夠很好地滿足系統(tǒng)實時性要求;然而,當(dāng)中斷級和時鐘級的每次運(yùn)行時間之和大于或者等于最高級實時性要求,更有甚者,當(dāng)有一個時鐘級任務(wù)的運(yùn)行時間超過最高級實時性要求時,比特表算法就會失效。因為常規(guī)的比特表算法要求,只要激活比特表中安排的中斷級和時鐘級任務(wù)就必須一次執(zhí)行完,否則,如果這個任務(wù)被中斷就無法再得到執(zhí)行。由于圖像處理的運(yùn)行時間為5ms,加上中斷級任務(wù)執(zhí)行時間,因此設(shè)計時隙必須大于5ms;而比特表的設(shè)計方法時隙只可能小于等于5ms(中斷級任務(wù)和實時性最高的時鐘級任務(wù)決定的)。所以,無論安排怎樣的比徨表都無法使任務(wù)D滿足實時性要求?;谶@兩種情況,本文提出一種用賦有優(yōu)先權(quán)的時間來填充比特表的算法,以改善這兩種情況。

1 比特表的改進(jìn)算法

這種改進(jìn)算法的關(guān)系在于把各任務(wù)劃分為若干時間片,然后再根據(jù)實時性要求填入比特表中。根據(jù)比特表的設(shè)計方法,時隙間隔定為5ms,總時隙數(shù)為LCM(10/5,20/5,30/5)=6。把各中斷級和時鐘級任務(wù)運(yùn)行時間的最大公約數(shù)定為時間片。即有如下計算公式:

T=GCD{Ti}

T為時間片,Ti為時鐘級和中斷級任務(wù)實時性要求,GCD(Greatest Common Divisor)求最大公約數(shù),LCM(Lowest Common Multiple)求最小公倍數(shù)。

本例中的時間片T=GCD{0.5,1,2.5,1,5}=0.5ms。(假設(shè)時鐘中斷處理時間為0.5ms)。

時間片的分配,必須遵循以下原則:

①滿足實時性要求;

②確保每一個時隙中所有分配的任務(wù)都必須完全運(yùn)行;

③均衡考慮CPU對各任務(wù)的運(yùn)行,優(yōu)先考慮時鐘級任務(wù)和中斷級任務(wù)。

按上述原則,中斷級任務(wù)分1個時間片,時鐘級1分配2個時間片,時鐘級2分配3個時間片,時鐘級3分配1個時間片,時鐘級4分配2個時間片,而將每個時隙剩余的時間分配給基本級任務(wù)。這樣,即使是在系統(tǒng)最繁忙的時候也有一個時間片分配給基本級任務(wù),從而彌補(bǔ)了比特表算法的不足。

綜上所述,設(shè)計圖1所示的比特表。

此比特表的時隙任務(wù)安排完全滿足實時性要求。A任務(wù)每時隙運(yùn)行1次,每時隙運(yùn)行2個時間片。A任務(wù)每5ms運(yùn)行1次。B任務(wù)每10ms運(yùn)行1次,C任務(wù)每 20ms運(yùn)行1次。由此可以得到各任務(wù)的啟動順序及執(zhí)行時間如圖2所示。

圖2 任務(wù)的啟動順序和運(yùn)行時間

圖2中,I表示時鐘中斷處理程序,它的優(yōu)先級最高。A、B、C、D為時鐘級任務(wù),其中A的優(yōu)先級較高。將I、A、B、C、D處理完后余下的時間留給基本級E。

2 程序設(shè)計值得注意的問題

在任務(wù)調(diào)度算法中,關(guān)鍵是如何確定就緒隊列、任務(wù)控制數(shù)據(jù)塊的數(shù)據(jù)結(jié)構(gòu)和解決資源沖突。就緒隊列指明了在某一時刻已就緒、可被執(zhí)行的任務(wù)隊列。在數(shù)據(jù)結(jié)構(gòu)上通??捎梦挥诚竦姆椒▉韺崿F(xiàn)。如系統(tǒng)的最多任務(wù)為32個,可采用4個字節(jié)的每一位來對應(yīng)人某個任務(wù)。若此位為“1”,則表明該任務(wù)就緒;若為“0”,則表明任務(wù)空閑。并且可規(guī)定低位所代表的任務(wù)優(yōu)先級高于高位所指示的任務(wù)。

某個任務(wù)投入運(yùn)行時需保護(hù)現(xiàn)場數(shù)據(jù),這些數(shù)據(jù)都存入一個地址固定的數(shù)據(jù)存儲區(qū),稱為任務(wù)控制數(shù)據(jù)塊。需保護(hù)的內(nèi)容應(yīng)按應(yīng)用程序的特點(diǎn)來決定。對于常用的 MCS51系列的單片機(jī)來說,現(xiàn)場保護(hù)數(shù)據(jù)一般應(yīng)包括PC、ACC、PSW、SP、DPTR等寄存器內(nèi)容。任務(wù)控制數(shù)據(jù)塊一般放在外部數(shù)據(jù)存儲器內(nèi)。為了查找方便,可以按任務(wù)號將各個任務(wù)數(shù)據(jù)塊的首地址編成一個一維表格,表格的每行對應(yīng)各任務(wù)數(shù)據(jù)塊數(shù)據(jù)結(jié)構(gòu)首地址,如圖3所示。

在任務(wù)調(diào)度程序中,還應(yīng)很好地解決資源的互斥問題,即保證不可共享的資源只被一個任務(wù)所訪問。在RTCS中,各任務(wù)間并非完全隔絕,它們相互合作、相互競爭。例如,某系統(tǒng)中數(shù)據(jù)顯示任務(wù)要定時顯示某數(shù)據(jù)區(qū)的數(shù)據(jù);數(shù)據(jù)計算任務(wù)也要在某種情況下計算、刷新此數(shù)據(jù)區(qū)內(nèi)容。在這里,數(shù)據(jù)計算任務(wù)在運(yùn)行時就不允許讓顯示任務(wù)中斷計算任務(wù);否則,有可能導(dǎo)致顯示的數(shù)據(jù)不正確。解決資源競爭的方法往往是在主程序中設(shè)置一標(biāo)志字節(jié)或標(biāo)志位。例如,顯示任務(wù)在運(yùn)行時首先判斷此標(biāo)志,若發(fā)現(xiàn)計算任務(wù)尚未完成,則不做任何工作直接退出任務(wù)。

3 小結(jié)

RTCS 中的實時性和并行性是非常重要的,但兩者之間有一定的矛盾。完全實現(xiàn)在兩大特性的重要手段就是,采用有效的任務(wù)調(diào)度算法程序來協(xié)調(diào)兩者之間的矛盾,從而保證系統(tǒng)的實時性和并行性。在簡單系統(tǒng)中,“按時間片循環(huán)”調(diào)度算法已能初步滿足要求;但在較復(fù)雜和要求較高的系統(tǒng)中,這顯然不滿足需要。基于BitMap 的調(diào)度算法能較好地滿足比較復(fù)雜系統(tǒng)的要求,而對于前面講到的系統(tǒng)中要求執(zhí)行時間長、實時性要求較高的任務(wù)而言,單純的BitMap算法無法滿足要求,這個時候我們提出將比特表的時隙細(xì)分成時間片進(jìn)行分配,這比BitMap按照任務(wù)進(jìn)行分配的算法更能解決復(fù)雜任務(wù)的實時性要求。只要有效地確定任務(wù)數(shù)目和數(shù)據(jù)結(jié)構(gòu),RTCS中的實時性和并行性就能得到有效提高。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6074

    文章

    45340

    瀏覽量

    663512
  • 控制系統(tǒng)
    +關(guān)注

    關(guān)注

    41

    文章

    6893

    瀏覽量

    113558
  • 數(shù)據(jù)采集
    +關(guān)注

    關(guān)注

    40

    文章

    7804

    瀏覽量

    119842
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    freertos關(guān)閉任務(wù)調(diào)度的方法

    #include \"FreeRTOS.h\" #include \"task.h\" /* 關(guān)閉任務(wù)調(diào)度 */ void
    發(fā)表于 11-17 06:47

    嵌入式實時操作系統(tǒng)的特點(diǎn)

    任務(wù)系統(tǒng)。 實時嵌入式操作系統(tǒng)與傳統(tǒng)的桌面操作系統(tǒng)相比,更注重對實時任務(wù)的響應(yīng)和精確
    發(fā)表于 11-13 06:30

    無刷直流電機(jī)雙閉環(huán)串級控制系統(tǒng)仿真研究

    Madlab進(jìn)行BLDC建模仿真的方法,并且也提出了很多的建模仿真方案。例如有研究人員提出采用節(jié)點(diǎn)電流法對電機(jī)控制系統(tǒng)進(jìn)行分析,通過列寫m函數(shù),建立BLDC控制系統(tǒng)真模型,這種方法實質(zhì)上是一種整體建模
    發(fā)表于 07-07 18:36

    無刷直流電機(jī)模糊PI控制系統(tǒng)建模與仿真

    。利用該模型進(jìn)行了電機(jī)動靜態(tài)性能的仿真研究,仿真結(jié)果與理論分析一致,表明讀方法建立的 BLDCM控制系統(tǒng)仿真模型合理、有效。該模型簡單、直觀、參數(shù)易于修改和替換,可方便地用于其他控制算法
    發(fā)表于 07-07 18:25

    無刷直流電機(jī)磁場定向控制系統(tǒng)研究

    控制策略及實現(xiàn)方法,并建立系統(tǒng)仿真模型,仿真表明基于FOC的BLDCM控制系統(tǒng)性能良好,轉(zhuǎn)矩脈動小。以STM32FI03B為核心設(shè)計了基于FOC策略的 BLDCM
    發(fā)表于 06-26 13:31

    三相開關(guān)磁阻電機(jī)直接轉(zhuǎn)矩控制系統(tǒng)研究

    分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~*附件:三相開關(guān)磁阻電機(jī)直接轉(zhuǎn)矩控制系統(tǒng)研究.pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第一時間告知,刪除內(nèi)容!
    發(fā)表于 06-13 09:35

    零延遲響應(yīng):安卓工控機(jī)如何用實時操作系統(tǒng)(RTOS)賦能工業(yè)控制

    在工業(yè)4.0時代,工業(yè)控制系統(tǒng)實時性的要求已突破毫秒級門檻,傳統(tǒng)操作系統(tǒng)任務(wù)調(diào)度延遲、中斷響應(yīng)不確定性等問題,難以滿足精密運(yùn)動
    的頭像 發(fā)表于 06-09 15:49 ?836次閱讀

    矩陣變換器-異步電機(jī)矢量控制系統(tǒng)仿真研究

    可點(diǎn)擊附件免費(fèi)獲取完整資料~~~*附件:矩陣變換器-異步電機(jī)矢量控制系統(tǒng)仿真研究.pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請第一時間告知,刪除內(nèi)容!
    發(fā)表于 06-04 14:48

    感應(yīng)電機(jī)滑模變結(jié)構(gòu)控制系統(tǒng)的半實物仿真

    結(jié)構(gòu)控制的感應(yīng)電機(jī)電流內(nèi)環(huán)控制策略,在分析半實物仿真機(jī)理的基礎(chǔ)上,搭建了滑模變結(jié)構(gòu)控制系統(tǒng)實時仿真模型,實現(xiàn)
    發(fā)表于 05-28 15:45

    直流電機(jī)控制方法的Matlab仿真研究

    速度控制模型,以提高無刷直流電機(jī)速度控制系統(tǒng)的穩(wěn)定性和抗干擾能力 。使用 Matlab/Simulink 工具箱建立無刷直流電機(jī)的仿真模型,研究結(jié)果表明,模糊自適應(yīng) PID 算法能夠使
    發(fā)表于 03-27 12:15

    排水泵站遠(yuǎn)程智能控制系統(tǒng)

    排水泵站遠(yuǎn)程智能控制系統(tǒng)作為現(xiàn)代城市水務(wù)管理的重要組成部分,正逐步改變著傳統(tǒng)泵站運(yùn)維管理的面貌。該系統(tǒng)通過集成物聯(lián)網(wǎng)技術(shù)、云計算、數(shù)據(jù)分析以及邊緣計算算法,對排水泵站的遠(yuǎn)程監(jiān)控、智能調(diào)度
    的頭像 發(fā)表于 03-21 16:01 ?616次閱讀

    智能電動輪椅控制系統(tǒng)研究與設(shè)計

    控制系統(tǒng),闡述了硬件系統(tǒng)的設(shè)計與實現(xiàn),完成了軟件系統(tǒng)軟件平臺的搭建,并針對電機(jī)速度不穩(wěn)定的問題,提出了一種基于線性自抗擾和模糊PID 控制
    發(fā)表于 03-07 15:17

    鴻道Intewell操作系統(tǒng)為半導(dǎo)體行業(yè)打造高可靠實時控制系統(tǒng)

    。在半導(dǎo)體制造中,Windows/Linux系統(tǒng)可用于運(yùn)行人機(jī)界面(HMI)、數(shù)據(jù)處理和可視化等非實時任務(wù),而鴻道Intewell實時系統(tǒng)則專注于設(shè)備的精確
    的頭像 發(fā)表于 02-08 16:13 ?786次閱讀
    鴻道Intewell操作<b class='flag-5'>系統(tǒng)</b>為半導(dǎo)體行業(yè)打造高可靠<b class='flag-5'>實時</b><b class='flag-5'>控制系統(tǒng)</b>

    DAC1280 TDATA引腳輸入的比特流,怎么產(chǎn)生這個比特流,算法是什么?

    我想請問下關(guān)于DAC1280的TDATA引腳輸入的比特流的問題: 1,怎么產(chǎn)生這個比特流,算法是什么? 2,怎么控制輸出信號的頻率? 對您的回答感激不盡,謝謝。
    發(fā)表于 01-06 06:21

    自動控制系統(tǒng)與物聯(lián)網(wǎng)的結(jié)合 自動控制系統(tǒng)實時監(jiān)測技術(shù)

    自動控制系統(tǒng)提供了更豐富的數(shù)據(jù)支持,而自動控制系統(tǒng)則利用這些數(shù)據(jù)實現(xiàn)了更精確、更智能的控制。 物聯(lián)網(wǎng)的數(shù)據(jù)支持 : 物聯(lián)網(wǎng)通過連接各種設(shè)備和傳感器,能夠
    的頭像 發(fā)表于 12-18 10:00 ?1426次閱讀