李興智,劉宵辰,王 俊,趙 剛,閆 穩(wěn)
(航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710065)
近年來,機(jī)電綜合系統(tǒng)[1]逐步發(fā)展成為“集中解算+分布控制”[2]的管理模式。由于此種系統(tǒng)結(jié)構(gòu)設(shè)計(jì)遵循就近連接理念,產(chǎn)品也按照分布式區(qū)域進(jìn)行布置,而不僅僅局限于在設(shè)備艙中。這導(dǎo)致許多產(chǎn)品的安裝位置呈現(xiàn)出較為狹小封閉的空間復(fù)雜性,從而使得傳統(tǒng)的直接取下設(shè)備或連接調(diào)試線纜等升級方式在操作上存在較大困難,使得升級工作存在效率低、代價(jià)高的問題。
機(jī)載產(chǎn)品一般通過總線交互通訊方式進(jìn)行軟件升級,常見的總線類型包括RS232總線、RS422總線、RS485總線、以太網(wǎng)等。
機(jī)載產(chǎn)品升級方式按照是否拆卸產(chǎn)品,又分為:原位加載和離位加載兩種。
其中,原位升級指由機(jī)務(wù)人員將維護(hù)線纜及插頭連接至機(jī)上產(chǎn)品,升級操作人員通過使用機(jī)上電源或自攜電源的供電方式,進(jìn)行產(chǎn)品升級。而離位升級顧名思義,由機(jī)務(wù)人員對產(chǎn)品進(jìn)行拆卸,交由升級操作人員進(jìn)行升級。
傳統(tǒng)升級方式更適用于設(shè)備安裝位置簡單、拆卸方便的情況,而隨著當(dāng)前機(jī)電綜合系統(tǒng)的“集中解算+分布控制”系統(tǒng)管理模式發(fā)展,目前亟需新型加載技術(shù)來解決升級效率低、便利性差的問題。
整個在線加載流程[3]由外置維護(hù)設(shè)備發(fā)起,根據(jù)產(chǎn)品分級情況,一級控制器、二級控制器、三級控制器將逐級進(jìn)入加載模式。
在進(jìn)入加載模式后,需周期對下行命令數(shù)據(jù)包中的加載對象進(jìn)行檢測。如果加載對象為自身,則根據(jù)自身特點(diǎn)選擇完整緩存鏡像文件后,加載機(jī)載程序方案或邊緩存邊加載機(jī)載程序方案。如果加載對象為下級控制器,則對下行命令數(shù)據(jù)包中的負(fù)載內(nèi)容進(jìn)行下發(fā)。
在進(jìn)入加載模式后,還需周期對下行命令數(shù)據(jù)包中的退出加載進(jìn)行檢測。當(dāng)檢測到退出加載指令有效時,根據(jù)產(chǎn)品分級情況,三級控制器、二級控制器、一級控制器將逐級退出加載模式。
每個產(chǎn)品均為自身在線加載功能配備了引導(dǎo)程序及加載器程序,這兩部分程序的存儲空間獨(dú)立與機(jī)載程序OFP及接口配置表。
程序存儲空間分配如圖1所示。
圖1 程序存儲空間
產(chǎn)品上電/復(fù)位后進(jìn)入引導(dǎo)程序Boot,當(dāng)指示標(biāo)志指示滿足加載條件時,軟件跳轉(zhuǎn)至加載器程序Loader運(yùn)行;當(dāng)指示標(biāo)志指示不滿足加載條件時,軟件跳轉(zhuǎn)至機(jī)載程序OFP運(yùn)行。產(chǎn)品啟動運(yùn)行過程如圖2所示。
圖2 升溫過程
產(chǎn)品處于機(jī)載程序的正常工作模式中時,才能發(fā)起在線加載。
加載模式進(jìn)入流程為:
1) 在正常工作模式下實(shí)時監(jiān)測到加載進(jìn)入請求。
2) 根據(jù)加載進(jìn)入請求,結(jié)合輪載等信號狀態(tài)判斷是否滿足進(jìn)入在線加載條件。
3) 如果滿足進(jìn)入在線加載條件,產(chǎn)品轉(zhuǎn)入加載準(zhǔn)備模式;否則,產(chǎn)品仍然處于正常工作模式中。
4) 在加載準(zhǔn)備模式下,記錄加載指示標(biāo)志,并根據(jù)自身等級情況判斷是否需進(jìn)行信息廣播。
◆對于一級控制器,需向二級控制器廣播加載進(jìn)入請求信息。
◆對于二級控制器,需向三級控制器廣播加載進(jìn)入請求信息。
◆對于三級控制器,無需廣播。
5) 產(chǎn)品自復(fù)位。
6) 讀取加載指示標(biāo)志,如果滿足加載條件則轉(zhuǎn)入加載工作模式;否則,產(chǎn)品仍轉(zhuǎn)入正常工作模式。
加載模式下的工作內(nèi)容包括:
1) 周期讀取下行命令并判斷其有效性。
2) 如果下行命令有效,則對數(shù)據(jù)包中加載進(jìn)行指令或加載退出指令進(jìn)行判斷。
3) 如果加載進(jìn)行指令有效,且加載對象為一級控制器,則進(jìn)行
◆擦除FLASH中原有OFP內(nèi)容;
◆周期接收OFP目標(biāo)碼并校驗(yàn)通過后,固化入自身FLASH中;
◆周期回傳自身加載狀態(tài),如空、傳輸中、傳輸成功、傳輸失敗、固化中、固化成功、固化失敗、校驗(yàn)中、校驗(yàn)成功、校驗(yàn)失敗等;
◆周期接收并回傳二/三級控制器工作狀態(tài)。
4) 如果加載進(jìn)行指令有效,且加載對象為二級控制器,加載類型為OFP加載時,則進(jìn)行
◆擦除FLASH中原有OFP內(nèi)容;
◆周期接收OFP目標(biāo)碼并校驗(yàn)通過后,固化入自身FLASH中;
◆周期回傳自身加載狀態(tài),如空、傳輸中、傳輸成功、傳輸失敗、固化中、固化成功、固化失敗、校驗(yàn)中、校驗(yàn)成功、校驗(yàn)失敗等;
◆周期接收并回傳三級控制器工作狀態(tài)。
5) 如果加載進(jìn)行指令有效,且加載對象為二級控制器,加載類型為接口配置表時,則進(jìn)行
◆周期接收接口配置表并校驗(yàn)通過后,固化入自身NVRAM中;
◆周期回傳自身加載狀態(tài),如空、傳輸中、傳輸成功、傳輸失敗、固化中、固化成功、固化失敗、校驗(yàn)中、校驗(yàn)成功、校驗(yàn)失敗等;
◆周期接收并回傳三級控制器工作狀態(tài)。
6) 如果加載進(jìn)行指令有效,且加載對象為三級控制器,則進(jìn)行
◆擦除FLASH中原有OFP內(nèi)容;
◆周期接收OFP目標(biāo)碼并校驗(yàn)通過后,固化入自身FLASH中;
◆周期回傳自身加載狀態(tài),如傳輸中、傳輸成功、傳輸失敗、固化中、固化成功、固化失敗、校驗(yàn)中、校驗(yàn)成功、校驗(yàn)失敗等;
7) 如果加載進(jìn)行指令無效或加載進(jìn)行指令有效但加載對象非法時,則各級控制器均周期向上級控制器回傳工作狀態(tài)。
如果加載退出指令有效,則清除自身存儲的加載指示標(biāo)志,等待產(chǎn)品下電。
本文介紹的一種通過利用產(chǎn)品自身使用的飛機(jī)總線進(jìn)行分級加載技術(shù),在復(fù)雜環(huán)境限制下,可對OFP或接口配置表進(jìn)行在線加載,操作簡單可靠,在保證產(chǎn)品自身安全的前提下大大提高升級效率和升級的便利性。