《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 空間控制器軟件任務(wù)調(diào)度設(shè)計
空間控制器軟件任務(wù)調(diào)度設(shè)計
2016年微型機與應(yīng)用第12期
張新玉,李愷,張鳳
(北京空間機電研究所,北京 100094)
摘要: 介紹了空間控制器軟件外中斷主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度、外中斷定時器中斷查詢?nèi)蝿?wù)調(diào)度和外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度三種任務(wù)調(diào)度模式,并對三種任務(wù)調(diào)度模式的適用范圍、優(yōu)缺點進行了對比分析。結(jié)合工程實踐,采用外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度模式,處理多個型號軟件任務(wù)調(diào)度,充分利用軟件資源,合理優(yōu)化軟件結(jié)構(gòu),大大提高了整個軟件的響應(yīng)及時性和資源利用率。
Abstract:
Key words :

  張新玉,李愷,張鳳

  (北京空間機電研究所,北京 100094)

  摘要:介紹了空間控制器軟件外中斷主程序循環(huán)查詢任務(wù)調(diào)度、外中斷定時器中斷查詢?nèi)蝿?wù)調(diào)度和外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度三種任務(wù)調(diào)度模式,并對三種任務(wù)調(diào)度模式的適用范圍、優(yōu)缺點進行了對比分析。結(jié)合工程實踐,采用外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度模式,處理多個型號軟件任務(wù)調(diào)度,充分利用軟件資源,合理優(yōu)化軟件結(jié)構(gòu),大大提高了整個軟件的響應(yīng)及時性和資源利用率。

  關(guān)鍵詞:空間控制器軟件;任務(wù)調(diào)度;響應(yīng)及時性

0引言

  當前空間控制器軟件針對不同任務(wù)需求,通常有三種任務(wù)調(diào)度方式:外中斷主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度、外中斷定時器中斷查詢?nèi)蝿?wù)調(diào)度、外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度 [14]。

  本文結(jié)合實際應(yīng)用,分別對三種任務(wù)調(diào)度模式及其應(yīng)用范圍進行介紹,并針對當前空間控制器軟件任務(wù)現(xiàn)狀,在型號應(yīng)用中合理利用CPU串口中斷功能,通過串口中斷解析中控計算機指令,優(yōu)化軟件資源與調(diào)度,提高軟件對任務(wù)響應(yīng)的及時性和工作效率[5]。

1空間控制器軟件任務(wù)調(diào)度

  中控計算機與空間控制器通過總線通信[67],空間控制器軟件通過外中斷程序接收中控計算機發(fā)送過來的數(shù)據(jù)信息。在外中斷程序中,設(shè)定總線數(shù)據(jù)緩沖區(qū),接收數(shù)據(jù)信息,設(shè)置相應(yīng)的標志。軟件根據(jù)不同類型的標志,設(shè)定對應(yīng)的數(shù)據(jù)處理緩沖區(qū)及緩沖區(qū)指針,將總線數(shù)據(jù)信息按類型轉(zhuǎn)存至對應(yīng)數(shù)據(jù)處理緩沖區(qū)。軟件根據(jù)指針值處理對應(yīng)數(shù)據(jù)緩沖區(qū)內(nèi)數(shù)據(jù)信息[8]。

  1.1外中斷-主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度

  外中斷-主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度模式適用于空間控制器軟件任務(wù)較少、軟件在主程序中通過循環(huán)查詢能夠及時處理任務(wù)或中控計算機對任務(wù)響應(yīng)及時性要求不高的情形。

  軟件根據(jù)任務(wù)數(shù)據(jù)類型,設(shè)定不同的數(shù)據(jù)處理緩沖區(qū)及緩沖區(qū)指針。在收到中控計算機數(shù)據(jù)后,觸發(fā)CPU處理器外部中斷,在外中斷中解析收到的中控計算機數(shù)據(jù),根據(jù)不同的數(shù)據(jù)信息,設(shè)置不同的標志,并將數(shù)據(jù)信息保存在相對應(yīng)的總線數(shù)據(jù)緩沖區(qū),退出外中斷程序。

  軟件在主程序中循環(huán)查詢數(shù)據(jù)信息標志,當主程序查詢到相關(guān)標志后,根據(jù)數(shù)據(jù)信息標志,判斷收到的數(shù)據(jù)類型,提取相應(yīng)的中控計算機數(shù)據(jù),將其按類型保存在對應(yīng)的數(shù)據(jù)處理緩沖區(qū),釋放總線數(shù)據(jù)緩沖區(qū),對應(yīng)數(shù)據(jù)處理緩沖區(qū)指針加1,完成中控計算機數(shù)據(jù)通信任務(wù)的調(diào)度功能。通過主程序中其他模塊,查詢數(shù)據(jù)處理緩沖區(qū)指針值,根據(jù)指針值,處理接收到的中控計算機數(shù)據(jù)。具體操作流程如圖1所示。

001.jpg

  1.2外中斷-定時器中斷查詢?nèi)蝿?wù)調(diào)度

  外中斷-定時器中斷查詢?nèi)蝿?wù)調(diào)度模式適用于空間控制器軟件任務(wù)較復(fù)雜、對任務(wù)響應(yīng)及時性要求較高、外部圖1外中斷-主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度模式架構(gòu)圖中斷資源全部被占用或定時器資源充足的情形,軟件在中斷程序中設(shè)置不同的數(shù)據(jù)信息標志并保存數(shù)據(jù)信息后,啟動定時器計時計數(shù),再退出外中斷程序。定時時間到,進入定時器中斷程序,查詢到相關(guān)數(shù)據(jù)信息標志后,根據(jù)數(shù)據(jù)信息標志,判斷收到的數(shù)據(jù)類型,提取相應(yīng)的中控計算機數(shù)據(jù),將其按類型保存在對應(yīng)的數(shù)據(jù)處理緩沖區(qū),釋放總線數(shù)據(jù)緩沖區(qū),對應(yīng)數(shù)據(jù)處理緩沖區(qū)指針加1,退出定時器中斷程序,完成中控計算機數(shù)據(jù)通信任務(wù)調(diào)度功能。利用軟件中特定功能模塊,查詢數(shù)據(jù)處理緩沖區(qū)指針值,根據(jù)指針值,處理接收到的中控計算機數(shù)據(jù)。具體操作流程如圖2所示。

002.jpg

  1.3外中斷-串口中斷查詢?nèi)蝿?wù)調(diào)度

  外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度模式適用于空間控制器軟件任務(wù)復(fù)雜、對任務(wù)響應(yīng)及時性要求高、串口中斷資源閑置的情形,軟件在中斷程序中設(shè)置不同的數(shù)據(jù)信息標志并保存數(shù)據(jù)信息后,啟動串口中斷,再退出外中斷程序。在串口中斷程序中實現(xiàn)定時器中斷功能,完成中控計算機數(shù)據(jù)通信任務(wù)調(diào)度功能。利用軟件中特定功能模塊查詢數(shù)據(jù)處理緩沖區(qū)指針值,根據(jù)指針值,處理接收到的中控計算機數(shù)據(jù)。具體操作流程如圖3所示。

003.jpg

  1.4三種任務(wù)調(diào)度對比

  在外中斷-主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度模式下,軟件在運行過程中,觸發(fā)外中斷,接收中控計算機發(fā)送來的數(shù)據(jù)信息,設(shè)置相應(yīng)數(shù)據(jù)信息標志,退出外中斷,主程序循環(huán),查詢到相應(yīng)數(shù)據(jù)信息標志后,處理相關(guān)數(shù)據(jù)信息。具體時序關(guān)系如圖4所示。

  在該模式下,軟件在主程序中循環(huán)查詢外中斷中的數(shù)據(jù)信息標志,若查詢到相關(guān)標志,則執(zhí)行對應(yīng)標志下的數(shù)據(jù)信息,否則執(zhí)行其他非查詢標志類任務(wù)。由于軟件退出外中斷程序時機不確定,從而進入主程序位置也不確定,導(dǎo)致軟件執(zhí)行主程序中相應(yīng)的查詢數(shù)據(jù)信息標志,處理對應(yīng)數(shù)據(jù)信息部分功能不一定會及時響應(yīng)外中斷程序,中間可能會有一定的時間間隔。另外,若外中斷觸發(fā)頻率很高,或者軟件待處理的任務(wù)較多、較復(fù)雜,則可能會出現(xiàn)軟件頻繁進入外中斷或主程序循環(huán)執(zhí)行周期較長的現(xiàn)象,從而導(dǎo)致主程序中循環(huán)查詢數(shù)據(jù)信息標志處理相關(guān)數(shù)據(jù)信息功能,來不及處理相關(guān)數(shù)據(jù)信息而不能滿足任務(wù)需求的情況。但是,由于整個軟件架構(gòu)中中斷資源使用較少,因此對于整個軟件來說,可靠性相對較高,因此該模式適用于軟件任務(wù)較少、在主程序中通過循環(huán)查詢能夠及時響應(yīng)任務(wù)處理或中控計算機對任務(wù)響應(yīng)及時性要求不高、功能較簡單、對軟件可靠性要求很高的空間控制器軟件。

  在外中斷定時器中斷查詢?nèi)蝿?wù)調(diào)度模式下,軟件在中斷程序中處理相關(guān)信息,啟動定時器,退出外中斷后,定時時間到,進入定時器中斷,處理相關(guān)數(shù)據(jù)信息。退出定時器中斷后,軟件繼續(xù)執(zhí)行主程序循環(huán),等待新的中控計算機數(shù)據(jù)信息觸發(fā)中斷,執(zhí)行相應(yīng)操作。由于定時時間與外中斷執(zhí)行時間不能完全匹配,因此軟件可能在退出外中斷后立即進入定時器中斷程圖3外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度模式架構(gòu)圖圖4外中斷主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度模式時序

  序,也可能中間插入了一段主程序,等定時時間到后,進入定時器中斷程序,具體時序關(guān)系如圖5所示。

004.jpg

  在該模式下,需占用一個定時器資源,由于該定時器主要用來響應(yīng)外中斷中的中控計算機數(shù)據(jù)信息,為了減少外中斷數(shù)據(jù)信息的處理時間,提高對外中斷的響應(yīng)速度,若設(shè)定的定時器計時時間較長,則會導(dǎo)致退出外中斷后,定時器定時未到,軟件無法及時進入定時器中斷;若設(shè)置較短的定時周期,使得退出外中斷后及時進入定時器中斷,則其定時周期受高級中斷影響更加不確定,導(dǎo)致定時器定時不準。因此該定時器不再復(fù)用作其他功能,從而占用較多軟件資源。若軟件有其他未用中斷(如串口等),會造成一定的資源浪費,另外獨占一個定時器,會增加其他定時器的任務(wù)量,導(dǎo)致定時器中斷處理程序復(fù)雜度提高。因此該模式通常適用于空間控制器軟件任務(wù)較復(fù)雜、對任務(wù)響應(yīng)及時性要求較高、外部中斷資源全部被占用或定時器資源充足、同時中控計算機對軟件響應(yīng)的實時性要求較高的空間控制器軟件。

  在外中斷串口中斷查詢?nèi)蝿?wù)調(diào)度模式下,軟件在中斷程序中處理相關(guān)信息,啟動串口中斷,退出外中斷后,進入串口中斷,處理相關(guān)數(shù)據(jù)信息。退出串口中斷程序后,軟件繼續(xù)執(zhí)行主程序循環(huán),等待新的中控計算機數(shù)據(jù)信息觸發(fā)中斷,執(zhí)行相應(yīng)操作。具體時序關(guān)系如圖6所示。 

005.jpg

  在該模式下,利用通常不被使用的串口中斷,通過軟件設(shè)置串口中斷,在退出外中斷程序后,立即進入串口中斷,既不存在外中斷主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度模式中中斷響應(yīng)時機不確定的現(xiàn)象,也不存在外中斷定時器中斷任務(wù)調(diào)度模式中可能出現(xiàn)的資源浪費現(xiàn)象,整個系統(tǒng)軟件的資源得到最合理的優(yōu)化配置。相對于外中斷定時器中斷任務(wù)調(diào)度模式,若軟件串口閑置,則利用軟件串口功能,可以釋放一個定時器資源,通過合理優(yōu)化,實現(xiàn)更多更復(fù)雜的定時功能,提高整個軟件的執(zhí)行效率和可靠性。因此,該模式通常適用于資源緊張、軟件功能復(fù)雜、定時要求多、響應(yīng)實時性要求苛刻、同時串口中斷未被使用的空間控制器軟件。

2推廣應(yīng)用

  一般中控計算機與空間控制器軟件通過外部中斷來觸發(fā)通信。為了提高系統(tǒng)響應(yīng)速度,通常在未使用的中斷中處理相應(yīng)任務(wù)??紤]到各處理器中斷資源相對緊張,同時部分中斷資源(如串口、軟中斷等)不用來通信的現(xiàn)狀[13],可以在相關(guān)控制軟件中,利用未使用的中斷資源,滿足及時響應(yīng)通信任務(wù)的要求,節(jié)省定時器資源,更好地處理相關(guān)控制任務(wù),提高軟件控制性能。

3結(jié)論

  針對當前空間控制器軟件任務(wù)現(xiàn)狀,本文中所述的通過串口中斷資源進行任務(wù)調(diào)度的方案已經(jīng)應(yīng)用于多個型號的空間控制器軟件任務(wù)調(diào)度中。該方案充分利用CPU中斷資源,避免資源浪費以及由此導(dǎo)致的功能較單一問題,為軟件處理更復(fù)雜任務(wù)調(diào)度及控制功能提供了資源,提高了軟件響應(yīng)速度和控制性能,便于拓展系統(tǒng)功能。

參考文獻

 ?。?] 顏軍.SPARC嵌入式系統(tǒng)設(shè)計與開發(fā)[M].北京:中國標準出版社,2013.

 ?。?] 寧改娣,楊拴科.DSP控制器原理及應(yīng)用[M].北京:科學(xué)出版社,2002.

 ?。?] 胡乾斌,李光斌,李玲,等.單片微型計算機原理與應(yīng)用[M].武漢:華中科技大學(xué)出版社,2005.

  [4] 張少展,張春梅.基于軟件規(guī)模的需求優(yōu)先級排序方法應(yīng)用[J].微型機與應(yīng)用,2015,34(1):8184

  [5] 潘靈.RapidIO高性能通信中間件設(shè)計[J].電子技術(shù)應(yīng)用,2014,40(12):107109.

 ?。?] 饒運濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN 原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.

 ?。?] Data Device Corp. ACE/MiniACE Series BC/RT/MT advanced communication engine intergrated 1553 teminal user’s guide [Z]. New York: Data Device Corp. 2005.

  [8] 康曉軍,王勁強,王蕓.基于擴展塊的星載軟件控制流容錯評價方法[J].航天返回與遙感,2007,28(3);3339.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。