<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 基于時(shí)間觸發(fā)模式的電子控制系統設計

基于時(shí)間觸發(fā)模式的電子控制系統設計

——
作者:黃瑞龍 廖曉文 時(shí)間:2007-10-29 來(lái)源:嵌入式技術(shù)網(wǎng) 收藏
引言

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

1 時(shí)間觸發(fā)系統的任務(wù)調度器

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

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

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

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




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




3 應用實(shí)例

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

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





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




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

結 語(yǔ)

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


關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>