《電子技術(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 :

  張新玉,,李愷,張鳳

 ?。ū本┛臻g機電研究所,,北京 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引言

  當(dāng)前空間控制器軟件針對不同任務(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)用范圍進行介紹,,并針對當(dā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)的標(biāo)志。軟件根據(jù)不同類型的標(biāo)志,,設(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è)置不同的標(biāo)志,,并將數(shù)據(jù)信息保存在相對應(yīng)的總線數(shù)據(jù)緩沖區(qū),,退出外中斷程序。

  軟件在主程序中循環(huán)查詢數(shù)據(jù)信息標(biāo)志,,當(dāng)主程序查詢到相關(guān)標(biāo)志后,,根據(jù)數(shù)據(jù)信息標(biāo)志,判斷收到的數(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ù)信息標(biāo)志并保存數(shù)據(jù)信息后,啟動定時器計時計數(shù),,再退出外中斷程序,。定時時間到,進入定時器中斷程序,,查詢到相關(guān)數(shù)據(jù)信息標(biāo)志后,,根據(jù)數(shù)據(jù)信息標(biāo)志,,判斷收到的數(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ù)信息標(biāo)志并保存數(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ù)信息標(biāo)志,,退出外中斷,主程序循環(huán),,查詢到相應(yīng)數(shù)據(jù)信息標(biāo)志后,,處理相關(guān)數(shù)據(jù)信息。具體時序關(guān)系如圖4所示,。

  在該模式下,,軟件在主程序中循環(huán)查詢外中斷中的數(shù)據(jù)信息標(biāo)志,若查詢到相關(guān)標(biāo)志,,則執(zhí)行對應(yīng)標(biāo)志下的數(shù)據(jù)信息,,否則執(zhí)行其他非查詢標(biāo)志類任務(wù),。由于軟件退出外中斷程序時機不確定,從而進入主程序位置也不確定,,導(dǎo)致軟件執(zhí)行主程序中相應(yīng)的查詢數(shù)據(jù)信息標(biāo)志,,處理對應(yīng)數(shù)據(jù)信息部分功能不一定會及時響應(yīng)外中斷程序,中間可能會有一定的時間間隔,。另外,,若外中斷觸發(fā)頻率很高,或者軟件待處理的任務(wù)較多,、較復(fù)雜,,則可能會出現(xiàn)軟件頻繁進入外中斷或主程序循環(huán)執(zhí)行周期較長的現(xiàn)象,從而導(dǎo)致主程序中循環(huán)查詢數(shù)據(jù)信息標(biāo)志處理相關(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)致定時器定時不準(zhǔn)。因此該定時器不再復(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é)論

  針對當(dāng)前空間控制器軟件任務(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].北京:中國標(biāo)準(zhǔn)出版社,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

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

  [6] 饒運濤,,鄒繼軍,,鄭勇蕓.現(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.

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


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