王彥慶 陳芳明 王晨
[摘 ? ?要]基于航空電子系統(tǒng),根據(jù)其所具備的諸多特點,例如數(shù)據(jù)量多、穩(wěn)定性要求苛刻、任務并不簡單等,闡述了以往軟件架構的優(yōu)勢以及不足,結合具體的運行流程,把任務進行劃分,以產生多個階段,如數(shù)據(jù)輸入以及解算,按照時間片對任務全部階段開展調度,保證了系統(tǒng)的可靠性。針對于航空電子系統(tǒng),對其運行機制進行了分析,并且設置了軟件架構的模型。通過實驗數(shù)據(jù),再結合理論分析顯示,與傳統(tǒng)軟件架構進行比較,通過時間觸發(fā)架構,無論是可靠性還是穩(wěn)定性,均能夠得到顯著的提升。
[關鍵詞]軟件架構;航空電子系統(tǒng);時間片調度;數(shù)據(jù)通信;TimeBase
[中圖分類號]V243 [文獻標志碼]A [文章編號]2095–6487(2021)08–0–02
[Abstract]Based on the avionics system, according to its many characteristics, such as large amount of data, demanding stability, task is not simple, etc., the advantages and disadvantages of the previous software architecture are explained, combined with the specific operation process, the task is carried out Divided to produce multiple stages, such as data input and solution, according to time slices, all stages of the task are scheduled to ensure the reliability of the system. Aiming at the avionics system, its operating mechanism is analyzed, and a software architecture model is set up. Through experimental data, combined with theoretical analysis, it is shown that compared with traditional software architecture, through time-triggered architecture, both reliability and stability can be significantly improved.
[Keywords]software architecture; avionics system; time slice scheduling; data communication; TimeBase
在機載方面,對于資源集成度來講,與飛機的負載以及散熱息息相關,而且和系統(tǒng)也有著聯(lián)系。就航空電子系統(tǒng)而言,其中存在著多項資源,例如計算,具備一系列的功能(如數(shù)據(jù)保存以及通信)。結合單處理節(jié)點來分析,有著諸多的存儲資源,如較為常見的FLASH。每項任務的完成,均要借助多項資源,如計算資源。對于任務流程來說,結束一個階段之后,直接進到下一環(huán)節(jié),不存在時間間隔。伴隨系統(tǒng)的運轉,任務實施時間隨之改變,因此確定性并不高。以這樣的軟件架構來分析,設計相對簡單,在數(shù)據(jù)量不多的情況下,是能夠接受的,不然的話,會提高系統(tǒng)不確定性,極有可能因為故障影響,從而有礙于別的階段的實施,最終致使故障蔓延。基于該系統(tǒng)的特征,本文設置了一種軟件結構,確保了系統(tǒng)的正常運轉,避免出現(xiàn)故障的情況。
1 以往航空電子系統(tǒng)軟件架構
在傳統(tǒng)系統(tǒng)中,每分區(qū)能夠存在數(shù)個任務,對于分區(qū)來講,是根據(jù)時間片開展調度的,而就進程而言,是根據(jù)優(yōu)先級來調度的。結合此種軟件架構來分析,結構并不復雜,而且對于開發(fā)人員,所提出的要求并不苛刻,不過也有著一定的不足,通常可體現(xiàn)于以下幾點:對于任務運行時刻來講,僅可對時間范圍進行明確,而難以實際明確時間;對于實施時間長度,也難以得到明確,基于運行時間范圍,可以實現(xiàn)對執(zhí)行時刻的確定,不過也難以具體明確時間[1];在進程出現(xiàn)阻塞的情況下,會對別的任務的實施造成影響;任務中的某一環(huán)節(jié)發(fā)生故障,則直接影響到整體的運行。
2 時間觸發(fā)軟件架構
根據(jù)分區(qū)時間片調度,促使任務的所有環(huán)節(jié)運行,獨自占有相應的時間片,當實施時間到來時,切換至下環(huán)節(jié)運轉,在此基礎上,確保調度的精準以及可靠。
根據(jù)階段來分解任務,結合時間片開展相應的調度。把系統(tǒng)任務分成多個階段,例如數(shù)據(jù)輸入以及解算,根據(jù)時間片調度,進一步來開展所有階段?;谀骋粫r間片內,僅存在1個任務運轉,功能實施結束之后,系統(tǒng)為空閑狀況;當下一個時間片來臨時,不管有沒有執(zhí)行完成,均切換至下一環(huán)節(jié);只有下一時間片出現(xiàn)時,才能換至下一環(huán)節(jié)[2]。在執(zhí)行任務的時候,因為會借助多項資源,所以按照不一樣的資源,針對于數(shù)據(jù)輸入以及存取等,進一步分成相應的小階段。為了便于對資源進行訪問,創(chuàng)造充足的時間窗口。因為發(fā)生資源故障,從而難以順利實施時,會換至下一資源訪問,達到隔離的目的,與此同時,防止故障持續(xù)蔓延。
3 軟件架構設計
對于系統(tǒng)軟件結構設置,本文主要從時間觸發(fā)調度設置、各階段數(shù)據(jù)通信等方面進行探究。
(1)調度設計。按照資源的種類,針對于數(shù)據(jù)輸入以及存取等,分成一系列小階段。在軟件結構中,通過對調度器的使用,來完成對所有階段的調度。對于時間片調度來講,主要基于兩點來達到的,即調度器與任務信息表。而就任務階段調度器而言,與定時器中斷息息相關,實際運轉中,會定時形成中斷,通過中斷服務程序,進一步來對執(zhí)行時間進行判斷,結束階段的切換。對于時間片調度準確度來說,與間隔時間有著很大的聯(lián)系,誤差處于時間范圍[3]。間隔時間越少,則表明調度精度越為理想。當處于初始化的時候,借助于系統(tǒng)的窗口,來創(chuàng)建相應的任務;當進行調度時,按照任務句柄復位。以下為進程流程:初始化;實施功能;掛起進程;切換至第二步,即功能執(zhí)行?;谡{度任務環(huán)節(jié),復位這一環(huán)節(jié)的進程,由第一步開始運轉,功能實施之后,若時間片沒有到來,則掛起當前進程,這個時候,系統(tǒng)為空閑狀況;若時間片到來,進程還處于第一階段或第二階段,則掛起進程,復位下一進程,實施下一環(huán)節(jié)進程。
(2)各階段數(shù)據(jù)通信。對于數(shù)據(jù)通信來講,屬于單向的。計算過程中,應當利用到兩個階段的數(shù)據(jù),即輸入以及預存取階段,在結束計算之后,基于I/O階段,進一步對解算結果進行輸出。通過借助緩沖池的作用,達到數(shù)據(jù)交互的目的,把數(shù)據(jù)放進緩沖池內;當處于計算環(huán)節(jié),可以基于緩沖池,獲得相應的數(shù)據(jù),從而達到計算的目的;當處于結果存儲環(huán)節(jié),也是借助于緩沖池,獲得相應的數(shù)據(jù),以記錄于存儲介質;同樣在處于輸出階段,也基于緩沖池獲得有關數(shù)據(jù),借助設備輸出。
4 系統(tǒng)驗證及探析
為對架構穩(wěn)定性進行驗證,設置了測試用例,依次在兩種軟件架構中運轉,全面比較實驗數(shù)據(jù),同時進行理論分析,進一步來表明架構的有效性以及穩(wěn)定性。
(1)測試用例設計。建立兩個任務,用A、B來表示。對于第一個任務來講,其周期是25 ms,對RS422數(shù)據(jù)進行接收,并記錄于文件系統(tǒng),通過一定的格式轉換之后,記錄于電子盤,完成計算的同時保存結果,接下來,由FC總線來輸出;對于第一個任務(即B任務)來講,周期也是25 ms,對NBI數(shù)據(jù)進行接收,并記錄于文件系統(tǒng),通過一定的格式轉換之后,記錄于電子盤,接下來,也借助FC總線來輸出。在持續(xù)時間這一方面,A任務的為18 ms,B任務的為7 ms。對于外部設備來講,其輸入周期是25 ms[4]。間隔時間是1 ms,階段分配時間片見表1。針對于實驗數(shù)據(jù),采取以下的方法來開展統(tǒng)計以及分析。①借助系統(tǒng)中的TimeBase,來對數(shù)據(jù)進行測試:當處于起始的地方,通過TimeBase來對間隔時間進行計算,與此同時,對誤差進行統(tǒng)計。②借助FC設備,進一步來對數(shù)據(jù)進行測試:利用FC監(jiān)控設備,進一步來對時間間隔進行監(jiān)控,與此同時,針對于間隔時間以及周期,對兩者的誤差進行統(tǒng)計。
(2)測試結果。①TimeBase測試數(shù)據(jù)。針對于測試用例,依次在兩種軟件架構中,運轉一萬個周期,借助TimeBase對B任務間隔時間進行統(tǒng)計,見表1。誤差介于0至正負1 ms,對于以往程序架構來講,大約達到68%,而對于時間觸發(fā)架構而言,可以達到100%。結合實驗結果可以得知,相比之下,時間觸發(fā)架構有著較好的可靠性。②FC總線測試數(shù)據(jù)。針對于測試用例,依次在兩種軟件架構中,運轉一萬個周期,通過借助FC監(jiān)控設備,來對A任務間隔時間進行統(tǒng)計,見表2。誤差介于0至正負1 ms,對于以往程序架構來講,大約達到67%,而對于時間觸發(fā)架構而言,可以達到100%[5]。結合試實數(shù)據(jù)可以得知,相比之下,時間觸發(fā)架構有著較好的穩(wěn)定性。
(3)分析以及結論。把這兩種軟件架構分析比較,根據(jù)理論分析,再加上對實驗結果的探究,能夠獲取下述的結論。根據(jù)所統(tǒng)計的數(shù)據(jù),基于0 ms至正負1 ms的范圍,以往軟件架構誤差大概達到67%,相比之下,時間觸發(fā)架構可以達到100%。當調度器中斷時,因為時間間隔是1 ms,所以在誤差低于1 ms的情況下,時間觸發(fā)架構有著更為理想的穩(wěn)定性。結合時間觸發(fā)架構來分析,某一環(huán)節(jié)出現(xiàn)故障之后,不會對下一環(huán)節(jié)運轉造成影響;相比之下,就以往軟件架構而言,某一環(huán)節(jié)出現(xiàn)故障之后,會對下一環(huán)節(jié)運轉造成影響,致使故障進一步蔓延。顯而易見,時間觸發(fā)架構有著更為理想的可靠性?;跁r間觸發(fā)架構,對任務進行分解處理,以便能夠形成多個階段,與此同時,對于有關的開發(fā)人員來講,需要充分把控任務實施所需時間,以對時間進行科學的配置。相比之下,就以往軟件架構而言,需要把控總的實施時間,不用對任務進行分解。
5 結束語
對以往軟件架構開展分析,設置一種時間觸發(fā)架構。在任務調度這一方面,將vx-works操作系統(tǒng)作為平臺,設計可靠且穩(wěn)定的系統(tǒng),以有效完成時間調度任務?;诤侠砬矣行У臏y試驗證,再加上有關的理論分析,得出這樣的結論:與以往軟件架構進行對比,就時間觸發(fā)架構而言,其有著更為理想的可靠性以及穩(wěn)定性。
參考文獻
[1] 段海軍,郭勇,孫志穎,等.時間觸發(fā)航空電子系統(tǒng)的軟件架構研究[J].航空計算技術,2021,51(2):88-92.
[2] 汪帥,安一純.新型航空電子系統(tǒng)總線互連技術發(fā)展探討[J].工業(yè)技術創(chuàng)新,2019,4(5):102-104.
[3] 馮冰清,任艷.基于時間觸發(fā)的航空電子全雙工交換式以太網(wǎng)調度方法研究[J].現(xiàn)代計算機(專業(yè)版),2019(2):6-9.
[4] 張英靜,熊華鋼,劉志丹,等.可用于航空電子系統(tǒng)的時間觸發(fā)以太網(wǎng)[J].電光與控制,2018,22(5):49-53.
[5] 蔣社稷,盧海濤,史志釗,等.時間觸發(fā)以太網(wǎng)在航空電子系統(tǒng)中的應用[J].電光與控制,2017,22(5):84-88.