實(shí)時(shí)多任務(wù)內(nèi)核在勵(lì)磁調(diào)節(jié)器研發(fā)中的應(yīng)用_第1頁(yè)
實(shí)時(shí)多任務(wù)內(nèi)核在勵(lì)磁調(diào)節(jié)器研發(fā)中的應(yīng)用_第2頁(yè)
實(shí)時(shí)多任務(wù)內(nèi)核在勵(lì)磁調(diào)節(jié)器研發(fā)中的應(yīng)用_第3頁(yè)
實(shí)時(shí)多任務(wù)內(nèi)核在勵(lì)磁調(diào)節(jié)器研發(fā)中的應(yīng)用_第4頁(yè)
實(shí)時(shí)多任務(wù)內(nèi)核在勵(lì)磁調(diào)節(jié)器研發(fā)中的應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、實(shí)時(shí)多任務(wù)內(nèi)核在勵(lì)磁調(diào)節(jié)器研發(fā)中的應(yīng)用摘要:本文介紹了實(shí)時(shí)多任務(wù)內(nèi)核的基本概念以及利用其進(jìn)行開(kāi)發(fā)的突出優(yōu)點(diǎn),并以清華大學(xué)電力系統(tǒng)國(guó)家重點(diǎn)實(shí)驗(yàn)室勵(lì)磁調(diào)節(jié)器的開(kāi)發(fā)為例,詳細(xì)介紹了其軟件的設(shè)計(jì)方案:論文著重討論了應(yīng)該根據(jù)什么樣的原則將目標(biāo)系統(tǒng)劃分為相對(duì)獨(dú)立的任務(wù)模塊,如何賦予每個(gè)任務(wù)一定的優(yōu)先級(jí),提供一個(gè)將嵌入式實(shí)時(shí)多任務(wù)內(nèi)核置入目標(biāo)系統(tǒng)的比較具體的方法。關(guān)鍵詞:實(shí)時(shí)多任務(wù)內(nèi)核任務(wù)調(diào)度勵(lì)磁調(diào)節(jié)器一引言在控制和信息技術(shù)先進(jìn)的國(guó)家,實(shí)時(shí)系統(tǒng)的開(kāi)發(fā)和使用已經(jīng)相當(dāng)普及了。將實(shí)時(shí)多任務(wù)內(nèi)核引入嵌入式應(yīng)用系統(tǒng),可以說(shuō)是信息、控制領(lǐng)域的一次革命,它先進(jìn)的開(kāi)發(fā)思想和優(yōu)良的性能是非常值得我們學(xué)習(xí)和借鑒的。采用實(shí)時(shí)內(nèi)核

2、能夠大大提高控制產(chǎn)品的研制效率,縮短開(kāi)發(fā)時(shí)間,更有利于多人的分工協(xié)作,這些優(yōu)點(diǎn)將促進(jìn)它在國(guó)內(nèi)更快的推廣。大型發(fā)電機(jī)組的勵(lì)磁控制是提高電力系統(tǒng)安全穩(wěn)定性的最有效且經(jīng)濟(jì)的手段。隨著三峽電站的建設(shè)以及全國(guó)電力系統(tǒng)的聯(lián)網(wǎng),我國(guó)的電網(wǎng)必然是一個(gè)帶有復(fù)雜外部干擾和參數(shù)不確定性的非線性大系統(tǒng),如何設(shè)計(jì)分散的控制裝置使系統(tǒng)對(duì)外部及內(nèi)部的不確定性具有強(qiáng)魯棒性是保證系統(tǒng)安全穩(wěn)定運(yùn)行的一項(xiàng)重大課題。但是,真正要運(yùn)用非線性魯棒控制策略取得效益,往往對(duì)數(shù)字式勵(lì)磁調(diào)節(jié)器的運(yùn)算控制能力提出很高的要求。而現(xiàn)在的勵(lì)磁調(diào)節(jié)器卻在這方面有明顯不足。因此,提高勵(lì)磁調(diào)節(jié)器的運(yùn)算速度和運(yùn)算能力,提高它的實(shí)時(shí)處理能力,縮短控制周期,是研究

3、和設(shè)計(jì)新一代勵(lì)磁調(diào)節(jié)器的重點(diǎn)之一。本文將以清華大學(xué)國(guó)家電力系統(tǒng)重點(diǎn)實(shí)驗(yàn)室型勵(lì)磁調(diào)節(jié)器的系統(tǒng)改造方案為實(shí)例,說(shuō)明如何有效的將文張秀廷黎雄林貴臣嵌入式實(shí)時(shí)多任務(wù)內(nèi)核應(yīng)用到一個(gè)目標(biāo)系統(tǒng)中。希望能通過(guò)這個(gè)實(shí)例提供將嵌入式實(shí)時(shí)多任務(wù)內(nèi)核置入目標(biāo)系統(tǒng)的一個(gè)比較具體的方法。二實(shí)時(shí)多任務(wù)內(nèi)核的基本特征實(shí)時(shí)多任務(wù)內(nèi)核是實(shí)時(shí)操作系統(tǒng)的一個(gè)派生產(chǎn)物。它沒(méi)有操作系統(tǒng)的內(nèi)存管理、文件系統(tǒng)等龐大內(nèi)容,它所具有的是實(shí)時(shí)操作系統(tǒng)中最為重要的內(nèi)容,即多任務(wù)實(shí)時(shí)調(diào)度和任務(wù)的定時(shí)和同步操作。實(shí)時(shí)內(nèi)核分為兩種:非搶占式內(nèi)核和搶占式內(nèi)核。是一個(gè)搶占式實(shí)時(shí)多任務(wù)內(nèi)核。它是的縮寫(xiě),年美國(guó)工程師試圖為位單片機(jī)開(kāi)發(fā)一個(gè)微小但實(shí)用的內(nèi)核,因此而

4、誕生,并且其源代碼已在上公開(kāi)。如上所述,僅僅是一個(gè)內(nèi)核,而不是一種新的操作系統(tǒng),它沒(méi)有操作系統(tǒng)的存儲(chǔ)器管理和文件系統(tǒng)這兩部分,而且關(guān)于進(jìn)程、進(jìn)程調(diào)度和進(jìn)程間通訊的內(nèi)容也較操作系統(tǒng)大為簡(jiǎn)化,減少了內(nèi)核本身的代碼量,降低了應(yīng)用的復(fù)雜程度,又保留了實(shí)時(shí)多任務(wù)的基本特征,因此特別適合于嵌入式的應(yīng)用方式。內(nèi)核的所有課題都是圍繞任務(wù)展開(kāi)的。每個(gè)任務(wù)代表了用戶需要目標(biāo)系統(tǒng)來(lái)執(zhí)行的一項(xiàng)或幾項(xiàng)功能,在設(shè)計(jì)開(kāi)始階段就應(yīng)該將系統(tǒng)的設(shè)計(jì)目標(biāo)劃分為多個(gè)相互間相對(duì)獨(dú)立的任務(wù)。任務(wù)都有對(duì)應(yīng)的優(yōu)先級(jí),高優(yōu)先級(jí)的任務(wù)相對(duì)低優(yōu)先級(jí)的任務(wù)在占用方面有更多的特權(quán)。在設(shè)計(jì)目標(biāo)系統(tǒng)時(shí),就應(yīng)使最重要的、不應(yīng)該被中止的任務(wù)具有最高的優(yōu)先級(jí)。

5、每個(gè)任務(wù)有種狀態(tài):休眠、就緒、運(yùn)行、等待、中斷。內(nèi)核為實(shí)時(shí)多任務(wù)應(yīng)用程序提供任務(wù)調(diào)度和轉(zhuǎn)換、任務(wù)間通信、定時(shí)器等服務(wù),并作為系統(tǒng)調(diào)用提供給任務(wù)使用。實(shí)時(shí)內(nèi)核以事件為基礎(chǔ)、根據(jù)任務(wù)執(zhí)行狀態(tài)對(duì)任務(wù)進(jìn)行切換,任務(wù)的狀態(tài)也隨之相應(yīng)改變。在實(shí)時(shí)多任務(wù)系統(tǒng)中,內(nèi)存中存在多個(gè)任務(wù)控制塊以及各2004 . 10T ECHNOLOGY 技術(shù)前沿個(gè)任務(wù)獨(dú)立的私有堆棧。進(jìn)行任務(wù)切換首先要保存寄存器內(nèi)容到當(dāng)前任務(wù)堆棧,將堆棧指針保存到當(dāng)前的任務(wù)控制塊中,然后從新的任務(wù)控制塊中裝載堆棧指針,并將新任務(wù)的上下文裝載到寄存器中。這樣就從一個(gè)任務(wù)轉(zhuǎn)換到另一個(gè)任務(wù)運(yùn)行。任務(wù)使用實(shí)時(shí)內(nèi)核提供的定時(shí)器系統(tǒng)調(diào)用,可以保持休眠狀態(tài)一段

6、時(shí)間,或者等待一段時(shí)間后成為就緒狀態(tài)。在實(shí)時(shí)嵌入式系統(tǒng)中,外部中斷事件產(chǎn)生的任務(wù)具有高優(yōu)先級(jí),因而以搶占方式獲得控制權(quán)。影響實(shí)時(shí)內(nèi)核性能的幾個(gè)主要因素為了評(píng)價(jià)一個(gè)實(shí)時(shí)系統(tǒng)的整體性能如何,是否能夠穩(wěn)定、高效的運(yùn)行,通常可以從以下幾個(gè)方面考慮:這些因素不僅適用于,它們可用于評(píng)價(jià)任何嵌入式實(shí)時(shí)內(nèi)核。任務(wù)切換時(shí)間任務(wù)切換時(shí)間通常只與的結(jié)構(gòu)有關(guān)。各種不同微處理器的在保存現(xiàn)場(chǎng)時(shí)入棧的寄存器數(shù)目各不相同,因此其需要執(zhí)行的指令數(shù)目有較大差異,而且不同的總線時(shí)鐘頻率也不一樣,這些都是決定任務(wù)切換時(shí)間的因素。中斷響應(yīng)速度這是決定該內(nèi)核實(shí)時(shí)性的一個(gè)主要因素,其意義為在最壞的情況下,內(nèi)核響應(yīng)一個(gè)中斷需要多少時(shí)間。在此

7、時(shí)間內(nèi),保證所有的中斷請(qǐng)求都能得到處理。確定性對(duì)于實(shí)時(shí)內(nèi)核,確定性是其基本要求。具體的說(shuō),就是其所有的操作,即任務(wù)調(diào)度、同步和通訊等的結(jié)果不隨系統(tǒng)中任務(wù)的數(shù)目而變化。而且,中,除了時(shí)鐘中斷的處理外,其它操作的執(zhí)行時(shí)間也與任務(wù)的數(shù)目無(wú)關(guān),各操作針對(duì)某個(gè)來(lái)說(shuō)所需的時(shí)間都是明確清楚的。三、勵(lì)磁調(diào)節(jié)器的軟件設(shè)計(jì)軟件設(shè)計(jì)的總體思路以及任務(wù)劃分軟件功能描述及多任務(wù)功能劃分為實(shí)現(xiàn)勵(lì)磁調(diào)節(jié)器的功能,軟件必須實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)采集,脈沖發(fā)生,控制規(guī)律的計(jì)算,系統(tǒng)定時(shí)及時(shí)鐘,數(shù)碼管顯示的更新,鍵盤(pán)響應(yīng),上位機(jī)通訊接口,系統(tǒng)通訊接口等幾個(gè)模塊,其中前面三個(gè)模塊的功能與時(shí)間(或系統(tǒng)定時(shí))密切相關(guān)。下面將功能具體化、模塊化:

8、完成一次采樣,通道采樣數(shù)據(jù)同時(shí)采樣保持。實(shí)時(shí)要求:很高采用六相脈沖發(fā)生電路,即約完成一次2004 . 10脈沖發(fā)送。實(shí)時(shí)要求:很高完成一次控制規(guī)律的計(jì)算對(duì)于板的運(yùn)算能力,曾經(jīng)作過(guò)測(cè)試。對(duì)于非線性魯棒勵(lì)磁控制規(guī)律,僅用微秒即可完成運(yùn)算,遠(yuǎn)遠(yuǎn)優(yōu)于普通(如等)。實(shí)時(shí)要求:很高完成一次系統(tǒng)時(shí)間修正維護(hù)了一個(gè)時(shí)鐘,記錄了當(dāng)前的年、月、日、時(shí)、分、秒。修改當(dāng)前時(shí)鐘是每進(jìn)行一次。時(shí)鐘維護(hù)的實(shí)時(shí)性直接關(guān)系到系統(tǒng)時(shí)鐘的準(zhǔn)確性,因此,該模塊的實(shí)時(shí)性要求:很高控制參數(shù)的讀取和存儲(chǔ)每進(jìn)行一次每讀一次控制參數(shù),并將其保存到數(shù)據(jù)存儲(chǔ)器中。實(shí)時(shí)要求:一般上位機(jī)數(shù)據(jù)發(fā)送定時(shí)向上位機(jī)發(fā)送當(dāng)前系統(tǒng)狀態(tài),并針對(duì)上位機(jī)不同命令,將處

9、理結(jié)果送回上位機(jī)。這里是主發(fā)送設(shè)備,不用擔(dān)心發(fā)送過(guò)程中出現(xiàn)丟失數(shù)據(jù)的情況,所以該模塊實(shí)時(shí)性要求:一般上位機(jī)命令接收上位機(jī)發(fā)送到的數(shù)據(jù)讀取或者設(shè)置命令,這些命令必須為下位機(jī)完全接收,不允許出現(xiàn)數(shù)據(jù)丟失的情況。在單任務(wù)環(huán)境下,數(shù)據(jù)丟失不太常見(jiàn),但使用多任務(wù)平臺(tái)時(shí),由于存在多種優(yōu)先級(jí)的任務(wù),高優(yōu)先級(jí)任務(wù)處理結(jié)束前,低優(yōu)先級(jí)的串口讀取任務(wù)就沒(méi)有機(jī)會(huì)進(jìn)行讀操作,導(dǎo)致命令數(shù)據(jù)的丟失。實(shí)時(shí)要求:高系統(tǒng)數(shù)據(jù)發(fā)送與上位機(jī)數(shù)據(jù)發(fā)送情況類似。實(shí)時(shí)要求:一般系統(tǒng)命令接收與上位機(jī)命令接收情況類似。實(shí)時(shí)要求:高鍵盤(pán)掃描系統(tǒng)的狀態(tài)隨著時(shí)間變化,因此必須以可以接受的時(shí)間間隔來(lái)更新顯示內(nèi)容。現(xiàn)設(shè)定該刷新時(shí)間間隔為秒鐘。實(shí)時(shí)要求

10、:低上面將的功能劃分為個(gè)任務(wù),并對(duì)這些任務(wù)的實(shí)時(shí)要求作出了分析。在實(shí)時(shí)設(shè)計(jì)中,任務(wù)的實(shí)時(shí)要求越高,對(duì)應(yīng)的優(yōu)先級(jí)就應(yīng)該越高。另外,需要增加一個(gè)最高優(yōu)先級(jí)任務(wù)來(lái)提供準(zhǔn)確的事件流,以及一個(gè)最低優(yōu)先級(jí)任務(wù)來(lái)完成程序的主循環(huán)。一般而言,每個(gè)任務(wù)在大部分時(shí)候都處于等待狀態(tài),只有所需的條件滿足后,才能進(jìn)入運(yùn)行態(tài)。下面著重講述應(yīng)該根據(jù)什么原則來(lái)將整體的設(shè)計(jì)目標(biāo)劃分為一個(gè)個(gè)相對(duì)獨(dú)立的任務(wù)模塊,如何給每個(gè)任務(wù)賦予一定的優(yōu)先級(jí),以及作者長(zhǎng)期應(yīng)用中的一些體會(huì)。任務(wù)劃分的原則任務(wù)根據(jù)三種不同的事件:中斷驅(qū)動(dòng)事件、輪詢事件、輸出事件來(lái)構(gòu)造任務(wù)。輪詢事件通常由個(gè)任務(wù)實(shí)現(xiàn),實(shí)時(shí)內(nèi)核以固定周期對(duì)此任務(wù)進(jìn)行調(diào)度;輸出事件常被設(shè)計(jì)

11、為可重入程序而不是任務(wù);中斷驅(qū)動(dòng)事件是一類典型的異步事件。對(duì)于中斷事件要合理劃分事件的處理級(jí)別,盡可能多地在任務(wù)級(jí)處理,從而最小化系統(tǒng)中斷延遲。隊(duì)列是內(nèi)核提供的一種任務(wù)間通訊結(jié)構(gòu),支持消息發(fā)送者和接收者異步訪問(wèn)。設(shè)備驅(qū)動(dòng)程序負(fù)責(zé)及時(shí)響應(yīng)中斷事件,并不關(guān)心接收任務(wù)的狀態(tài)。內(nèi)部任務(wù)系統(tǒng)內(nèi)部任務(wù)可以分為:()周期性任務(wù)實(shí)時(shí)內(nèi)核基于固定周期調(diào)度的任務(wù);()異步任務(wù)非周期或事件驅(qū)動(dòng)的任務(wù),內(nèi)核根據(jù)需要進(jìn)行調(diào)度,用于處理系統(tǒng)內(nèi)部產(chǎn)生的事件;()控制對(duì)象為狀態(tài)機(jī)創(chuàng)建的控制任務(wù),用于實(shí)現(xiàn)狀態(tài)轉(zhuǎn)換;()用戶接口對(duì)應(yīng)于用戶任務(wù),在用戶驅(qū)動(dòng)的系統(tǒng)中,用戶任務(wù)具有高優(yōu)先級(jí)。在異步任務(wù)中,驅(qū)動(dòng)任務(wù)的異步數(shù)據(jù)是由實(shí)時(shí)內(nèi)核

12、提供的任務(wù)間通訊數(shù)據(jù)。內(nèi)核為應(yīng)用程序提供信號(hào)量、消息隊(duì)列、消息郵箱、插口或管道等結(jié)構(gòu),進(jìn)行事件管理和任務(wù)間通訊。設(shè)計(jì)這些異步任務(wù)時(shí)采用合適的數(shù)據(jù)結(jié)構(gòu)、正確定義數(shù)據(jù)能夠節(jié)省寶貴的調(diào)試時(shí)間,而且任務(wù)處理的函數(shù)不能太多,過(guò)于復(fù)雜,否則會(huì)增加調(diào)試的難度。任務(wù)合并利用任務(wù)的共同特征進(jìn)行合適的任務(wù)合并,可以簡(jiǎn)化系統(tǒng)任務(wù)模型、減少系統(tǒng)復(fù)雜度、消除某些任務(wù)的切換開(kāi)銷,從而減少系統(tǒng)的總體開(kāi)銷。任務(wù)合并可分為:()根據(jù)時(shí)間一致合并,將同一事件激活的優(yōu)先級(jí)相同的函數(shù)合并在一個(gè)任務(wù)中;()根據(jù)控制一致合并,將一個(gè)控制結(jié)構(gòu)驅(qū)動(dòng)的所有函數(shù)組合在一個(gè)任務(wù)中;()根據(jù)函數(shù)一致合并,將幾個(gè)使用相同數(shù)據(jù)的函數(shù)合并,使原來(lái)共享的數(shù)

13、據(jù)成為任務(wù)內(nèi)的局部數(shù)據(jù),從而減少互斥。任務(wù)優(yōu)先級(jí)分配所依據(jù)的原則實(shí)時(shí)性原則一個(gè)系統(tǒng)的實(shí)時(shí)性體現(xiàn)在它能夠?qū)δ承┩獠渴录鞒黾皶r(shí)響應(yīng),因此,分配任務(wù)的優(yōu)先級(jí)應(yīng)按實(shí)時(shí)性要求的順序,實(shí)時(shí)性要求高的任務(wù)優(yōu)先級(jí)高,實(shí)時(shí)性要求低的優(yōu)先級(jí)低。實(shí)際設(shè)計(jì)時(shí),可根據(jù)實(shí)時(shí)系統(tǒng)的實(shí)時(shí)響應(yīng)速度要求確定的類型以及工作時(shí)鐘,采用高速的能夠大大提高系統(tǒng)對(duì)中斷和事件的響應(yīng)速度。之所以能在和上達(dá)到很快的實(shí)時(shí)響應(yīng)速度,很重要的原因是其內(nèi)核的簡(jiǎn)單性,這樣它就有比大型實(shí)時(shí)操作系統(tǒng)小得多的額外負(fù)擔(dān)。事件發(fā)生頻率原則在實(shí)時(shí)性要求不高的情況下,一般給予頻率高的事件所對(duì)應(yīng)的處理任務(wù)以更高的優(yōu)先級(jí)。這是因?yàn)橄到y(tǒng)中所有的事件一般需要得到及時(shí)處理,即

14、事件響應(yīng)時(shí)間與對(duì)應(yīng)任務(wù)的操作時(shí)間之和不能超過(guò)事件發(fā)生的周期。從這一點(diǎn)上講,高頻事件對(duì)的要求更迫切一些。任務(wù)操作時(shí)間原則如果兩個(gè)事件處理的實(shí)時(shí)性、事件發(fā)生的頻率都基本相同,那么應(yīng)該根據(jù)事件對(duì)應(yīng)的處理任務(wù)的操作時(shí)間來(lái)確定該任務(wù)的優(yōu)先級(jí)。操作時(shí)間短的任務(wù)享有更高的優(yōu)先級(jí)。這樣設(shè)置的優(yōu)點(diǎn)在于,使得系統(tǒng)能夠在一定的時(shí)間內(nèi)處理更多的事件,提高的利用率。系統(tǒng)調(diào)試中出現(xiàn)的問(wèn)題多任務(wù)系統(tǒng)在開(kāi)發(fā)、調(diào)試中最常碰到的問(wèn)題是任務(wù)堆棧容量不足。如果某個(gè)任務(wù)的堆棧沒(méi)有足夠的空間,內(nèi)核會(huì)因此而發(fā)生錯(cuò)誤,使程序指針完全失控,即通常所說(shuō)的“跑飛”。勵(lì)磁調(diào)節(jié)器系統(tǒng)中有多個(gè)任務(wù),以及多個(gè)中斷,在任一時(shí)刻想知道在哪個(gè)任務(wù)執(zhí)行時(shí)發(fā)生了哪個(gè)中斷是很困難的。一旦堆棧溢出,一般不太可能找到錯(cuò)誤出現(xiàn)在程序的什么位置。預(yù)防這個(gè)問(wèn)題比較有效的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論