當前位置:文思屋>學習教育>畢業論文>

計算機系統分析應用論文

文思屋 人氣:1.83W

一、概述

計算機系統分析應用論文

一般說來,微控制器的應用系統中都需要同時執行很多工,我們可以利用實時作業系統來靈活地安排系統資源。rtx51是美國keil公司開發的一種小型的面向mcs51系列微控制器的實時多工作業系統,它可以工作於8051微控制器以及派生家族中,簡化了複雜的軟體設計,縮短了專案週期。

二、rtx51介紹

rtx51有2個模式:rtx51完全模式和最小模式。rtx51最小模式版是rtx51完全版的一個子集,可以很容易地執行在8051系統上,而不需要外部ram(dxata)。rtx51完全模式有4個任務優先順序,可以和中斷函式並行處理,各個任務之間通過使用“郵箱”系統來進行訊號和訊息的傳遞,可以動態地申請和釋放記憶體;同時,可以強制一個任務停止執行,等待一箇中斷,或者是其它中斷傳來的訊號量或者訊息。

(一)rtx51任務

rtx51包括2類任務:快速任務和標準任務。快速任務有很快的響應速度,每個快速任務使用8051一個單獨的暫存器組,並且有自己的堆疊區域。rtx51支援最大同時有3個快速任務。標準任務需要多一點的時間來進行任務切換,因此使用的內部ram相對快速任務要少,所有的標準任務共用1個暫存器組和堆疊。當任務切換的時候,當前任務的暫存器狀態和堆疊內容轉移到外部儲存器中。rtx51支援最大16個標準任務。

(二)rtx51任務狀態

(1)執行(runnign)當前正在執行的任務處於running狀態,同一時間只有1個任務可以執行。

(2)就緒(ready)等待執行的任務處於ready狀態,在當前執行的任務退出執行狀態後,就緒佇列中優先順序最高的任務進入到執行狀態。

(3)阻塞(blocked)等待一個事件的任務處於blocked狀態,如果事件發生且優先順序比正在執行的任務高,此任務進入執行狀態;如果優先順序比正在執行的任務低,此任務進入ready狀態。

(4)刪除(d)沒有開始的任務處於刪除狀態。

(三)rtx51中斷處理

rtx51完全模式提供2種方法來處理中斷:一種是c51的中斷函式,另一種是rtx51的中斷。它又可以分為快速任務中斷和標準任務中斷。對於中斷函式這種方法,它同時也可以在不使用rtx51的情況下使用,當中斷髮生的時候,程式就跳到了相應的中斷函式,它和正在執行的任務是互相獨立的,中斷的處理是在rtx51系統之外,和任務切換規則沒有關聯。對於任務中斷的方法,不管使用快速是標準任務來處理中斷,如果中斷髮生,等待中斷的任務就從“等待”狀態進入到就緒狀態,並按照任務切換規則進行切換。

(四)任務排程rtx51

包含一個事件驅動的任務排程機制,它能夠按照任務的優先順序進行切換,也就是搶佔式多工系統;另外還有一個可選的時間片輪轉切換任務模式,在這種模式下,rtx51使用8051內部定時器t0來產生定時節拍,各任務只在各自分配的定時節拍數(時間片)內執行。當時間片用完後,切換至下一任務執行,因此,各任務是併發執行的。同級別的任務是按照時間片分別佔用cpu的。rtx51任務有4個優先順序:0、1、2可以分配給標準任務,優先順序3是為快速任務保留的。每個任務都可以等待事件的發生,而並不增加系統的負擔;任務可以等待訊息、訊號、中斷、超時事件或者它們的組合。

(五)任務控制

為了能描述和控制任務的執行,rtx51為每個任務定義了稱作任務控制塊的資料結構,主要包括四項內容:任務的程式碼入口地址,位於code空間,2位元組為一個單位。

任務所使用堆疊棧底位置,位於idata空間,1位元組為一個單位。

任務的定時節拍計數器,在每一次定時節拍中斷後都自減一次。

任務狀態暫存器,用其各個位來表示任務所處的狀態。位於idata空間,以2位元組為一單位。

(六)定時器t0中斷服務程式的任務

(1)rtx51使用定時器t0作為定時節拍發生器,是任務切換、時間片輪轉的依據。

(2)更新各個任務節拍數:將各任務節拍數暫存器減1,如果某任務超時,並且該任務正在等待超時事件,則將該任務置為“ready”狀態,使其返回任務佇列。

(3)檢查自由堆疊空間:若自由堆疊空間範圍小於freestack(預設為20位元組)時,可以呼叫巨集stack_error,進行堆疊出錯處理。

三、rtx51應用中應注意的問題

原則講rtx51可以應用到基於mcs51系列微控制器組成的任何系統中。rtx51的`優點在於軟體開發週期短、效率高;由於rtx51在執行時需要佔用cpu的部分硬體資源,如通常佔用定時/計數器t0,且對堆疊深度要求較高,因此,在使用時應注意rtx51對硬體配置的要求。

(一)rtx51對硬體的要求

rtx51分為完全模式和最小模式,對於rtx51完全模式,要求系統要有外部ram,同時,還應合理分配cpu的硬體資源,留出定時/計數器t0作為系統多工執行的時間片發生器;對於簡單的嵌入式系統,由於通常沒有外部ram,通常選擇rtx51最小模式。在最小模式下,定時/計數器t0使用者不能使用,而是留給系統作多工切換的時間片發生器。

(二)合理分配任務的時間片數和任務優先順序

在執行多工時,由於各個任務處理時,需要的時間不同,任務對實時性要求不同,所以,應合理配置各個任務的時間片數,儘量使任務在規定的時間片內完成,減少任務間的訊息傳遞,確保系統資源的使用效率。在rtx51完全模式下,應注意各個任務的優先順序配置;在rtx51最小模式下,各個任務沒有優先順序規定,各任務只能在時間片定時器的控制下並行執行。

四、結論

在can區域網節點設計過程中,我們成功地將rtx51最小模式應用到系統之中,簡化了系統的軟體設計,提高了開發效率,縮短了開發週期。