蘭天 張溢 張亞航 程博文 汪路元
(北京空間飛行器總體設(shè)計部,北京 100094)
隨著天基信息網(wǎng)絡(luò)的建設(shè),對航天器智能化、網(wǎng)絡(luò)化的迫切需求催生出以自主運行、自主任務(wù)、自主安全為代表的航天器自主能力,推動了航天器電子信息系統(tǒng)向以信息處理為中心、多航天器協(xié)同工作的方向發(fā)展[1]。航天器綜合電子系統(tǒng)正是在這種對航天器系統(tǒng)智能化、網(wǎng)絡(luò)化的迫切需求下得到了迅猛的發(fā)展[2-4]。在近十幾年發(fā)展中,國內(nèi)綜合電子系統(tǒng)在需求分析和總體設(shè)計的指引下,設(shè)計實現(xiàn)了適用于微小型航天器的集中式綜合電子系統(tǒng)[5]和適用于中大型航天器的分布式綜合電子系統(tǒng)[6]。在此基礎(chǔ)上,為提升航天器整體業(yè)務(wù)能力,在跨系統(tǒng)綜合優(yōu)化設(shè)計上進(jìn)行了有益探索[7]。
在當(dāng)前綜合電子系統(tǒng)中,1553B是最常見的星內(nèi)總線之一。在1553B總線網(wǎng)絡(luò)中,一個總線控制器(BC)和多個遠(yuǎn)程終端(RT)按照線性拓?fù)浣Y(jié)構(gòu)連接[8]。在MID-STD-1553標(biāo)準(zhǔn)協(xié)議基礎(chǔ)上,歐洲航天局提出了ECSS-E-ST-50-13C協(xié)議,引入了消息傳輸規(guī)劃機(jī)制[9]。在該協(xié)議中,總線通信資源被周期性劃分為多個傳輸幀。基于總線傳輸幀,協(xié)議對總線上的數(shù)據(jù)傳輸,包括發(fā)送和接收,進(jìn)行了通用化設(shè)計。
參考ECSS協(xié)議,在基于中型敏捷遙感衛(wèi)星公用平臺研制的多顆衛(wèi)星上,設(shè)計實現(xiàn)了基于時間同步的1553B協(xié)議[10-12]。按照具體衛(wèi)星任務(wù),對總線通信進(jìn)行預(yù)先規(guī)劃,按照規(guī)劃將通信任務(wù)分配到不同的總線通信幀中。在每個通信幀的開始,一個通信幀同步消息會在總線上首先被廣播,之后是該通信幀內(nèi)容的固定規(guī)劃通信和突發(fā)通信。在此基礎(chǔ)上,從通用化角度出發(fā),以星內(nèi)路由為設(shè)計原則,建立了構(gòu)件化的開放式分層星載軟件架構(gòu)[13-15]。星內(nèi)總線上各設(shè)備間、設(shè)備內(nèi)部各任務(wù)間以空間包作為信息交互的基礎(chǔ),各設(shè)備、任務(wù)通過空間包數(shù)據(jù)內(nèi)容,而不是RT地址識別相應(yīng)事件。
在綜合電子系統(tǒng)設(shè)備內(nèi)部,著眼于提升設(shè)備的可靠性與好用易用性,設(shè)計了ARINC659背板總線、通用遙控指令譯碼器等新型硬件[16-17]。這些新型硬件不僅提升了單個設(shè)備的功能、性能,也為多個設(shè)備間的系統(tǒng)級可靠性設(shè)計提供了基礎(chǔ)。本文在智能化衛(wèi)星綜合電子系統(tǒng)基礎(chǔ)上,設(shè)計了一種系統(tǒng)級高可靠開關(guān)(ON/OFF)指令發(fā)送方法。針對該發(fā)送方法對1553B總線上不同RT高精度同步發(fā)送指令的需要,提出了一種基于時間同步1553B總線協(xié)議的指令協(xié)同管理方法。通過在BC、RT軟件應(yīng)用層中分布式的指令協(xié)同管理功能,基于時間同步1553B總線協(xié)議中各通信幀開始時的幀同步信號,實現(xiàn)了1553B總線網(wǎng)絡(luò)上多個RT設(shè)備指令高精度同步發(fā)送。該方法已經(jīng)在多顆智能化遙感衛(wèi)星的綜合電子系統(tǒng)上得到了應(yīng)用,取得了良好效果。
ON/OFF指令直接實現(xiàn)對負(fù)載的驅(qū)動,如繼電器、光耦等。開關(guān)指令執(zhí)行過程中,為被驅(qū)動的負(fù)載提供特定時長(通常為80 ms)的驅(qū)動電流。ON/OFF指令直接作用于底層硬件設(shè)備,是航天器正常操控的基礎(chǔ),也是自主運行、自主任務(wù)、自主安全等功能正常執(zhí)行的必要條件。
衛(wèi)星上使用的指令可分為三類:直接指令、間接指令和數(shù)據(jù)指令。直接指令、間接指令的輸出都是脈沖信號,都可視為ON/OFF指令,區(qū)別在于觸發(fā)方式的不同。處理直接指令時,測控設(shè)備對指令直接譯碼并輸出脈沖信號,無需星上軟件操作。處理間接指令、數(shù)據(jù)指令時,測控設(shè)備先將完整的注入數(shù)據(jù)幀轉(zhuǎn)給器上軟件,再由器上軟件處理后輸出脈沖信號、進(jìn)行相關(guān)邏輯操作。
間接指令的優(yōu)勢在于能夠通過軟件控制實現(xiàn)延時程控發(fā)送,使用上更靈活;直接指令的優(yōu)勢在于當(dāng)星上計算機(jī)CPU模塊工作異常時仍能正常執(zhí)行,通常將直接指令作為處置星上故障的手段。在實際使用中,直接指令受通信弧段的約束,必須通過地面站或中繼星經(jīng)測控鏈路上注到星上,因此衛(wèi)星在可見弧段外無法使用直接指令。而通過中繼星上注直接指令時,相鄰指令間隔受轉(zhuǎn)發(fā)策略影響,星上接收間隔可能與地面發(fā)送間隔不一致。因此,在軌更多用到執(zhí)行時間可預(yù)期的延時間接指令。
在以中型敏捷遙感公用平臺為代表的智能化衛(wèi)星上,廣泛應(yīng)用了綜合電子系統(tǒng)。如圖1所示,該綜合電子系統(tǒng)包含一臺系統(tǒng)管理單元(SMU)和多臺數(shù)據(jù)接口單元(DIU)。系統(tǒng)中各設(shè)備采用通用化模塊設(shè)計,通過采用通用計算機(jī)模塊提升了DIU的計算能力。結(jié)合DIU本身具備的遙測采集、指令發(fā)送、功率驅(qū)動等能力,使DIU有足夠的算力和能力支撐復(fù)雜的自主運行管理和自主安全管理功能,為在SMU、DIU之間進(jìn)行自主任務(wù)分配提供了基礎(chǔ)。
圖1 智能化衛(wèi)星綜合電子系統(tǒng)組成示意Fig.1 Diagram of avionics system constitution for intelligent satellite
從圖1中可知,設(shè)備內(nèi)各模塊間通過底板上的內(nèi)總線通信,各設(shè)備間通過星內(nèi)數(shù)據(jù)總線通信。其中,底板內(nèi)總線選用ARINC659總線,星內(nèi)數(shù)據(jù)總線選用1553B總線。同時,在兩個DIU的指令模塊間設(shè)置了專用的互連電纜。
在綜合電子系統(tǒng)級實現(xiàn)的高可靠開關(guān)指令發(fā)送控制信息流如圖2所示。在發(fā)送間接指令時,SMU首先將指令通過1553B總線同時發(fā)送給平臺數(shù)據(jù)接口單元(PFDIU)和載荷數(shù)據(jù)接口單元(PLDIU)。DIU內(nèi)部與ON/OFF指令發(fā)送相關(guān)的部件包括CPU模塊、指令模塊和指令譯碼器:CPU模塊解析遙控包,將指令翻譯為指令模塊能識別的碼字;指令模塊根據(jù)碼字識別指令通道,向指令譯碼器發(fā)送控制碼字;指令譯碼器按照控制碼字生成指令脈沖。
圖2 綜合電子系統(tǒng)級高可靠開關(guān)指令發(fā)送控制Fig.2 High reliability ON/OFF command sending control at avionics system level
從圖2中可知,DIU的CPU模塊通過1553B總線接收從SMU發(fā)來的遙控包,解析后通過ARINC659總線發(fā)送本機(jī)指令模塊。指令模塊識別指令為本機(jī)指令時,通過內(nèi)部通道發(fā)送給本機(jī)指令譯碼器;指令模塊識別指令為非本機(jī)指令時,通過指令模塊互連電纜發(fā)送給另一個DIU的指令譯碼器。指令譯碼器按照收到的指令通道產(chǎn)生輸出的脈沖信號。
在大幅提升可靠性的同時,系統(tǒng)級指令發(fā)送控制方法也帶來了新的需求。一方面衛(wèi)星對單條ON/OFF指令的脈沖寬度有一定的范圍要求,一般應(yīng)在(80±10)ms的范圍內(nèi);另一方面需要考慮多條ON/OFF指令連續(xù)發(fā)送時,指令間不能發(fā)生干擾。為滿足這兩方面約束,需要保證兩臺DIU處理ON/OFF指令的同步。為此,提出了一種基于時間同步1553B總線協(xié)議的指令協(xié)同管理方法。
得益于綜合電子系統(tǒng)的星載處理能力提升,將傳統(tǒng)航天器集中于SMU實現(xiàn)的功能重新進(jìn)行了分布式規(guī)劃,將其中部分管理功能移至PFDIU和PLDIU上實現(xiàn)。為提升星載軟件的通用化程度,在設(shè)計上采用了包含5個層次的分布式星載軟件架構(gòu),如圖3所示。
從圖3中可知,指令協(xié)同管理功能在作為BC的SMU和作為RT的PFDIU、PLDIU星載軟件的應(yīng)用層中實現(xiàn),涉及的功能項包括軟總線層實現(xiàn)的星內(nèi)路由、中間件與構(gòu)件層實現(xiàn)的時間同步1553B協(xié)議和指令相關(guān)功能項(分包遙控、指令序列調(diào)度、隊列管理)、操作系統(tǒng)與設(shè)備虛擬層中實時操作系統(tǒng)提供的中斷接口以及硬件層提供的1553B總線接口。
圖3 指令協(xié)同管理在星載軟件架構(gòu)中的位置示意圖Fig.3 Schematic diagram of the location of command collaborative management in on-board software architecture
對所有設(shè)備,指令協(xié)同管理功能均由時間同步1553B總線協(xié)議的幀同步中斷信號觸發(fā)。按照基于時間同步1553B總線通信協(xié)議制定的通信幀規(guī)劃,BC端在特定的通信幀內(nèi)發(fā)送需要協(xié)同控制的指令,RT端在特定的通信幀開始時接收處理需要協(xié)同控制的指令。BC端發(fā)送指令的通信幀與RT端接收處理指令的通信幀不相同,各RT接收處理指令的通信幀相同。
在設(shè)計時間同步1553B總線協(xié)議時,首先需要選擇時間同步周期和幀周期。時間同步周期與幀周期的關(guān)系為
Tsync=N×Tframe
(1)
式中:Tsync是時間同步周期,Tframe是幀周期,N為正整數(shù)。時間同步周期Tsync的長短與系統(tǒng)級時間同步需求相關(guān),幀周期Tframe的長度選擇與RT端處理能力相關(guān)。為方便總線通信規(guī)劃,一般將各個幀周期設(shè)為相同時長,Tframe的選取應(yīng)滿足
(2)
式中:CBC(Tframe)為BC端在一個通信幀Tframe內(nèi)向RT發(fā)送消息的能力,M為總線系統(tǒng)中的RT數(shù)量,CRT(i)為第i個RT的消息處理能力。協(xié)議設(shè)計應(yīng)確??偩€上消息處理能力最弱的設(shè)備在一個幀周期內(nèi)不會發(fā)生堆棧溢出,以便于RT端軟件設(shè)計。
基于時間同步1553B總線協(xié)議,在綜合電子系統(tǒng)應(yīng)用層軟件中設(shè)計了指令協(xié)同管理功能,在系統(tǒng)層面規(guī)劃BC向RT發(fā)送指令的時機(jī)和各RT接收執(zhí)行指令的時機(jī)如圖4所示。
圖4 通過指令協(xié)同管理實現(xiàn)不同設(shè)備間開關(guān)指令同步處理Fig.4 Synchronized processing of ON/OFF command between different devices implemented through command collaborative management
為實現(xiàn)兩個DIU的指令同步,由SMU發(fā)起ON/OFF指令發(fā)送。SMU收到地面注入的ON/OFF指令源包后,將其解析成單條的ON/OFF指令發(fā)送給各個DIU。DIU通過置數(shù)取數(shù)服務(wù)檢測到新的ON/OFF指令后,對其進(jìn)行格式校驗,校驗正確后發(fā)送。BC端軟件和RT端軟件均通過每個通信幀最開始時的幀同步信號判斷該通信幀中本設(shè)備可實施的動作,BC端發(fā)送控制在圖4中標(biāo)識“檢索發(fā)送”的通信幀中完成對多個RT的指令分發(fā),RT端接收控制在圖4中標(biāo)識“接收執(zhí)行”的通信幀開始時完成指令接收。為避免讀寫沖突,BC和RT不在同一通信幀內(nèi)進(jìn)行指令相關(guān)操作。
RT在BC發(fā)送ON/OFF指令的通信幀之后下一個幀同步信號激勵下進(jìn)入總線中斷服務(wù)程序,此時兩個DIU中均已收到來自SMU的ON/OFF指令,DIU在總線中斷中完成ON/OFF指令的接收、執(zhí)行。通過DIU內(nèi)中斷優(yōu)先級、中斷最大嵌套時間等設(shè)計,實現(xiàn)對ON/OFF指令輸出脈沖寬度的控制。
通過控制BC端相鄰兩次“檢索發(fā)送”的間隔避免ON/OFF指令間發(fā)生干擾,例如在一條ON/OFF指令發(fā)送過程中又啟動另一條ON/OFF指令的發(fā)送。相鄰兩個允許“檢索發(fā)送”的通信幀的幀同步信號間隔應(yīng)大于ON/OFF指令最大脈寬。
綜合考慮幀周期時長、指令脈沖寬度、系統(tǒng)指令發(fā)送能力需求、總線通信效率等各種因素,通過系統(tǒng)級綜合規(guī)劃生成全局指令協(xié)同管理配置。1553B總線上各相關(guān)設(shè)備統(tǒng)一按全局配置分時進(jìn)行“檢索發(fā)送”動作(BC端)和“接收執(zhí)行”動作(RT端)。以圖4為例,BC在第i個通信幀檢索發(fā)送指令,RT在第i+1個通信幀接收執(zhí)行指令。為確??鐣r間同步周期的協(xié)同連續(xù)性,RT端在第0幀的“接收執(zhí)行”動作對應(yīng)BC端在上一個時間同步周期最后的“檢索發(fā)送”動作。
在某智能化遙感衛(wèi)星的綜合電子系統(tǒng)硬件平臺上,運行實際任務(wù)中使用的飛行軟件,對本文提出的基于時間同步1553B總線協(xié)議的指令協(xié)同發(fā)送控制方法進(jìn)行了驗證試驗。向DIU發(fā)送ON/OFF指令,通過地面設(shè)備監(jiān)視ON/OFF指令輸出。DIU硬件輸出ON/OFF指令脈沖包括對外的指令和控制內(nèi)部寄存器的指令,可通過監(jiān)視實際輸出的指令脈沖或通過執(zhí)行效果判斷指令是否正常發(fā)出。通過示波器監(jiān)視ON/OFF指令的輸出波形,如圖5所示。
圖5 開關(guān)指令輸出脈沖波形Fig.5 Waveform of ON/OFF command output pulse
在圖5中,每個橫格為10 ms,每個縱格為5.0 V。從測量結(jié)果可見,P1顯示指令脈沖寬度79.254 ms,P2顯示指令脈沖最高幅值為29.0 V,P3顯示指令脈沖低電平為128 mV,P4顯示脈沖平均電壓幅值為28.31 V,P5顯示指令脈沖上升沿寬度為72.148 μs,P6顯示指令脈沖下降沿寬度為236.248 μs。使用本文所提方法控制下的ON/OFF指令脈沖寬度在指標(biāo)要求的(80±10) ms的范圍內(nèi),滿足要求。
在正常工況和6種故障工況下對ON/OFF指令發(fā)送效果進(jìn)行了測試,結(jié)果如表1所示。
表1 ON/OFF指令實際輸出脈寬范圍測試Table 1 Actual output pulse width range of ON/OFF command
在正常工況下,兩個DIU在幀同步信號的觸發(fā)下同時啟動ON/OFF指令的發(fā)送,但由于中斷嵌套、原子操作等原因,兩個DIU動作在不同時序條件下會存在一定范圍的波動。DIU脈沖最大寬度80.5 ms與兩個DIU星載軟件中總線中斷最大嵌套時間吻合,指令發(fā)送正常。在故障工況下,在一個DIU自身故障導(dǎo)致不能正常輸出指令時,仍可在系統(tǒng)層面控制另一臺DIU發(fā)送故障DIU的ON/OFF指令。
經(jīng)過“十三五”期間多顆衛(wèi)星的實踐,本文提出的基于時間同步1553B協(xié)議的指令協(xié)同管理方法的功能和運行可靠性已在對地觀測、測繪、海洋觀察等多個領(lǐng)域得到了充分驗證?;跁r間同步1553B總線協(xié)議中的幀同步信號實現(xiàn)的系統(tǒng)級指令協(xié)同管理,即實現(xiàn)了BC端指令處理動作與RT端指令執(zhí)行動作的互斥,又實現(xiàn)了不同RT設(shè)備指令執(zhí)行動作的同步。該方法基于層次化的開放式星載軟件架構(gòu)實現(xiàn),代碼通用性和軟件跨平臺適應(yīng)性好,易于移植。后續(xù)研究中,將針對更多類型星載總線的特點和總線網(wǎng)絡(luò)內(nèi)設(shè)備同步動作需求,進(jìn)一步拓展該方法的適用范圍。