摘 要:聚焦于航空電子系統(tǒng)中可加載軟件飛機部件(LSAP)的相關(guān)內(nèi)容,圍繞ARINC 665-4標(biāo)準(zhǔn)展開研究。首先,介紹航空電子系統(tǒng)發(fā)展概況及LSAP的組成情況,指出其由頭文件、數(shù)據(jù)文件和支持文件構(gòu)成,且頭文件構(gòu)建需嚴(yán)格遵循標(biāo)準(zhǔn)定義;其次,詳細闡述LSAP頭文件的結(jié)構(gòu),包括所涵蓋的諸多描述信息及各字段情況;在此基礎(chǔ)上,針對LSAP頭文件構(gòu)建提出一種方法,即通過設(shè)計JSON格式配置文件記錄所需信息,并利用轉(zhuǎn)換工具將其轉(zhuǎn)換為二進制LSAP頭文件,還分別對配置文件的可配置要素及其約束、轉(zhuǎn)換工具的過程設(shè)計以及不同類型字段的填充方式等進行了深入探討,旨在為航空軟件加載過程中LSAP頭文件的構(gòu)建提供有效的思路與方法。
關(guān)鍵詞:ARINC 665-4標(biāo)準(zhǔn);可加載軟件飛機部件;LSAP頭文件;配置文件;轉(zhuǎn)換工具
中圖分類號:V243.1" " 文獻標(biāo)志碼:A" " 文章編號:1671-0797(2025)07-0064-04
DOI:10.19514/j.cnki.cn32-1628/tm.2025.07.016
0" " 引言
在航空電子技術(shù)迅猛發(fā)展的歷程中,航電系統(tǒng)作為飛機運行的關(guān)鍵神經(jīng)中樞,其重要性不言而喻。概括地說,航電系統(tǒng)從發(fā)展歷程上共經(jīng)歷了分布式航電系統(tǒng)、聯(lián)合式航電系統(tǒng)及綜合模塊化航電系統(tǒng)等多個發(fā)展階段,可以說呈現(xiàn)出越來越復(fù)雜的趨勢[1]。傳統(tǒng)航空軟件加載過程中,不同供應(yīng)商的二進制可加載文件缺乏統(tǒng)一規(guī)范,而ARINC標(biāo)準(zhǔn)的出現(xiàn)為航空電子設(shè)備互操作性的實現(xiàn)提供了堅實框架。其中,ARINC REPORT 665-4標(biāo)準(zhǔn)聚焦于可加載軟件飛機部件(LSAP)管理,其對LSAP的內(nèi)容、分類和組織方式進行了明確界定。將LSAP加載至目標(biāo)機的過程,是通過AFDX總線以發(fā)送消息的形式將LSAP加載至目標(biāo)機[2]。在這之中,LSAP頭文件的構(gòu)建尤為關(guān)鍵,它猶如一把鑰匙,關(guān)乎著整個軟件加載流程的精準(zhǔn)性與安全性。因此,深入探究ARINC 665-4標(biāo)準(zhǔn)下LSAP頭文件構(gòu)建方法,剖析其重要性,探索其應(yīng)用領(lǐng)域,對于推動航電系統(tǒng)軟件管理技術(shù)進步、保障飛機飛行安全以及提升航空電子領(lǐng)域的整體效能具有極為重要的理論與現(xiàn)實意義。
1" " LSAP組成
根據(jù)ARINC 665-4標(biāo)準(zhǔn)協(xié)議,一個LSAP由一個頭文件、一個或多個數(shù)據(jù)文件構(gòu)成,同時,根據(jù)需要LSAP也可以包含一個或多個支持文件作為輔助定義[3]。ARINC 665-4標(biāo)準(zhǔn)對LSAP中頭文件擴展名進行了定義,即“.LUH”,數(shù)據(jù)文件和支持文件的擴展名由用戶自行定義,可以命名為ARINC 665-4標(biāo)準(zhǔn)3.2.2章節(jié)所定義的保留擴展名列表以外的任何擴展名,但對于數(shù)據(jù)文件的擴展名,ARINC 665-4標(biāo)準(zhǔn)強烈建議定義為“.LUP”,實際工程中也存在不同擴展名格式的數(shù)據(jù)文件,常見的數(shù)據(jù)文件擴展格式有“.BIN”和“.DAT”等[4]。一個LSAP的構(gòu)成如圖1所示。
LSAP頭文件主要由數(shù)據(jù)加載端在數(shù)據(jù)加載操作期間使用,但用戶也會使用頭文件進行支持文件的定位[5]。根據(jù)ARINC 665-4標(biāo)準(zhǔn)協(xié)議,LSAP中的數(shù)據(jù)文件和支持文件,其內(nèi)容和格式完全由可加載軟件部件供應(yīng)商自行定義,ARINC 665-4標(biāo)準(zhǔn)對數(shù)據(jù)文件和支持文件內(nèi)容的唯一限制是其內(nèi)容應(yīng)包含整數(shù)倍的字節(jié)(Byte)數(shù)。對于LSAP頭文件,ARINC 665-4標(biāo)準(zhǔn)詳細規(guī)定了其內(nèi)容、包含的要素及格式,頭文件的構(gòu)建必須嚴(yán)格按照ARINC 665-4標(biāo)準(zhǔn)的定義進行。下文將闡述頭文件的內(nèi)容和格式,并進一步討論頭文件的構(gòu)建方法和過程。
2" " LSAP頭文件結(jié)構(gòu)
一個LSAP中的LSAP頭文件提供了該可加載軟件部件的描述信息,包括部件號、加載類型、硬件標(biāo)志、該LSAP包含的數(shù)據(jù)文件和支持文件的索引以及文件完整性檢查值等。ARINC 615A數(shù)據(jù)加載工具通過讀取LSAP頭文件中的信息,將指定的可加載部件加載到對應(yīng)的目標(biāo)硬件內(nèi)存中。LSAP頭文件內(nèi)容和格式定義如表1所示,其中各個字段的占位大小、是否為可選字段等詳細信息參見ARINC 665-4標(biāo)準(zhǔn)第2.2.3.1章節(jié)。
3" " LSAP頭文件構(gòu)建方法
根據(jù)第2節(jié)介紹的LSAP頭文件內(nèi)容和結(jié)構(gòu)定義,可以看到LSAP頭文件是一種二進制格式的文件,各個字段的占位不盡相同,有的字段是固定占位,有的則為變長占位。由于飛機可加載軟件部件種類繁多,數(shù)量龐大,且可配置數(shù)據(jù)多,因此用手寫的方式來構(gòu)建LSAP頭文件完全不具備可行性。本文提出一種生成LSAP頭文件的方法,即通過設(shè)計一種JSON格式的配置文件,記錄生成LSAP頭文件所需的信息;再實現(xiàn)一種轉(zhuǎn)換工具,將配置文件轉(zhuǎn)換為二進制LSAP頭文件。構(gòu)建過程如圖2所示。
3.1" " 配置文件
配置文件可理解為一種模型,以便管理和持久化。用來描述配置文件模型的語法應(yīng)該是一個被廣泛接受的標(biāo)準(zhǔn),使用標(biāo)準(zhǔn)化的格式可以減少誤解和溝通成本,使得不同開發(fā)者和工具能夠更容易地理解和使用數(shù)據(jù)結(jié)構(gòu)。本文采用JSON[6]格式的配置文件,它有足夠的靈活性和可擴展性,同時容易實現(xiàn)驗證。
針對LSAP頭文件的字段及其意義,配置文件應(yīng)具備LSAP頭文件部件號、硬件識別碼、加載類型識別碼、數(shù)據(jù)文件、支持文件和檢查值類型等屬性可供用戶配置。在配置文件中,應(yīng)該有必需要素,同時也支持可選要素。配置文件應(yīng)該支持的必需可配置要素有加載文件格式版本、部件標(biāo)記、加載項部件號、加載類型識別碼、硬件標(biāo)識碼和數(shù)據(jù)文件列表。配置文件應(yīng)該支持的可選可配置要素有加載項檢查值類型、加載類型描述、供應(yīng)商部件號、用戶自定義數(shù)據(jù)、帶有位置信息的硬件識別碼和支持文件列表。具體的可配置要素及其約束如下:
1)加載項檢查值類型。本要素為可選要素,類型為十進制整數(shù)枚舉,取值范圍是3~8。其中3代表32-bit CRC,4代表MD5,5代表SHA1,6代表SHA-256,7代表SHA-512,8代表64-bit CRC。
2)加載文件格式版本。本要素為必需要素,類型為十六進制整數(shù)枚舉,取值如下:0x8004代表加載文件,0x9004代表批處理文件,0xA004代表媒體文件。
3)部件標(biāo)記。本要素為必需要素,類型為十六進制整數(shù)枚舉,取值范圍如下:0x0代表上傳、0x1代表下載。
4)加載項部件號。本要素為必需要素,類型為字符串,需要符合MMMCC-SSSS-SSSS模式。
5)加載類型識別碼。本要素為可選要素,類型為十六進制整數(shù),取值最大4位十六進制數(shù)0xFFFF。
6)加載類型描述。本要素為可選要素,類型為字符串,對于特定的加載類型識別碼,其加載類型描述必須是唯一的。
7)供應(yīng)商部件號。本要素為可選要素,類型為字符串,需要符合MMMCC-SSSS-SSSS模式。
8)用戶自定義數(shù)據(jù)。本要素為可選要素,可以是用戶自定義數(shù)據(jù)文件路徑,也可以是數(shù)據(jù)本身。
9)數(shù)據(jù)文件列表。本要素為必需要素,為JSON數(shù)組類型,每個數(shù)組元素應(yīng)包含文件部件號、文件檢查值類型(可選)和文件名。
10)硬件識別碼。本要素為可選要素,為字符串?dāng)?shù)組類型。
11)帶有位置信息的硬件識別碼。本要素為可選要素,為JSON數(shù)組類型,每個數(shù)組元素應(yīng)包含硬件識別碼和位置列表,位置列表為JSON字符串?dāng)?shù)組。需要注意的是,這里的硬件識別碼必須已經(jīng)在硬件識別碼要素中被定義。
12)支持文件列表。本要素為可選要素,為JSON數(shù)組類型,每個數(shù)組元素應(yīng)包含支持文件部件號、支持文件檢查值類型和支持文件名。
關(guān)于部件號需要符合MMMCC-SSSS-SSSS模式的要求,源于ARINC 665-4標(biāo)準(zhǔn)對于部件號的要求和建議。加載到航電系統(tǒng)模塊上的所有LSAP都應(yīng)具有唯一的標(biāo)識號,LSAP是以部件號(Part Number,PN)進行唯一標(biāo)識的,每個LSAP只能定義唯一的PN號。主機單位和供應(yīng)商應(yīng)就PN號的定義達成一致[7]。PN號通常由專用的工具生成,此處需要指出的是,在LSAP加載到目標(biāo)機的過程中,ARINC 615A數(shù)據(jù)加載客戶端讀取頭文件各個字段內(nèi)容,以便將指定的數(shù)據(jù)文件加載到目標(biāo)硬件內(nèi)存中[8]。LSAP在執(zhí)行ARINC 615A加載過程時,ARINC 615A加載器通常不執(zhí)行PN號的規(guī)則檢查(例如分隔符的存在與放置、使用的字符和其他格式變化等),是為了滿足更大程度的加載靈活性和兼容性[9]。
3.2" " 轉(zhuǎn)換工具
轉(zhuǎn)換工具負責(zé)將配置文件中的要素信息轉(zhuǎn)換為LSAP頭文件內(nèi)容,主要包括配置文件讀取、配置文件檢查和LSAP頭文件字段填充三個步驟。將配置文件設(shè)計為JSON格式是充分考慮到其易讀取、易解析和易檢查的特性,對于轉(zhuǎn)換工具的實現(xiàn)非常友好。配置文件的讀取和檢查可以使用現(xiàn)有開源庫方便地實現(xiàn),檢查可以使用JSON Schema[10]的機制實現(xiàn),檢測到配置文件的要素不符合定義要求或約束時,可以報告信息以便用戶對配置文件排故。
二進制LSAP頭文件中的所有字段可分為絕對指針、相對指針、數(shù)量、長度、完整性校驗值等幾種類型。
1)絕對指針的字段有指向加載項部件號長度的指針和指向目標(biāo)硬件識別碼數(shù)量的指針等。這些指針字段在LSAP頭文件中靠近起始位置,總共有8個,其意為從LSAP頭文件起始位置到對應(yīng)字段的偏移量,偏移量的單位是16-bit。
2)相對指針字段有數(shù)據(jù)文件指針和支持文件指針等。這類指針在文件列表字段中,其意為在LSAP頭文件中從當(dāng)前位置到循環(huán)組中下一個該指針字段的偏移量,同樣偏移量的單位為16-bit。
3)數(shù)量類型的字段有目標(biāo)硬件識別碼數(shù)量、支持文件數(shù)量和數(shù)據(jù)文件數(shù)量等。這類字段值的填充需要工具能夠提取配置文件中對應(yīng)數(shù)組類型的要素,計算數(shù)組中包含元素的數(shù)量。
4)長度類型的字段有加載項部件號長度、加載項類型描述長度和數(shù)據(jù)文件名長度等。這類字段值的填充需要轉(zhuǎn)換工具能夠計算配置文件中相應(yīng)要素取值的長度,例如加載項部件號長度是指加載項部件號所包含的字符數(shù)量。
5)完整性校驗值類型的字段有數(shù)據(jù)文件CRC、數(shù)據(jù)文件檢查值和加載項CRC等。這類字段需要工具根據(jù)通用的CRC計算方法、MD5計算方法和SHA計算方法等,對ARINC 665-4標(biāo)準(zhǔn)定義的各字段計算范圍進行校驗值計算。
除了以上指針、數(shù)量和長度類型這些需要額外計算的字段外,其余字段的填充,轉(zhuǎn)換工具均可讀取配置文件中對應(yīng)要素的值再直接填入。
4" " 結(jié)束語
本研究圍繞基于ARINC 665-4標(biāo)準(zhǔn)的航電系統(tǒng)LSAP頭文件構(gòu)建方法展開深入探討,通過詳細剖析LSAP的組成結(jié)構(gòu),明確頭文件在其中的關(guān)鍵地位與嚴(yán)格的規(guī)范要求,進而創(chuàng)新性地提出借助JSON格式配置文件與轉(zhuǎn)換工具來構(gòu)建頭文件的方法。這一方法在理論層面為航電系統(tǒng)軟件加載環(huán)節(jié)中LSAP頭文件的精準(zhǔn)構(gòu)建提供了堅實的依據(jù),有望提升相關(guān)開發(fā)與維護工作的效率與準(zhǔn)確性。然而,在實際應(yīng)用場景中仍可能面臨諸如不同航電設(shè)備兼容性差異、大規(guī)模數(shù)據(jù)處理時轉(zhuǎn)換工具性能瓶頸等挑戰(zhàn)。未來研究可聚焦于進一步優(yōu)化配置文件的靈活性與擴展性,增強轉(zhuǎn)換工具的穩(wěn)定性與效率,同時持續(xù)關(guān)注ARINC標(biāo)準(zhǔn)的更新與行業(yè)發(fā)展動態(tài),以確保本研究成果能更好地適應(yīng)不斷變化的航電系統(tǒng)需求,為航空電子領(lǐng)域的技術(shù)進步貢獻更多力量。
[參考文獻]
[1] Integrated modular avionics(IMA) development guidance and certification considerations:RTCA DO-297[S].
[2] Software data loader using ethernet interfaces:ARINC 615A[S].
[3] Loadable software standards: ARINC 665-4[S].
[4] 楊軍祥,田澤,湛文韜,等.新一代分布式IMA核心系統(tǒng)技術(shù)研究[J].微電子學(xué)與計算機,2019,36(12):36-41.
[5] 王明,龍慊,解文濤,等.下一代IMA架構(gòu)機載系統(tǒng)綜合化關(guān)鍵技術(shù)研究[J].信息通信,2016(12):74-75.
[6] JSON Docs[EB/OL].(2024-02-10)[2024-12-21].https://
www.json.org/.
[7] 高凌嵐,杜曉鵬.綜合模塊化航電(IMA)系統(tǒng)設(shè)計方法研究[J].科技創(chuàng)新導(dǎo)報,2015,12(34):21-22.
[8] 荊浩,唐園園,石杰.基于ARINC665-3標(biāo)準(zhǔn)的航電系統(tǒng)LSAP打包加載過程研究[J].電腦編程技巧與維護,2024(1):24-26.
[9] 張國全,孫曉敏.基于IMA平臺的航空電子系統(tǒng)綜合研究[C]//2010“航空電子系統(tǒng)綜合技術(shù)/火力控制技術(shù)”學(xué)術(shù)會議論文集,2010:18-22.
[10] JSON Schema Docs[EB/OL].(2024-02-10)[2024-12-21].https://json-schema.org/.
收稿日期:2025-01-08
作者簡介:武娟(1988—),女,內(nèi)蒙古呼和浩特人,碩士研究生,助理工程師,研究方向:多媒體、航電系統(tǒng)、嵌入式軟件。