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

  張新玉,,李愷,,張鳳

 ?。ū本┛臻g機電研究所,,北京 100094)

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

  關鍵詞:空間控制器軟件,;任務調(diào)度,;響應及時性

0引言

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

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

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

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

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

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

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

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

001.jpg

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

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

002.jpg

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

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

003.jpg

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

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

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

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

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

004.jpg

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

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

005.jpg

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

2推廣應用

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

3結論

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

參考文獻

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

  [2] 寧改娣,楊拴科.DSP控制器原理及應用[M].北京:科學出版社,,2002.

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

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

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

  [6] 饒運濤,,鄒繼軍,,鄭勇蕓.現(xiàn)場總線CAN 原理與應用技術[M].北京:北京航空航天大學出版社,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)授權禁止轉載,。