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

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

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

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

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

電子設(shè)計 ? 來源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-06-26 09:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

0 引言

隨著科學(xué)技術(shù)的不斷進步,實時嵌入式操作系統(tǒng)得以廣泛應(yīng)用,而VxWorks操作系統(tǒng)在絕大多數(shù)的嵌入式操作系統(tǒng)中具有良好的實時性效果,它于1983年由美國的WindRiver公司設(shè)計出來。正是因為VxWorks操作系統(tǒng)的高實時性的特性,它被廣泛應(yīng)用在通信、軍事、航空、航天等高精尖技術(shù)及實時性要求極高的領(lǐng)域中[1]。

目前,對于航天事業(yè)的發(fā)展不斷深入,對星務(wù)管理系統(tǒng)軟件的功能越來越多,越來越復(fù)雜,同時性能要求也越來越高,而在這樣的復(fù)雜多任務(wù)的情況下,同樣需要保證任務(wù)處理的實時性[2]。

為此,本文以VxWorks操作系統(tǒng)為核心,分析星務(wù)管理系統(tǒng)軟件的基本功能任務(wù),結(jié)合VxWorks操作系統(tǒng)高效的實時性多任務(wù)調(diào)度、中斷管理以及實時的系統(tǒng)資源等特點,設(shè)計討論在諸多星務(wù)任務(wù)情況下,確保每個任務(wù)能夠被合理調(diào)度,提高星務(wù)管理系統(tǒng)軟件的高可實時性要求。

1 VxWorks的多任務(wù)特性

VxWorks操作系統(tǒng)采用微內(nèi)核的設(shè)計風格,由微內(nèi)核提供基本的多任務(wù)環(huán)境及對多任務(wù)進行管理[3]。在VxWorks操作系統(tǒng)中,每個任務(wù)都會具有就緒狀態(tài)、掛起狀態(tài)、延遲狀態(tài)、休眠狀態(tài)4種基本的狀態(tài)[4]。

這些任務(wù)的狀態(tài)會隨著調(diào)用相應(yīng)的系統(tǒng)函數(shù)發(fā)生從當前狀態(tài)跳轉(zhuǎn)為相應(yīng)的下一個狀態(tài),在任何狀態(tài)下的任務(wù)也都能夠被刪除。

VxWorks提供了兩種任務(wù)調(diào)度算法:基于任務(wù)優(yōu)先級的搶占式調(diào)度算法、基于時間片輪轉(zhuǎn)的調(diào)度算法。對于具有多任務(wù)環(huán)境下的系統(tǒng),必須采用以上的其中一種調(diào)度算法,并將CPU的資源賦給處于就緒狀態(tài)的任務(wù)。而對于高實時性要求的系統(tǒng),若能將以上兩種任務(wù)調(diào)度的協(xié)調(diào)配合很好地實現(xiàn)在系統(tǒng)中,系統(tǒng)的實時性便能得到更好的保證。時間片輪轉(zhuǎn)的調(diào)度及優(yōu)先級的搶占式調(diào)度結(jié)合實例如圖1所示。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

圖1中任務(wù)1和任務(wù)2的優(yōu)先級相同,任務(wù)3的優(yōu)先級高于任務(wù)1和任務(wù)2,任務(wù)4的優(yōu)先級高于任務(wù)3。任務(wù)1和任務(wù)2按照基于時間片輪轉(zhuǎn)的調(diào)度算法根據(jù)時間片的長度輪詢占用CPU資源;當任務(wù)3來到時,搶占了任務(wù)1的資源,任務(wù)1被掛起,而任務(wù)3開始執(zhí)行;當任務(wù)4到來時,搶占了任務(wù)3的資源,任務(wù)3被掛起,任務(wù)4開始執(zhí)行;當任務(wù)4執(zhí)行完畢后,任務(wù)3被喚醒繼續(xù)執(zhí)行;當任務(wù)3執(zhí)行完畢后,任務(wù)1被喚醒并繼續(xù)執(zhí)行。

2 星務(wù)管理系統(tǒng)軟件多任務(wù)設(shè)計

2.1 架構(gòu)分析

在復(fù)雜的星務(wù)管理系統(tǒng)軟件中,需要考慮軟件的復(fù)用性、各個任務(wù)的內(nèi)聚性和耦合性,從而保證星務(wù)管理系統(tǒng)軟件高可靠性[5]。為此,結(jié)合VxWorks操作系統(tǒng)的特點,可將星務(wù)管理系統(tǒng)軟件分為4層:板級包驅(qū)動層、系統(tǒng)內(nèi)核層、由VxWorks提供的公共系統(tǒng)函數(shù)層以及應(yīng)用層。

圖2為星務(wù)管理系統(tǒng)軟件的結(jié)構(gòu)圖。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

圖2中,板級包驅(qū)動層提供與硬件接口的底層驅(qū)動程序,包括對中斷控制器的初始化、定時器的初始化、串口的初始化等其他硬件的初始化;系統(tǒng)內(nèi)核層是整個系統(tǒng)的核心層,它為多任務(wù)提供管理、任務(wù)間切換、調(diào)度分配CPU資源和對一些異常情況進行處理;公共系統(tǒng)函數(shù)層則起到了很好中間層作用,為應(yīng)用層訪問系統(tǒng)內(nèi)核層提供了系統(tǒng)接口函數(shù);應(yīng)用層實現(xiàn)復(fù)雜的任務(wù)處理,如:姿態(tài)控制任務(wù)、遙測控制任務(wù)、軌跡控制任務(wù)、載荷控制任務(wù)、溫度控制任務(wù)等。

2.2 多任務(wù)調(diào)度

2.2.1 基于任務(wù)優(yōu)先級的搶占式調(diào)度設(shè)計

由第1節(jié)介紹有關(guān)VxWorks多任務(wù)特性的設(shè)計思想,根據(jù)星務(wù)管理系統(tǒng)軟件自身功能的需要,對任務(wù)進行合理有效的劃分和優(yōu)先級適當?shù)脑O(shè)置,可以較好地簡化星務(wù)管理系統(tǒng)軟件的復(fù)雜度,也可以增加星務(wù)管理系統(tǒng)軟件的穩(wěn)定性。保證任務(wù)調(diào)度的正確性,則更好地保證了整個系統(tǒng)實時性[6]。

星務(wù)管理系統(tǒng)軟件按照設(shè)置周期性地運行,通過內(nèi)部總線和網(wǎng)絡(luò)接收內(nèi)部傳感器和外部指令控制單元的命令和數(shù)據(jù),經(jīng)分析可對相應(yīng)的任務(wù)進行控制操作。根據(jù)星務(wù)管理系統(tǒng)軟件各功能特點,本文對一部分基本任務(wù)進行劃分,各個任務(wù)的優(yōu)先級由高到低分別為:(1)看門狗定時器中斷處理任務(wù);(2)遙控接收分析數(shù)據(jù)任務(wù);(3)飛行軌跡任務(wù);(4)姿態(tài)控制任務(wù);(5)載荷控制任務(wù);(6)遙測采集任務(wù);(7)溫度控制任務(wù);(8)數(shù)據(jù)存取任務(wù)。

圖3為星務(wù)管理系統(tǒng)軟件任務(wù)運行關(guān)系圖。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

圖3中,對于星務(wù)管理系統(tǒng)軟件的初始化任務(wù)也可視為父任務(wù),由父任務(wù)創(chuàng)建各個任務(wù)。設(shè)計中看門狗任務(wù)的優(yōu)先級最高,這是為了保證系統(tǒng)在運行中,當出現(xiàn)異常情況導(dǎo)致整個系統(tǒng)死機或者癱瘓時,看門狗中斷處理函數(shù)會被觸發(fā),令整個系統(tǒng)進入重啟,保證了整個系統(tǒng)的安全性、可靠性;遙控接收分析數(shù)據(jù)任務(wù)的優(yōu)先級要高于看門狗中中斷處理任務(wù)以外的其他任務(wù),遙控接收分析數(shù)據(jù)的結(jié)果將會影響到其他任務(wù)內(nèi)的執(zhí)行流程;數(shù)據(jù)存取任務(wù)的優(yōu)先級最低,因為任何任務(wù)都可以搶占其CPU資源,所以需要為數(shù)據(jù)存取任務(wù)開辟一段較大的數(shù)據(jù)存儲緩存,保證當被高于數(shù)據(jù)存取任務(wù)優(yōu)先級的任務(wù)搶占資源后,不會丟失需要存儲的數(shù)據(jù),保證數(shù)據(jù)的完整性、可靠性。

通過以上分析不難得出,在對以上任務(wù)進行時間片劃分時,對于看門狗任務(wù)以及遙控接收分析數(shù)據(jù)任務(wù)的時間片設(shè)置時間應(yīng)盡量短,而其他任務(wù)的時間片設(shè)置應(yīng)適當合理,進而保證整個系統(tǒng)的實時性。

2.2.2 基于時間片輪轉(zhuǎn)的調(diào)度設(shè)計

在沒有接收到指令要求改變衛(wèi)星姿態(tài),或者調(diào)整衛(wèi)星運行軌跡時,姿態(tài)任務(wù)和軌跡任務(wù)應(yīng)當會按照初始設(shè)定的姿態(tài)和軌跡執(zhí)行[7],即這每個任務(wù)按照時間片輪轉(zhuǎn)方式進行調(diào)度。

不同型號的處理器芯片有不同的工作頻率,因此,設(shè)星務(wù)管理系統(tǒng)軟件的調(diào)度周期為TS。以飛行軌跡任務(wù)、姿態(tài)控制任務(wù)、遙測采集任務(wù)和數(shù)據(jù)存取任務(wù)為例,分別為以上4個任務(wù)分配時間片,具體參數(shù)如表1所示。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

根據(jù)表1可以確定星務(wù)管理系統(tǒng)軟件的調(diào)度周期最小為:TS=20te。為了便于任務(wù)分配,可將星務(wù)管理系統(tǒng)軟件的調(diào)度周期細化成幾段小周期f。小周期f需要滿足如下條件:

(1)小周期f≥最大執(zhí)行時間(t);

(2)小周期f能夠被星務(wù)管理系統(tǒng)軟件的調(diào)度周期TS整除;

(3)因為調(diào)度執(zhí)行發(fā)生在每個小周期的開始,為了便于確定在時限到達前,任務(wù)是否可以完成,要求在任務(wù)開始和到達時限之間至少有個小周期f的時間,可用式(1)表示:

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

綜合以上3個條件得到的結(jié)構(gòu)可以得出小周期f的取值為4te。由此可以繪制出一個調(diào)度周期為TS=20te的調(diào)度結(jié)果圖,如圖4所示。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

圖4中,T1、T2、T3和T4分別代表行軌跡任務(wù)、姿態(tài)控制任務(wù)、遙測采集任務(wù)和數(shù)據(jù)存取任務(wù)。根據(jù)表1和圖4中對每個任務(wù)的時間片的劃分,通過上述計算可以保證每個任務(wù)能夠被正確、合理地調(diào)度,保證了整個系統(tǒng)的實時性。

2.3 多任務(wù)間通信

星務(wù)管理系統(tǒng)軟件的復(fù)雜多任務(wù)之間需要一些通信機制來協(xié)調(diào)各自的活動[5]。VxWorks操作體系提供任務(wù)間通信的方式包括:信號量、消息隊列、管道、共享內(nèi)存和Socket套接字等。在本系統(tǒng)軟件中采用了信號量和消息隊列兩種任務(wù)間通信方式。

2.3.1 信號量

本文星務(wù)管理系統(tǒng)軟件采用二進制信號量的同步和互斥功能,來改變每個任務(wù)的狀態(tài)機。如圖5所示,在遙控接收分析數(shù)據(jù)任務(wù)中,根據(jù)數(shù)據(jù)分析得到需要發(fā)生變化的任務(wù)指令,進而釋放對應(yīng)任務(wù),如:姿態(tài)控制任務(wù),令姿態(tài)控制任務(wù)改變原來姿態(tài)為當前指令需要的姿態(tài)。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

在數(shù)據(jù)存取任務(wù)時,在數(shù)據(jù)緩存區(qū)二進制信號量的互斥功能,保證在寫數(shù)據(jù)時不去進行讀數(shù)據(jù)操作,讀數(shù)據(jù)時不進行寫數(shù)據(jù)操作,確保數(shù)據(jù)的準確性。

2.3.2 消息隊列

本文星務(wù)管理系統(tǒng)軟件采用消息隊列的FIFO方式,用于遙測采集任務(wù)和數(shù)據(jù)存取任務(wù)間的通信,根據(jù)需求設(shè)置消息的大小,當遙測傳感器采集到數(shù)據(jù)后,將采集處理的數(shù)據(jù)通過消息隊列發(fā)送給數(shù)據(jù)存取任務(wù),并在數(shù)據(jù)存取任務(wù)占用CPU資源時將數(shù)據(jù)記錄存儲,如圖6所示。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

3 分析驗證

根據(jù)第2節(jié)對星務(wù)管理系統(tǒng)軟件的設(shè)計分析,使用Tornado2.2開發(fā)環(huán)境中搭建星務(wù)管理系統(tǒng)軟件,實現(xiàn)遙控接收分析數(shù)據(jù)任務(wù)、飛行軌跡任務(wù)、姿態(tài)控制任務(wù)、溫度控制任務(wù)、數(shù)據(jù)存取任務(wù)等多任務(wù)之間的切換,以及多任務(wù)之間的通信。

采用Tornado2.2開發(fā)環(huán)境的WindViwe調(diào)試工具來觀測星務(wù)管理系統(tǒng)軟件多任務(wù)并發(fā)運行的結(jié)果,如圖7所示。

關(guān)于基于VxWorks的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計

圖7中顯示飛行任務(wù)、姿態(tài)控制任務(wù)以及讀取數(shù)據(jù)任務(wù)在遙控指令任務(wù)的協(xié)調(diào)下,進行任務(wù)的切換和任務(wù)之間的通信,數(shù)據(jù)采集任務(wù)和數(shù)據(jù)存儲任務(wù)的優(yōu)先級要低于其他任務(wù),并沒有影響到采集數(shù)據(jù)任務(wù)以及采集數(shù)據(jù)的分析處理任務(wù)的運行。

在每個任務(wù)中加入輸出語句代碼來進一步驗證本系統(tǒng)能夠保證多任務(wù)合理的執(zhí)行。通過Tornado2.2開發(fā)環(huán)境的調(diào)試后臺觀察結(jié)果,如圖8所示。

從圖8中可以看出,當姿態(tài)控制任務(wù)和軌跡任務(wù)接收到指令時,發(fā)生了姿態(tài)以及軌跡的改變;能夠?qū)崟r地檢測、采集、分析溫度變化,并根據(jù)溫度的變化反應(yīng)溫度的適度情況。

通過以上驗證描述,表明了對于星務(wù)管理系統(tǒng)軟件的多任務(wù)的設(shè)計合理性,同時也能夠保證軟件框架的有效性,滿足星務(wù)管理系統(tǒng)軟件的實時性的要求。

4 結(jié)論

本文描述了一個基于VxWorks實時操作系統(tǒng)的星務(wù)管理系統(tǒng)軟件多任務(wù)實時性調(diào)度設(shè)計和實現(xiàn)。根據(jù)本文描述中的設(shè)計方法,通過模擬測試結(jié)果表明了多任務(wù)調(diào)度的可靠性、整體軟件架構(gòu)的有效性,并滿足實時性的要求。本文描述的設(shè)計方法將移植到某架構(gòu)平臺上進一步進行驗證。

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

    關(guān)注

    3

    文章

    351

    瀏覽量

    99738
  • 管理系統(tǒng)
    +關(guān)注

    關(guān)注

    1

    文章

    2907

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    STM32 簡單多任務(wù)調(diào)度的方法與程序例程

    系統(tǒng)中有3個功能單位:任務(wù)、進程和線程。實時多任務(wù)操作系統(tǒng)(RTOS)是嵌入式應(yīng)用軟件的基礎(chǔ)和開
    發(fā)表于 09-05 14:39

    VxWorks系統(tǒng)任務(wù)調(diào)度機制

    針對多任務(wù)系統(tǒng)而言,調(diào)度是指根據(jù)一定的算法.將CPU 分配給符合條件的任務(wù)使用,不同的系統(tǒng)任務(wù)
    發(fā)表于 12-16 14:11 ?10次下載

    基于任務(wù)鏈的實時多任務(wù)軟件可靠建模

    提出了以實時多任務(wù)系統(tǒng)中的任務(wù)鏈為組件,任務(wù)鏈運行時間比例作為組件的權(quán)重系數(shù),建立實時
    發(fā)表于 03-03 11:47 ?16次下載

    VxWorks操作系統(tǒng)實時多任務(wù)程序設(shè)計

    VxWorks操作系統(tǒng)實時多任務(wù)程序設(shè)計
    發(fā)表于 03-25 10:38 ?13次下載

    基于VxWorks實時多任務(wù)軟件設(shè)計

    基于VxWorks實時多任務(wù)軟件設(shè)計
    發(fā)表于 03-29 12:30 ?23次下載

    一種基于比特表的實時多任務(wù)調(diào)度算法

    主要討論常見的幾種多任務(wù)實時處理算法的優(yōu)缺點,提出一種更能滿足多任務(wù)實時處理的算法——基于比特表的時間片算法。這種算法主要是把常規(guī)的比特表中的
    發(fā)表于 05-15 15:02 ?11次下載

    VxWorks實時多任務(wù)程序的實現(xiàn)

    本文介紹了VxWorks操作系統(tǒng)的技術(shù)特點,給出了一種VxWorks操作系統(tǒng)下實現(xiàn)實時多任務(wù)程序
    發(fā)表于 09-07 08:22 ?9次下載

    VxWorks系統(tǒng)任務(wù)調(diào)度機制

    針對多任務(wù)系統(tǒng)而言,調(diào)度是指根據(jù)一定的算法.將CPU 分配給符合條件的任務(wù)使用,不同的系統(tǒng)任務(wù)
    發(fā)表于 11-27 16:26 ?13次下載

    基于VxWorks實時多任務(wù)軟件設(shè)計

    嵌入式系統(tǒng)是目前蓬勃發(fā)展的行業(yè)之一,嵌入式軟件設(shè)計正日益成為業(yè)界的熱門話題。文章介紹應(yīng)用VxWorks嵌入式實時操作系統(tǒng)進行嵌入式
    發(fā)表于 12-05 16:55 ?15次下載

    基于TMS320LF2407的多任務(wù)實時處理系統(tǒng)設(shè)計

    基于TMS320LF2407的多任務(wù)實時處理系統(tǒng)設(shè)計
    發(fā)表于 05-06 15:39 ?5次下載

    基于LabVIEW平臺的多任務(wù)實時測控系統(tǒng)的實現(xiàn)_劉為玉

    基于LabVIEW平臺的多任務(wù)實時測控系統(tǒng)的實現(xiàn)_劉為玉
    發(fā)表于 03-18 09:26 ?9次下載

    基于DSP的實時多任務(wù)調(diào)度內(nèi)核設(shè)計

    基于DSP的實時多任務(wù)調(diào)度內(nèi)核設(shè)計
    發(fā)表于 10-19 15:30 ?7次下載
    基于DSP的<b class='flag-5'>實時</b><b class='flag-5'>多任務(wù)</b><b class='flag-5'>調(diào)度</b>內(nèi)核設(shè)計

    實時多任務(wù)嵌入式軟件的架構(gòu)方式的設(shè)計應(yīng)用

    測控多個模塊的同步工作,軟件設(shè)計要求做到實時多任務(wù)。針對軟件設(shè)計的要求,采用基于實時多任務(wù)操作
    發(fā)表于 10-25 14:46 ?1次下載
    <b class='flag-5'>實時</b><b class='flag-5'>多任務(wù)</b>嵌入式<b class='flag-5'>軟件</b>的架構(gòu)方式的設(shè)計應(yīng)用

    軟總線架構(gòu)在實時多任務(wù)軟件系統(tǒng)中的設(shè)計應(yīng)用

    多任務(wù)。針對軟件設(shè)計的要求,采用基于實時多任務(wù)操作系統(tǒng)提供的底層任務(wù)
    發(fā)表于 11-30 12:29 ?842次閱讀
     軟總線架構(gòu)在<b class='flag-5'>實時</b><b class='flag-5'>多任務(wù)</b><b class='flag-5'>軟件</b><b class='flag-5'>系統(tǒng)</b>中的設(shè)計應(yīng)用

    DSP實時多任務(wù)調(diào)度的解決方案

    本文闡述了一個用于DSP的簡潔而實用的實時多任務(wù)調(diào)度內(nèi)核的實現(xiàn)方法。DSP由于其架構(gòu)的特殊,在任務(wù)調(diào)度
    的頭像 發(fā)表于 03-24 15:22 ?5803次閱讀