李昕穎, 李佳妮, 熊華鋼
(1.北京航空航天大學,北京 100191; 2.中航工業航空動力機械研究所,湖南 株洲 412000)
隨著微電子技術和計算機技術的發展,航空電子系統得到了突飛猛進的發展,其結構已打破了傳統各分系統的界限,通過按功能分區將整個航空電子系統劃分為一個核心處理區和幾個相應的綜合區[1]。其中核心處理區可以說是新一代航空電子系統的大腦,它完成雷達、電子戰、光電等傳感器的信號處理和數據處理,并完成數據融合、導航計算、火控計算、顯示控制管理等任務處理功能[2]。如何用合理有效的方法對綜合核心處理系統的性能進行評價和分析是系統設計和系統實施階段所關注的重要問題。
本文首先建立處理器模型、任務模型和雙層調度模型,然后建立了基于離散事件仿真方法的系統仿真模型[3],并使用 VC++設計和實現“評價工具”,最后用“評價工具”對系統性能進行分析評價;在整個過程中,ICD文件提供了系統仿真所需要的任務流及消息流的特征參數。
處理器接收到ICD文件輸入的任務流之后,由全局調度器統一進行任務分配,并劃分好相應的分區時間執行窗口。分配到同一分區中的任務,由本地調度器按某種調度策略,對任務進行實時調度。任務之間的通信,可以通過消息發布器或消息訂購器來完成[4]。處理器模型如圖1所示。

圖1 處理器模型Fig.1 Model of the processor
假設有 n 個實時任務,分別用 τ1,τ2,…,τn表示,它們組成一個任務集合 Γ,即 Γ ={τ1,τ2,…,τn}。任務特征定義:1)任務最壞情形執行時間Ci,表示第i個任務在最壞情況下無中斷執行所需的處理器時間;2)任務的周期Ti,表示第i個任務的產生周期,對于非周期任務,則表示任務產生的最小時間間隔;3)任務的截止期限可以小于或者等于任務的周期,即Di≤Ti;4)任務之間相互獨立(不存在因共享資源而導致阻塞)。
任務在處理器上交替運行,其狀態也在不斷地發生變化,任務的五態模型如圖2所示。

圖2 任務五態模型Fig.2 Model of task
執行狀態:當一個任務作業在處理器上運行時,則作業處于執行狀態。就緒狀態:一個任務作業獲得了除處理器外的一切所需資源,一旦得到處理器即可運行,則作業處于就緒狀態。處于就緒狀態的作業獲得CPU后,將轉變為執行狀態;而處于執行狀態的作業,若CPU被搶占,則轉變為就緒狀態等待CPU。阻塞狀態:也稱等待狀態,一個任務作業正在等待某一事件發生而暫時停止運行,則該作業處于阻塞狀態。釋放狀態:作業剛剛釋放時,等待系統創建作業所需的必要信息,對于周期任務,任務的作業按周期釋放。
ASAAC[5]和 ARINC 653[6-7]中都提出了分層分區的體系結構,分區架構作為一種安全關鍵性的保障機制被引入。為了實現系統高度的容錯能力,航空電子系統通過分區的方式,將系統中不同的功能應用限制在其活動范圍內,從而不對其他功能應用產生影響。在ARINC 653標準中,特別強調分區管理的概念。多個航電應用軟件劃分成一個單元,即分區。雙層分區的調度模型如圖3所示。

圖3 雙層調度模型Fig.3 Two-level scheduling model
操作系統層根據ARINC 653標準,采用輪轉調度的方式激活每個分區。在區間層,各個分區分配指定的內存空間和CPU時間槽,在時間上和空間上互不影響,互相隔離[8]。因此,系統內高優先級任務的故障或異常會被限制在一個分區內,不會蔓延到整個系統中,系統具有良好的錯誤隔離能力。
分區調度在時間上具有嚴格的確定性。分區調度主要按照固定的、基于周期的時間序列進行CPU資源分配,每個分區只有在分配給它的分區窗口被激活時才能被調度執行。
在ARINC 653中,分區調度原則是:
1)調度單元是分區;
2)分區沒有優先級;
3)分區調度算法預先確定,并按照固定周期重復執行,在每個周期內至少為每個分區分配一個分區窗口。
假定分區PΩ由NΩ個任務組成,可表示為:ΓΩ={τΩi(Ci,Ti),i=1,2,…,NΩ}。其中 τΩi的下標表示第 Ω個分區中的第i個任務。分區調度模型如圖4所示。

圖4 分區內任務執行模型Fig.4 Partition task execution model
分區函數定義為Π(t),它的取值為{0,1},如果在時間t,分區允許執行,則Π(t)=1,否則Π(t)=0。在系統層,采用周期性的輪轉調度激活分區PΩ,我們定義輪轉周期時長為TRL,則

在每一個輪轉周期內,TΩ表示分區PΩ的執行時間,在其余TRL-TΩ時間段內,分區PΩ處于阻塞狀態。如果被激活的分區在某個時刻沒有任務可以執行,則處理器空閑,也不運行其他分區中可以執行的任務。定義?Ω為分區PΩ的執行能力,即每一次輪轉周期內分區PΩ的執行時間與輪轉周期時長之比,則

按照雙層分區的調度機理,圖5所示為仿真模型。

圖5 仿真模型Fig.5 Simulation model
在操作系統層,任務根據其安全關鍵性劃分到不同的分區。一旦確定了?Ω,則每個分區的執行時間都是固定的,發生分區切換的時刻ti為

式中,n為分區輪轉的次數。
這樣定時器在每一個分區切換時刻會請求一個中斷,一旦在ti時刻收到一個定時器中斷,系統調度器將切換分區,即將當前分區掛起而激活下一個分區,同時再次設置定時器在ti+1時刻切換分區。
在每一個分區內部,使用單調速率(RM)或者最早時限優先(EDF)等調度算法,執行任務五態的轉換。仿真開始后,首先檢測是否有作業釋放,釋放的作業進入就緒作業優先級隊列,優先級排隊后,從就緒隊列中選擇優先級最高的作業,進入執行狀態。在作業的執行過程中,若有高優先級的作業釋放,則進行作業搶占,否則作業執行完成。
在仿真模型的基礎上,圖6給出了仿真程序的結構框架。其中,仿真環境建立部分用于仿真參數的設置和仿真程序的初始化,調度機理仿真部分實現仿真模型,性能指標統計用于對系統性能進行統計與分析。

圖6 仿真流程圖Fig.6 Flow chart of simulation
考慮到仿真程序的實現,設計了如圖7所示的數據結構。

圖7 仿真程序的數據結構設計Fig.7 Data structure design of the simulation system
圖7中,用鏈表來實現分區對處理器資源的占用,同時每個分區的任務隊列也采用鏈表的結構,并給出了分區任務的實現方式。
依據ICD接口控制文件抽取了相應的任務流參數,假設航電系統包括兩個分區,分區所涉及任務的參數如表1所示。

表1 系統任務Table 1 System task
系統層采用固定周期調度,分區內各任務采用單調速率調度算法調度,各分區及其任務的調度順序如圖8所示。通過該圖可以分析系統調度流程以及任務調度效率。

圖8 任務調度圖Fig.8 Task scheduling
在航空電子系統工程中,系統實時性是評價和分析系統性能的關鍵[9]。實驗中,把任務延遲時間率作為衡量系統實時性的指標,任務延遲時間率定義為任務的實際執行延遲時間與任務的截止期限的比率。最大延遲時間率、最小延遲時間率和平均延遲時間率分別表示任務執行的最大延遲時間、最小延遲時間和平均延遲時間與任務截止期限的比率[10]。實驗結果如圖9所示,在本例中,沒有任務實際執行延遲時間超過其截止時限,最大延遲時間率76.923%,超過截止時限的周期任務數為0。

圖9 任務延遲時間率結果Fig.9 Results of task delay percentage
利用計算機對綜合模塊化航電系統進行輔助設計、系統分析具有重要意義。從評價工具得到的結果是進行航空電子系統設計的重要依據,為細致深入地研究新一代航電系統性能提供了一種有效途徑。此外,系統仿真軟件的仿真結果進行調整和優化ICD文件設計,從而提高了設計階段的可靠性和工作效率,達到系統設計優化的目標。
[1] 熊華鋼.先進綜合航空電子技術[M].北京:國防工業出版社,2009.
[2] 袁曉晗.航空電子綜合核心處理技術研究[J].航空電子技術,2004,35(3):6-10.
[3] CASSANDRAS C G,LAFORTUNE S.Introduction to discrete event systems[M].2nd ed.Springer,2008.
[4] LI Xinying,XIONG Huagang.Modelling and simulation of intergated modular avionics[C]//Proceedings of 28th Digital Avionics Systems Conference,2009:1-8.
[5] ASSAC phase II stage 2 second draft of proposed standards for architecture[Z].UK Defence Procurement Agency,2004.
[6] Airlines electronic engineering committee,avionics application software standard interface[Z].ARINC Specification 653,Aeronautical Radio Inc.,Annapolis,MD,1997.
[7] Airlines electronic engineering committee,avionics application software standard interface[Z].ARINC Specification 653-1-2003,Aeronautical Radio Inc.,Annapolis,MD,2003.
[8] 張鳳鳴,褚文奎,樊曉光,等.綜合模塊化航空電子體系結構研究[J].電光與控制,2009,16(10):47-51.
[9] 宋麗茹,何鋒,熊華鋼.航空電子藍圖系統實時性設計[J].電光與控制,2010,17(6):5-8.
[10] 李昕穎,顧健,何峰,等.硬實時系統在強分區約束下的雙層分區調度[J].計算機學報,2010,33(6):1-8.