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

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

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

電子控制系統(tǒng)中時(shí)間觸發(fā)合作式調(diào)度器的應(yīng)用研究

電子設(shè)計(jì) ? 來(lái)源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)應(yīng)用 ? 作者:黃瑞龍,廖曉文 ? 2020-12-24 10:13 ? 次閱讀

電子控制系統(tǒng)一般都是實(shí)時(shí)系統(tǒng),常需處理許多并發(fā)事件的輸入數(shù)據(jù)流。這些事件的到來(lái)次序和幾率通常是不可預(yù)測(cè)的,而且還要求系統(tǒng)必須在事先設(shè)定好的時(shí)限內(nèi)做出相應(yīng)的響應(yīng)。對(duì)于如何控制系統(tǒng)的復(fù)雜行為,普遍采用的是事件觸發(fā)方案,即系統(tǒng)的所有行為響應(yīng)系統(tǒng)外部事件而執(zhí)行。然而,中斷丟失與事件觸發(fā)系統(tǒng)的開(kāi)銷(xiāo)是人們經(jīng)常忽略的一個(gè)問(wèn)題,文獻(xiàn)討論了一個(gè)這樣的例子:一個(gè)包含27個(gè)任務(wù)、采用RM調(diào)度算法的事件觸發(fā)系統(tǒng),CPU的實(shí)際利用率僅為18%。同時(shí),電子控制系統(tǒng)也可以看作是一個(gè)能實(shí)時(shí)采集一組定義好的輸入值,同時(shí)在預(yù)先確定的時(shí)間間隔給出一個(gè)正確輸出的實(shí)時(shí)系統(tǒng)。為了滿(mǎn)足安全、低成本及程序盡可能簡(jiǎn)單等苛刻要求,電子控制系統(tǒng)的開(kāi)發(fā)最終走向時(shí)間觸發(fā)結(jié)構(gòu)。時(shí)間觸發(fā)意味著所有的與輸入采樣、計(jì)算及輸出結(jié)果等相關(guān)的動(dòng)作在預(yù)先給定的時(shí)間前執(zhí)行,因而能保證準(zhǔn)確的調(diào)度時(shí)間。

1 時(shí)間觸發(fā)系統(tǒng)的任務(wù)調(diào)度器

調(diào)度器是一種用于電子控制系統(tǒng)的運(yùn)行環(huán)境,也可看作是一個(gè)簡(jiǎn)單的操作系統(tǒng)。在電子控制系統(tǒng)中使用調(diào)度器可以縮短開(kāi)發(fā)時(shí)間,提高軟件的模塊化程度。調(diào)度器具有合作式與搶占式兩種形式。如果一個(gè)被“喚醒”的高優(yōu)先級(jí)任務(wù)可以打斷其他正在運(yùn)行的低優(yōu)先級(jí)任務(wù),則調(diào)度器是搶占式的;反之,則是合作式的。由于其應(yīng)用背景的特殊性,電子控制系統(tǒng)運(yùn)行的任務(wù)絕大多數(shù)是周期性任務(wù)(如周期性的數(shù)據(jù)采集任務(wù)、LED顯示刷新任務(wù)等),并且任務(wù)的就緒時(shí)間、開(kāi)始時(shí)間、執(zhí)行時(shí)間和截止期限等信息均可預(yù)先知道。因此,可以采用基于時(shí)間觸發(fā)形式的合作式調(diào)度器,即任務(wù)在特定時(shí)刻以周期性或單次方式被調(diào)度。

電子控制系統(tǒng)中時(shí)間觸發(fā)合作式調(diào)度器的應(yīng)用研究

2 時(shí)間觸發(fā)合作式調(diào)度器的機(jī)制

時(shí)間觸發(fā)合作式調(diào)度器通常通過(guò)一個(gè)硬件定時(shí)器來(lái)實(shí)現(xiàn),所有的任務(wù)都是由時(shí)間觸發(fā)的,這也意味著除了定時(shí)器中斷以外,再也沒(méi)有其他形式的中斷。硬件定時(shí)器將被設(shè)置為產(chǎn)生一個(gè)周期中斷信號(hào),這個(gè)中斷信號(hào)的頻率約為1kHz。

時(shí)間觸發(fā)合作式調(diào)度器的主要功能就是喚醒在預(yù)先確定好時(shí)間執(zhí)行的任務(wù)。在工作時(shí)間,調(diào)度器檢查靜態(tài)的任務(wù)鏈表,根據(jù)任務(wù)的周期判斷是否有任務(wù)需執(zhí)行,如果有則立即執(zhí)行任務(wù);任務(wù)執(zhí)行完后繼續(xù)檢查任務(wù)鏈表,重復(fù)上一個(gè)過(guò)程。完成鏈表檢查后,由于節(jié)能的關(guān)系,CPU進(jìn)入休眠狀態(tài),直到下一個(gè)時(shí)鐘節(jié)拍的到來(lái)。其任務(wù)調(diào)度機(jī)制如圖1所示。由于合作式調(diào)度器能保證在同一時(shí)刻,系統(tǒng)中只有一個(gè)任務(wù)被觸發(fā),而且在任何時(shí)刻系統(tǒng)中都可以保證有任務(wù)在執(zhí)行。這樣,系統(tǒng)的使用效率得到了提高。在分布式系統(tǒng)中,各個(gè)節(jié)點(diǎn)間存在著時(shí)間的漂移(由于每個(gè)節(jié)點(diǎn)所處的環(huán)境以及時(shí)鐘晶振的制作工藝等存在差異),所以必須動(dòng)態(tài)地對(duì)節(jié)點(diǎn)時(shí)鐘進(jìn)行調(diào)整,使整個(gè)系統(tǒng)的各個(gè)節(jié)點(diǎn)時(shí)鐘能夠同步。

合作式調(diào)度器可靠而且可預(yù)測(cè)的主要原因是在任一時(shí)刻只有一個(gè)任務(wù)是活動(dòng)的,這個(gè)任務(wù)運(yùn)行直到完成,然后再由調(diào)度器來(lái)控制。如果搶占式調(diào)度,有多個(gè)活動(dòng)任務(wù),執(zhí)行“上下文切換”及“關(guān)鍵段保護(hù)”等將增加系統(tǒng)的開(kāi)銷(xiāo)。圖2比較了使用合作式調(diào)度器與搶占式調(diào)度器設(shè)計(jì)巡航系統(tǒng)的情況??梢钥吹?,采用合作式調(diào)度模式可以精簡(jiǎn)所需的代碼行數(shù),節(jié)省程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器空間。同時(shí),許多研究表明,相對(duì)于搶占式調(diào)度器,除任務(wù)級(jí)的響應(yīng)時(shí)間快很多外,合作式調(diào)度器還具有很多優(yōu)點(diǎn)。例如,文獻(xiàn)指出與搶占式替代方案相比,合作式調(diào)度有以下四個(gè)優(yōu)點(diǎn):簡(jiǎn)單,可減小系統(tǒng)開(kāi)銷(xiāo),容易測(cè)試以及更容易讓權(quán)威機(jī)構(gòu)接受這種形式的調(diào)度。

3 應(yīng)用實(shí)例

太陽(yáng)跟蹤系統(tǒng)是針對(duì)太陽(yáng)能空調(diào)、高效太陽(yáng)能光伏發(fā)電、高效太陽(yáng)能熱水器等需要對(duì)太陽(yáng)進(jìn)行實(shí)時(shí)跟蹤的應(yīng)用領(lǐng)域設(shè)計(jì)的,通過(guò)使設(shè)備的某一面時(shí)刻與太陽(yáng)光保持垂直,獲取最大的太陽(yáng)能量。

本文涉及的跟蹤系統(tǒng)采用傳感器跟蹤與天文定位跟蹤相結(jié)合的模式。即通過(guò)當(dāng)?shù)氐慕?jīng)緯度與當(dāng)前日期計(jì)算日出、日落時(shí)間,然后根據(jù)日落、日出的時(shí)間差及電機(jī)的步距角,每隔一段時(shí)間輸出一個(gè)脈沖控制設(shè)備自動(dòng)往西。同時(shí),根據(jù)光電傳感器輸入,每隔一段時(shí)間控制電機(jī)在東、西、南、北四個(gè)方向自動(dòng)調(diào)節(jié)設(shè)備,使設(shè)備與太陽(yáng)光保持垂直。圖3給出了太陽(yáng)跟蹤器上下文環(huán)境圖,給出了系統(tǒng)與傳感器和執(zhí)行器接口的簡(jiǎn)單描述。由圖3可知實(shí)現(xiàn)系統(tǒng)功能所需的任務(wù)、任務(wù)周期及執(zhí)行時(shí)間如表1所列。

在表1所列的任務(wù)中,Task2每120 ms執(zhí)行一次鍵盤(pán)掃描,用于設(shè)置當(dāng)前時(shí)間、經(jīng)緯度及保存手動(dòng)調(diào)節(jié)設(shè)備的輸入。Task6根據(jù)手動(dòng)調(diào)節(jié)設(shè)備輸入及光電傳感器“ target=_blank》傳感器的輸入調(diào)節(jié)設(shè)備方位。Task7計(jì)算日出日落時(shí)間,每24小時(shí)執(zhí)行一次。Task3、Task4、Task5與Task6,采用swith_case結(jié)構(gòu),不在運(yùn)行時(shí)間范圍內(nèi),程序直接跳出,否則運(yùn)行相應(yīng)的任務(wù),Task8在到達(dá)日落時(shí)間或設(shè)備觸及西方向限位器時(shí)起作用,控制電機(jī)使設(shè)備對(duì)準(zhǔn)太陽(yáng)升起位置。

根據(jù)合作式調(diào)度器的原理與各任務(wù)的周期,設(shè)置定時(shí)器每4 ms產(chǎn)生一個(gè)周期中斷信號(hào)。因?yàn)橛卸鄠€(gè)任務(wù)的執(zhí)行時(shí)間超過(guò)4 ms,Task1無(wú)法按規(guī)定的頻率執(zhí)行。此外,有多個(gè)任務(wù)的最壞執(zhí)行時(shí)間超過(guò)30 ms,使鍵盤(pán)掃描的靈敏度受到影響。因此采用直接將Task1、Task2包含進(jìn)定時(shí)器中斷服務(wù)子程序的方法,從而使所有任務(wù)的周期及執(zhí)行時(shí)間均能滿(mǎn)足系統(tǒng)任務(wù)可調(diào)度的要求。

結(jié)語(yǔ)

在工程中采用事件觸發(fā)模式很大程度上會(huì)增加系統(tǒng)的復(fù)雜性,導(dǎo)致龐大的代碼結(jié)構(gòu)。這樣的代碼長(zhǎng)度及復(fù)雜性不適合普通開(kāi)發(fā)人員構(gòu)建,而商業(yè)實(shí)時(shí)操作系統(tǒng)往往價(jià)格昂貴,并且需要很大的操作系統(tǒng)開(kāi)銷(xiāo)。采用基于時(shí)間觸發(fā)模式開(kāi)發(fā)系統(tǒng)可以滿(mǎn)足實(shí)時(shí)、簡(jiǎn)單、可預(yù)測(cè)性等工程要求。在應(yīng)用實(shí)例中也可以看到,對(duì)于任務(wù)周期與執(zhí)行時(shí)間相差懸殊的任務(wù),為滿(mǎn)足可調(diào)度性的要求,將需頻繁執(zhí)行的短任務(wù)加入定時(shí)器中斷服務(wù)子程序的方法延長(zhǎng)了中斷處理的時(shí)間,同時(shí)削弱了系統(tǒng)實(shí)時(shí)響應(yīng)能力及可預(yù)測(cè)能力。此外,也可以通過(guò)將執(zhí)行時(shí)間長(zhǎng)的任務(wù)分解成幾個(gè)執(zhí)行時(shí)間短的任務(wù)來(lái)滿(mǎn)足任務(wù)可調(diào)度性。相對(duì)于事件觸發(fā)模式,時(shí)間觸發(fā)模式對(duì)工程技術(shù)人員的要求更高。

責(zé)任編輯:gt

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

    關(guān)注

    242

    文章

    23308

    瀏覽量

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

    關(guān)注

    41

    文章

    6635

    瀏覽量

    110687
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6850

    瀏覽量

    123432
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【安富萊】【μCOS-III教程】第2章 基于時(shí)間觸發(fā)合作...

    ,每個(gè)時(shí)刻只有一個(gè)任務(wù)可以執(zhí)行,這些任務(wù)間不支持被強(qiáng)占,直到該任務(wù)自愿放棄 CPU 的控制權(quán)。下面要說(shuō)的合作調(diào)度特性就是摘自
    發(fā)表于 12-29 16:26

    【安富萊】【RTX操作系統(tǒng)教程】第10章 任務(wù)調(diào)度-搶占,時(shí)間片和合作

    第10章 任務(wù)調(diào)度-搶占時(shí)間片和合作 本章教程為大家將介紹RTX操作系統(tǒng)支持的任務(wù)
    發(fā)表于 01-25 13:57

    轉(zhuǎn):第14章 任務(wù)調(diào)度—搶占,時(shí)間片和合作

    本章教程為大家將介紹FreeRTOS操作系統(tǒng)支持的任務(wù)調(diào)度方式:搶占,時(shí)間片和合作,這部分算
    發(fā)表于 08-30 09:55

    第10章 任務(wù)調(diào)度-搶占,時(shí)間片和合作

    什么是調(diào)度10.3 搶占調(diào)度10.4 時(shí)間調(diào)度
    發(fā)表于 10-04 18:11

    怎樣設(shè)計(jì)電子控制系統(tǒng)混合調(diào)度?

    本文應(yīng)用時(shí)間觸發(fā)模式設(shè)計(jì)了液壓制動(dòng)能量再生系統(tǒng)電子控制系統(tǒng)混合
    發(fā)表于 05-13 07:07

    時(shí)間觸發(fā)嵌入系統(tǒng)設(shè)計(jì)模式(使用8051微控制器開(kāi)發(fā)可靠應(yīng)用

    時(shí)間觸發(fā)嵌入系統(tǒng)設(shè)計(jì)模式:使用8051微控制器開(kāi)發(fā)可靠應(yīng)用主要關(guān)注使用軟件模式迅速地開(kāi)發(fā)時(shí)間
    發(fā)表于 10-28 23:20 ?688次下載
    <b class='flag-5'>時(shí)間</b><b class='flag-5'>觸發(fā)</b>嵌入<b class='flag-5'>式</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)模式(使用8051微<b class='flag-5'>控制器</b>開(kāi)發(fā)可靠應(yīng)用

    網(wǎng)絡(luò)控制系統(tǒng)混合調(diào)度算法的研究

    網(wǎng)絡(luò)控制系統(tǒng)的性能與信息調(diào)度有關(guān),而以往的調(diào)度算法大多把時(shí)間屬性作為確立優(yōu)先級(jí)的依據(jù),無(wú)法反映出消息的重要性。該文在最大誤差優(yōu)先算法的基礎(chǔ)上,提出以最大優(yōu)先變
    發(fā)表于 04-07 08:48 ?17次下載

    PLC在水電機(jī)組自動(dòng)化控制系統(tǒng)應(yīng)用研究

    介紹了在水電廠微機(jī)監(jiān)控系統(tǒng)的現(xiàn)地控制系統(tǒng),可編程控制器PLC在機(jī)組順序自動(dòng)控制、有功和無(wú)功的負(fù)荷調(diào)整以及運(yùn)行方式轉(zhuǎn)換等方面的
    發(fā)表于 06-27 10:16 ?26次下載

    SVPWM算法在變頻空調(diào)控制系統(tǒng)應(yīng)用研究

    SVPWM算法在變頻空調(diào)控制系統(tǒng)應(yīng)用研究
    發(fā)表于 04-14 17:06 ?9次下載

    觸發(fā)器保持評(píng)教系統(tǒng)數(shù)據(jù)完整性的應(yīng)用研究_符策銳

    觸發(fā)器保持評(píng)教系統(tǒng)數(shù)據(jù)完整性的應(yīng)用研究_符策銳
    發(fā)表于 03-19 11:28 ?0次下載

    基于時(shí)間觸發(fā)模式的電子控制系統(tǒng)設(shè)計(jì)

    引 言 電子控制系統(tǒng)一般都是實(shí)時(shí)系統(tǒng),常需處理許多并發(fā)事件的輸入數(shù)據(jù)流這些事件的到來(lái)次序和幾率通常是不可預(yù)測(cè)的,而且還要求系統(tǒng)必須在事先設(shè)定好的時(shí)限內(nèi)做出相應(yīng)的響應(yīng)[1]。 對(duì)于如何
    發(fā)表于 12-02 09:13 ?546次閱讀
     基于<b class='flag-5'>時(shí)間</b><b class='flag-5'>觸發(fā)</b>模式的<b class='flag-5'>電子</b><b class='flag-5'>控制系統(tǒng)</b>設(shè)計(jì)

    采用基于時(shí)間觸發(fā)形式的合作調(diào)度的開(kāi)發(fā)及應(yīng)用分析

    電子控制系統(tǒng)一般都是實(shí)時(shí)系統(tǒng),常需處理許多并發(fā)事件的輸入數(shù)據(jù)流。這些事件的到來(lái)次序和幾率通常是不可預(yù)測(cè)的,而且還要求系統(tǒng)必須在事先設(shè)定好的時(shí)限內(nèi)做出相應(yīng)的響應(yīng)。對(duì)于如何
    的頭像 發(fā)表于 04-23 08:06 ?1956次閱讀
    采用基于<b class='flag-5'>時(shí)間</b><b class='flag-5'>觸發(fā)</b>形式的<b class='flag-5'>合作</b><b class='flag-5'>式</b><b class='flag-5'>調(diào)度</b><b class='flag-5'>器</b>的開(kāi)發(fā)及應(yīng)用分析

    基于時(shí)間觸發(fā)多任務(wù)調(diào)度的嵌入系統(tǒng)設(shè)計(jì)與應(yīng)用

    和技術(shù)上的考慮,微控制器往往不會(huì)選取其進(jìn)行設(shè)計(jì)。在實(shí)際應(yīng)用,往往會(huì)面臨同時(shí)應(yīng)付多外設(shè)、多任務(wù)的情況,則對(duì)它們的相互調(diào)度必不可少。時(shí)間觸發(fā)
    發(fā)表于 01-25 16:37 ?2141次閱讀
    基于<b class='flag-5'>時(shí)間</b><b class='flag-5'>觸發(fā)</b>多任務(wù)<b class='flag-5'>調(diào)度</b><b class='flag-5'>器</b>的嵌入<b class='flag-5'>式</b><b class='flag-5'>系統(tǒng)</b>設(shè)計(jì)與應(yīng)用

    探討電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)可靠性的應(yīng)用研究

    探討電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)可靠性的應(yīng)用研究(通信電源技術(shù)期刊是國(guó)家級(jí)嗎)-探討電網(wǎng)調(diào)度自動(dòng)化系統(tǒng)可靠性的應(yīng)用
    發(fā)表于 09-23 14:01 ?2次下載
    探討電網(wǎng)<b class='flag-5'>調(diào)度</b>自動(dòng)化<b class='flag-5'>系統(tǒng)</b>可靠性的<b class='flag-5'>應(yīng)用研究</b>

    恒壓點(diǎn)焊控制系統(tǒng)的優(yōu)化與應(yīng)用研究

    恒壓點(diǎn)焊控制系統(tǒng)的優(yōu)化與應(yīng)用研究,旨在提高焊接質(zhì)量和生產(chǎn)效率,降低生產(chǎn)成本。 ### 恒壓點(diǎn)焊控制系統(tǒng)的基本原理 恒壓點(diǎn)焊控制系統(tǒng)的原理在于通過(guò)
    的頭像 發(fā)表于 12-21 17:07 ?152次閱讀
    恒壓點(diǎn)焊<b class='flag-5'>控制系統(tǒng)</b>的優(yōu)化與<b class='flag-5'>應(yīng)用研究</b>