張新玉,李 愷,張 鳳
(北京空間機電研究所,北京 100094)
?
空間控制器軟件任務(wù)調(diào)度設(shè)計
張新玉,李愷,張鳳
(北京空間機電研究所,北京 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)及時性和資源利用率。
關(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)的標志。軟件根據(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ù)信息標志,當(dāng)主程序查詢到相關(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所示。
1.2外中斷-定時器中斷查詢?nèi)蝿?wù)調(diào)度
外中斷-定時器中斷查詢?nèi)蝿?wù)調(diào)度模式適用于空間控制器軟件任務(wù)較復(fù)雜、對任務(wù)響應(yīng)及時性要求較高、外部中斷資源全部被占用或定時器資源充足的情形,軟件在中斷程序中設(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所示。
小學(xué)階段的語文閱讀教學(xué)與中學(xué)的語文教學(xué)不同,這個時期的學(xué)生語文知識功底不夠扎實,如果教師無法循序漸進地教學(xué),學(xué)生就會無法理解課堂內(nèi)容,極大地降低課堂教學(xué)效率。且小學(xué)語文閱讀教學(xué)一定要以引導(dǎo)為主,以培養(yǎng)學(xué)生良好的語文學(xué)習(xí)習(xí)慣為主。教學(xué)的目的不是讓學(xué)生能學(xué)會某一篇文章,而是應(yīng)該以一篇文章為范例來進行閱讀方法的教學(xué)。當(dāng)前我國的小學(xué)語文教育還不夠成熟,想要取得更好的教學(xué)成績和更有效的學(xué)習(xí)方法,還需要廣大一線教師進一步努力探索。
圖1 外中斷-主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度模式架構(gòu)圖
圖2 外中斷-定時器中斷查詢?nèi)蝿?wù)調(diào)度模式架構(gòu)圖
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所示。
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í)行時間不能完全匹配,因此軟件可能在退出外中斷后立即進入定時器中斷程序,也可能中間插入了一段主程序,等定時時間到后,進入定時器中斷程序,具體時序關(guān)系如圖5所示。
圖3 外中斷-串口中斷查詢?nèi)蝿?wù)調(diào)度模式架構(gòu)圖
圖4 外中斷-主程序循環(huán)查詢?nèi)蝿?wù)調(diào)度模式時序
圖5 外中斷-定時器中斷查詢?nèi)蝿?wù)調(diào)度模式時序
在該模式下,需占用一個定時器資源,由于該定時器主要用來響應(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所示。
圖6 外中斷-串口中斷查詢?nèi)蝿?wù)調(diào)度模式時序
在該模式下,利用通常不被使用的串口中斷,通過軟件設(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)功能。
參考文獻
[1] 顏軍.SPARC嵌入式系統(tǒng)設(shè)計與開發(fā)[M].北京:中國標準出版社,2013.
[2] 寧改娣,楊拴科.DSP控制器原理及應(yīng)用[M].北京:科學(xué)出版社,2002.
[3] 胡乾斌,李光斌,李玲,等.單片微型計算機原理與應(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.
[6] 饒運濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN 原理與應(yīng)用技術(shù)[M].北京:北京航空航天大學(xué)出版社,2004.
[7] 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.
中圖分類號:TP311
文獻標識碼:A
DOI:10.19358/j.issn.1674- 7720.2016.12.009
(收稿日期:2016-02-25)
作者簡介:
張新玉(1983-),男,工程師,主要研究方向:空間控制器軟件設(shè)計。
Design of space controller software assignment attemper
Zhang Xinyu,Li Kai,Zhang Feng
(Beijing Institute of Space Mechanics and Electricity, Beijing 100094,China)
Abstract:This paper introduces three task scheduling models of the space controller software, which are external interrupt-main program loop query task scheduling, external interrupt-time interrupt query task scheduling and external interrupt-serial port interrupt query task scheduling,and the application scope of three kinds of task scheduling model,the advantages and disadvantages are compared and analyzed. Combined with the engineering practice, the external interrupt-serial port interrupt query task scheduling model is used to process a plurality of types software task scheduling. It makes full use of software resources, reasonably optimizes software structure, and greatly improves the software to respond in time and resource utilization.
Key words:space controller software;task scheduling;respond in time