姚文剛,張蕾蕾,周 賓,楊宏亮
(西安微電子技術(shù)研究所,西安,710054)
箭載飛行控制計(jì)算機(jī)是中國長征系列運(yùn)載火箭的核心控制設(shè)備,實(shí)時(shí)接收來自慣性測(cè)量裝置和速率陀螺的脈沖信號(hào)以及衛(wèi)星導(dǎo)航接收機(jī)發(fā)送的定位數(shù)據(jù),經(jīng)過輸入錄取后由飛行軟件進(jìn)行制導(dǎo)、姿控計(jì)算和軌道誤差修正,輸出姿態(tài)控制信號(hào)、時(shí)序信號(hào)和遙測(cè)量,控制各執(zhí)行機(jī)構(gòu)協(xié)同工作,從而達(dá)到使火箭按期望軌道飛行的目的。
中國運(yùn)載火箭是在洲際戰(zhàn)略導(dǎo)彈的基礎(chǔ)上發(fā)展起來的[1],因此,早期箭載計(jì)算機(jī)也是在導(dǎo)彈控制系統(tǒng)計(jì)算機(jī)的基礎(chǔ)上逐漸發(fā)展的。早期彈箭載計(jì)算機(jī)主要解決運(yùn)算速度和小型化的研制需求,受限于集成電路發(fā)展水平,多采用晶體管分立器件實(shí)現(xiàn),整機(jī)所用元器件較多,體積重量較大,可靠性指標(biāo)不高,甚至出現(xiàn)過計(jì)算機(jī)已經(jīng)研制成功,所有指標(biāo)均滿足要求,但由于體積過大無法裝入彈倉的情況。20世紀(jì)70年代至90年代初期,隨著集成電路設(shè)計(jì)制造水平的快速發(fā)展,箭載計(jì)算機(jī)在運(yùn)算速度、體積重量和可靠性指標(biāo)方面不斷提升:指令周期下降至100 ns,重量由65 kg下降至13 kg,可靠性指標(biāo)已達(dá)0.999。這一階段,箭載計(jì)算機(jī)均采用單機(jī)結(jié)構(gòu),其整機(jī)可靠性指標(biāo)的提升依賴于所選用集成電路的可靠性指標(biāo)。
20世紀(jì)90年代初,中國載人航天工程正式啟動(dòng)。載人航天工程首要任務(wù)之一就是要研制出以確保航天員絕對(duì)安全為核心的長征二號(hào)F運(yùn)載火箭,可靠性和安全性指標(biāo)成為該型火箭的關(guān)鍵技術(shù)參數(shù)[2]。這種情況下,以往單機(jī)結(jié)構(gòu)箭載計(jì)算機(jī)已無法滿足載人航天工程對(duì)可靠性和安全性的研制需求,冗余容錯(cuò)技術(shù)開始應(yīng)用于箭載計(jì)算機(jī)設(shè)計(jì),長征二號(hào)F火箭雙機(jī)備份箭載計(jì)算機(jī)成為第1種采用冗余容錯(cuò)技術(shù)的箭載計(jì)算機(jī)產(chǎn)品。隨后,三機(jī)表決箭載計(jì)算機(jī)產(chǎn)品應(yīng)用于長征三號(hào)甲運(yùn)載火箭。
2006年至2016年是箭載計(jì)算機(jī)冗余容錯(cuò)體系架構(gòu)的深入發(fā)展階段,逐漸開發(fā)出混合冗余、冗余重構(gòu)、故障檢測(cè)隔離、精確同步和總線監(jiān)控等技術(shù),整機(jī)故障容限進(jìn)一步提升。2016年至今,箭機(jī)產(chǎn)品研制進(jìn)入國產(chǎn)化設(shè)計(jì)應(yīng)用階段。
為適應(yīng)新型中型運(yùn)載火箭對(duì)箭載計(jì)算機(jī)短時(shí)間、強(qiáng)實(shí)時(shí)、高可靠的應(yīng)用要求,箭載計(jì)算機(jī)在繼承以往冗余容錯(cuò)技術(shù)的基礎(chǔ)上,綜合運(yùn)用表決、混合冗余以及故障檢測(cè)隔離等技術(shù)對(duì)整機(jī)容錯(cuò)架構(gòu)進(jìn)行了重新設(shè)計(jì),整機(jī)具備系統(tǒng)重構(gòu)能力,可根據(jù)故障類型實(shí)現(xiàn)三機(jī)表決、雙機(jī)混合冗余、雙機(jī)熱備、單機(jī)主控4種冗余容錯(cuò)工作模式,容忍兩度故障。
新型中型運(yùn)載火箭箭載計(jì)算機(jī)由3塊CPU板、公共接口(COM)板、DSP智能接口板、電源(PSB)板以及無源底(MB)板組成,三機(jī)共存于1個(gè)機(jī)箱內(nèi),其整機(jī)結(jié)構(gòu)如圖1所示。
圖1 新型中型運(yùn)載火箭箭機(jī)整機(jī)結(jié)構(gòu)Fig.1 Hierarchical Architecture of Rocket Computer
火箭起飛前,監(jiān)控軟件將飛行軟件上傳至箭機(jī)內(nèi)部3個(gè)冗余單機(jī)并啟動(dòng)執(zhí)行,在飛行軟件和內(nèi)部控制信號(hào)作用下,箭機(jī)進(jìn)入三機(jī)表決工作模式。由于箭機(jī)3個(gè)冗余單機(jī)裝訂的飛行軟件相同,在每個(gè)20 ms控制周期的起點(diǎn),各單機(jī)開始執(zhí)行相同的控制流程,錄取外部狀態(tài)指示信號(hào)、捷聯(lián)慣組輸入?yún)?shù)以及助推級(jí)綜合控制器輸入數(shù)據(jù),經(jīng)信息交換通道完成三機(jī)數(shù)據(jù)交換;同時(shí)在自動(dòng)錄取信號(hào)控制下,三機(jī)FPGA邏輯自動(dòng)完成速率陀螺數(shù)據(jù)的接收、解幀和交換。各單機(jī)飛行軟件在進(jìn)行實(shí)時(shí)軌道運(yùn)算前,可讀取三套外部輸入數(shù)據(jù),通過三中取二表決和數(shù)據(jù)合理性判別剔除瞬態(tài)故障輸入,保證參數(shù)錄取的正確性和飛行軟件執(zhí)行分支的相同性,其運(yùn)算結(jié)果和控制指令也通過信息交換通道進(jìn)行交換比對(duì),從而保證3個(gè)單機(jī)輸出的正確性和同步性。
三中取二機(jī)制以少數(shù)服從多數(shù)的表決原則為基礎(chǔ),若箭機(jī)發(fā)生單機(jī)故障則僅有兩機(jī)正常運(yùn)行,表決基礎(chǔ)已不存在。箭機(jī)內(nèi)部采用軟硬件相結(jié)合的故障檢測(cè)技術(shù),任一單機(jī)可實(shí)時(shí)監(jiān)測(cè)其余兩臺(tái)單機(jī)的程序執(zhí)行、供電、控制周期精度等狀態(tài)信息,實(shí)現(xiàn)故障判別。當(dāng)發(fā)生掉電等冗余單機(jī)整體故障時(shí),通過切機(jī)指令,隔離故障單機(jī)對(duì)正常單機(jī)的狀態(tài)、數(shù)據(jù)交換通道,防止故障擴(kuò)散,整機(jī)轉(zhuǎn)入雙機(jī)熱備工作模式,并依據(jù)單機(jī)標(biāo)識(shí)信息確定控制主機(jī)和跟隨備份機(jī);若故障單機(jī)僅為CPU運(yùn)行異常故障,則不執(zhí)行切機(jī)指令,故障單機(jī)的數(shù)據(jù)錄取接口仍可正常錄取輸入數(shù)據(jù)并發(fā)送至正常單機(jī),整機(jī)轉(zhuǎn)入雙機(jī)混合冗余工作模式,雙CPU并行運(yùn)算并輸出控制指令,助推通信和1553B總線數(shù)據(jù)雙冗余錄取,速率陀螺和狀態(tài)指示信號(hào)三冗余錄取。雙機(jī)運(yùn)行模式下,若再次發(fā)生單機(jī)故障,則整機(jī)轉(zhuǎn)入單模主控工作模式。圖2為箭機(jī)工作模式狀態(tài)轉(zhuǎn)換示意。
圖2 箭機(jī)工作模式狀態(tài)轉(zhuǎn)換Fig.2 Work State Transition of Rocket Computer
箭載計(jì)算機(jī)屬于強(qiáng)實(shí)時(shí)設(shè)備,需周期性完成數(shù)據(jù)采集、運(yùn)算、判斷、指令輸出等控制任務(wù),因此三機(jī)同步十分重要。若采用5×10-5精度的晶振作為時(shí)鐘源,則各冗余單機(jī)間主頻最大差異為10×10-5,按新型中型運(yùn)載火箭680 s飛行時(shí)間計(jì)算,累計(jì)時(shí)間誤差可達(dá)68 ms,超出火箭飛行控制周期3倍多,且飛行時(shí)間越長累計(jì)誤差越大。
同步的目的是為了消除因各冗余單機(jī)主頻的微小差異而產(chǎn)生的累積誤差,保證各單機(jī)數(shù)據(jù)采集和處理的同時(shí)性。三機(jī)同步最簡單的方法是各冗余單機(jī)使用同一時(shí)鐘源,可保證三機(jī)完全同步,但這是冗余系統(tǒng)不能接受的單點(diǎn)[3]。早期三冗余箭機(jī)曾采用雙時(shí)鐘作為各冗余單機(jī)的時(shí)鐘源,但時(shí)鐘切換電路依然是三冗余箭機(jī)的單點(diǎn)。
新型中型運(yùn)載火箭箭機(jī)各冗余單機(jī)使用各自獨(dú)立時(shí)鐘源,單機(jī)控制周期同步電路使用兩組定時(shí)器輪流對(duì)20 ms控制周期進(jìn)行計(jì)時(shí)。各單機(jī)定時(shí)器計(jì)滿20 ms,則發(fā)出本機(jī)20 ms定時(shí)信號(hào),此時(shí)定時(shí)器并不停止計(jì)時(shí)。各單機(jī)對(duì)自己產(chǎn)生的20 ms定時(shí)信號(hào)和來自另外兩機(jī)的20 ms定時(shí)信號(hào)進(jìn)行三中取二表決,產(chǎn)生本機(jī)的20 ms定時(shí)中斷信號(hào)。20 ms定時(shí)中斷信號(hào)停止當(dāng)前定時(shí)器計(jì)時(shí)并鎖存計(jì)時(shí)狀態(tài),控制邏輯自動(dòng)切換至另一個(gè)定時(shí)器對(duì)下一個(gè)20 ms周期進(jìn)行計(jì)時(shí),如此循環(huán),完成20 ms控制周期的定時(shí)同步。圖3為20 ms控制周期計(jì)數(shù)同步原理示意。
使用兩組定時(shí)器進(jìn)行周期同步計(jì)時(shí),可將上一次20 ms定時(shí)周期的計(jì)時(shí)狀態(tài)鎖存,供飛行控制軟件回讀,若在火箭飛行過程中發(fā)生晶振頻率漂移,則飛行軟件可通過調(diào)整計(jì)數(shù)個(gè)數(shù)調(diào)節(jié)自身20 ms周期精度。箭機(jī)單元測(cè)試中也通過回讀此狀態(tài)判斷晶振頻率是否正常。
圖3 20 ms控制周期計(jì)數(shù)同步原理Fig.3 Synchronization Based on 20ms Control Period
箭機(jī)是箭上控制系統(tǒng)的主控設(shè)備,其余設(shè)備如速率陀螺、捷聯(lián)慣組、助推級(jí)綜合控制器、橫法向表、伺服控制器等均通過各種總線(RS-485、RS-422以及1553B等)與箭機(jī)相連,飛行軟件通過箭機(jī)外設(shè)接口獲取相應(yīng)設(shè)備的輸入數(shù)據(jù)和輸出控制指令。
箭機(jī)總線監(jiān)控邏輯利用箭機(jī)在控制系統(tǒng)中的核心地位,實(shí)時(shí)檢測(cè)箭機(jī)內(nèi)部處理器總線輸入輸出狀態(tài),在飛行軟件錄取數(shù)據(jù)和輸出控制指令時(shí),同步獲取箭上各設(shè)備數(shù)據(jù)流信息,在不需要飛行軟件參與的情況下自主采集箭上狀態(tài)信息,并通過箭地高速串行總線自動(dòng)下傳至地面計(jì)算機(jī)。箭地高速串行通信協(xié)議還通過用戶郵箱為飛行軟件提供數(shù)據(jù)的主動(dòng)收發(fā)功能。圖4為總線監(jiān)控及箭地高速串行通信系統(tǒng)示意。
圖4 總線監(jiān)控原理及箭地高速串行通信系統(tǒng)Fig.4 Bus Monitor Unit
圖5 為總線監(jiān)控?cái)?shù)據(jù)單元格式和數(shù)據(jù)幀格式示意。圖5中設(shè)備號(hào)用于標(biāo)識(shí)數(shù)據(jù)所屬設(shè)備,總線狀態(tài)用于標(biāo)識(shí)輸入輸出信息;幀格式中的時(shí)標(biāo)用于標(biāo)識(shí)該幀數(shù)據(jù)的20 ms周期序號(hào)。自飛行軟件啟動(dòng)執(zhí)行開始,總線監(jiān)控邏輯可詳細(xì)記錄每個(gè)20 ms控制周期,飛行軟件錄取了哪些箭上設(shè)備的哪些數(shù)據(jù),進(jìn)行了哪些中間操作,并向哪些箭上設(shè)備輸出了哪些控制指令。地面測(cè)發(fā)控系統(tǒng)通過解析下傳的總線監(jiān)控?cái)?shù)據(jù),可及時(shí)準(zhǔn)確地掌握箭上各設(shè)備運(yùn)行狀態(tài),為系統(tǒng)故障診斷提供判定依據(jù),實(shí)現(xiàn)控制系統(tǒng)閉路總檢查測(cè)試[4]。
圖5 總線監(jiān)控?cái)?shù)據(jù)單元格式和數(shù)據(jù)幀格式示意Fig.5 Data Format of Bus Monitor Unit
為應(yīng)對(duì)進(jìn)口元器件停產(chǎn)、禁運(yùn)風(fēng)險(xiǎn)和采購價(jià)格過高問題,在國家某重大工程支持下,立足于國產(chǎn)元器件,在保持原箭機(jī)控制功能和技術(shù)成果的基礎(chǔ)上,對(duì)箭機(jī)進(jìn)行全國產(chǎn)化設(shè)計(jì),重點(diǎn)解決元器件自主可控問題,并應(yīng)用于新型中型運(yùn)載火箭系列。
箭機(jī)微處理器系統(tǒng)是飛行軟件運(yùn)行的硬件基礎(chǔ),其國產(chǎn)化設(shè)計(jì)首要考慮的問題是如何盡可能減少軟件移植的工作量。具有自主知識(shí)產(chǎn)權(quán)的LCSOC3201芯片是一款基于SPARC V8結(jié)構(gòu)、面向航天應(yīng)用的高性能SOC芯片,用于替代進(jìn)口基于SPARC V7結(jié)構(gòu)的TSC695F處理器,可保持箭機(jī)微處理器結(jié)構(gòu)不變?;旌戏庋b存儲(chǔ)體LHB567內(nèi)部集成1M×32bit FLASH和512K×32bit SRAM,使用其替代進(jìn)口的E2PROM和SRAM存儲(chǔ)器,可進(jìn)一步提高整機(jī)集成度。
箭機(jī)內(nèi)部核心控制邏輯包括三冗余可重構(gòu)容錯(cuò)管理、三機(jī)同步、速率陀螺自主接收、助推通信、總線監(jiān)控和協(xié)議雙端口存儲(chǔ)部件等均由FPGA邏輯實(shí)現(xiàn),僅需選用國產(chǎn)FPGA芯片經(jīng)過代碼適應(yīng)性修改即可實(shí)現(xiàn)國產(chǎn)化,同時(shí)也可保證飛行軟件操作方式不變,方便軟件移植。1553B總線控制器目前已有多款成熟電路可供選用且兼容DDC公司的ACE系列芯片[5],箭機(jī)選用LHB155301替代BU-61580。
國產(chǎn)化箭機(jī)繼承了原箭機(jī)的全部控制功能和冗余容錯(cuò)架構(gòu),沒有新增控制功能,因此,其測(cè)試設(shè)備可直接沿用,不需開發(fā)新的測(cè)試設(shè)備,減少研制成本。圖6為國產(chǎn)化箭機(jī)測(cè)試環(huán)境示意。
圖6 國產(chǎn)化箭機(jī)測(cè)試環(huán)境Fig.6 Test Equipment for Rocket Computer
近年來,隨著國產(chǎn)元器件設(shè)計(jì)工藝水平的不斷提高,箭機(jī)國產(chǎn)化的制約因素已不存在。經(jīng)統(tǒng)計(jì),國產(chǎn)化箭機(jī)的國產(chǎn)化率為100%,是中國實(shí)現(xiàn)全國產(chǎn)化設(shè)計(jì)的箭載飛行控制核心設(shè)備,且元器件采購成本下降了約30%。原箭機(jī)研制的重點(diǎn)是解決新型中型運(yùn)載火箭飛行控制中涉及箭機(jī)的關(guān)鍵技術(shù)問題,而國產(chǎn)化箭機(jī)研制的重點(diǎn)是國產(chǎn)元器件應(yīng)用技術(shù),可為運(yùn)載火箭電子設(shè)備的研制提供一定的經(jīng)驗(yàn)借鑒和參考。