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