蘭天 張溢 張亞航 程博文 汪路元
(北京空間飛行器總體設計部,北京 100094)
隨著天基信息網絡的建設,對航天器智能化、網絡化的迫切需求催生出以自主運行、自主任務、自主安全為代表的航天器自主能力,推動了航天器電子信息系統向以信息處理為中心、多航天器協同工作的方向發展[1]。航天器綜合電子系統正是在這種對航天器系統智能化、網絡化的迫切需求下得到了迅猛的發展[2-4]。在近十幾年發展中,國內綜合電子系統在需求分析和總體設計的指引下,設計實現了適用于微小型航天器的集中式綜合電子系統[5]和適用于中大型航天器的分布式綜合電子系統[6]。在此基礎上,為提升航天器整體業務能力,在跨系統綜合優化設計上進行了有益探索[7]。
在當前綜合電子系統中,1553B是最常見的星內總線之一。在1553B總線網絡中,一個總線控制器(BC)和多個遠程終端(RT)按照線性拓撲結構連接[8]。在MID-STD-1553標準協議基礎上,歐洲航天局提出了ECSS-E-ST-50-13C協議,引入了消息傳輸規劃機制[9]。在該協議中,總線通信資源被周期性劃分為多個傳輸幀。基于總線傳輸幀,協議對總線上的數據傳輸,包括發送和接收,進行了通用化設計。
參考ECSS協議,在基于中型敏捷遙感衛星公用平臺研制的多顆衛星上,設計實現了基于時間同步的1553B協議[10-12]。按照具體衛星任務,對總線通信進行預先規劃,按照規劃將通信任務分配到不同的總線通信幀中。在每個通信幀的開始,一個通信幀同步消息會在總線上首先被廣播,之后是該通信幀內容的固定規劃通信和突發通信。在此基礎上,從通用化角度出發,以星內路由為設計原則,建立了構件化的開放式分層星載軟件架構[13-15]。星內總線上各設備間、設備內部各任務間以空間包作為信息交互的基礎,各設備、任務通過空間包數據內容,而不是RT地址識別相應事件。
在綜合電子系統設備內部,著眼于提升設備的可靠性與好用易用性,設計了ARINC659背板總線、通用遙控指令譯碼器等新型硬件[16-17]。這些新型硬件不僅提升了單個設備的功能、性能,也為多個設備間的系統級可靠性設計提供了基礎。本文在智能化衛星綜合電子系統基礎上,設計了一種系統級高可靠開關(ON/OFF)指令發送方法。針對該發送方法對1553B總線上不同RT高精度同步發送指令的需要,提出了一種基于時間同步1553B總線協議的指令協同管理方法。通過在BC、RT軟件應用層中分布式的指令協同管理功能,基于時間同步1553B總線協議中各通信幀開始時的幀同步信號,實現了1553B總線網絡上多個RT設備指令高精度同步發送。該方法已經在多顆智能化遙感衛星的綜合電子系統上得到了應用,取得了良好效果。
ON/OFF指令直接實現對負載的驅動,如繼電器、光耦等。開關指令執行過程中,為被驅動的負載提供特定時長(通常為80 ms)的驅動電流。ON/OFF指令直接作用于底層硬件設備,是航天器正常操控的基礎,也是自主運行、自主任務、自主安全等功能正常執行的必要條件。
衛星上使用的指令可分為三類:直接指令、間接指令和數據指令。直接指令、間接指令的輸出都是脈沖信號,都可視為ON/OFF指令,區別在于觸發方式的不同。處理直接指令時,測控設備對指令直接譯碼并輸出脈沖信號,無需星上軟件操作。處理間接指令、數據指令時,測控設備先將完整的注入數據幀轉給器上軟件,再由器上軟件處理后輸出脈沖信號、進行相關邏輯操作。
間接指令的優勢在于能夠通過軟件控制實現延時程控發送,使用上更靈活;直接指令的優勢在于當星上計算機CPU模塊工作異常時仍能正常執行,通常將直接指令作為處置星上故障的手段。在實際使用中,直接指令受通信弧段的約束,必須通過地面站或中繼星經測控鏈路上注到星上,因此衛星在可見弧段外無法使用直接指令。而通過中繼星上注直接指令時,相鄰指令間隔受轉發策略影響,星上接收間隔可能與地面發送間隔不一致。因此,在軌更多用到執行時間可預期的延時間接指令。
在以中型敏捷遙感公用平臺為代表的智能化衛星上,廣泛應用了綜合電子系統。如圖1所示,該綜合電子系統包含一臺系統管理單元(SMU)和多臺數據接口單元(DIU)。系統中各設備采用通用化模塊設計,通過采用通用計算機模塊提升了DIU的計算能力。結合DIU本身具備的遙測采集、指令發送、功率驅動等能力,使DIU有足夠的算力和能力支撐復雜的自主運行管理和自主安全管理功能,為在SMU、DIU之間進行自主任務分配提供了基礎。

圖1 智能化衛星綜合電子系統組成示意Fig.1 Diagram of avionics system constitution for intelligent satellite
從圖1中可知,設備內各模塊間通過底板上的內總線通信,各設備間通過星內數據總線通信。其中,底板內總線選用ARINC659總線,星內數據總線選用1553B總線。同時,在兩個DIU的指令模塊間設置了專用的互連電纜。
在綜合電子系統級實現的高可靠開關指令發送控制信息流如圖2所示。在發送間接指令時,SMU首先將指令通過1553B總線同時發送給平臺數據接口單元(PFDIU)和載荷數據接口單元(PLDIU)。DIU內部與ON/OFF指令發送相關的部件包括CPU模塊、指令模塊和指令譯碼器:CPU模塊解析遙控包,將指令翻譯為指令模塊能識別的碼字;指令模塊根據碼字識別指令通道,向指令譯碼器發送控制碼字;指令譯碼器按照控制碼字生成指令脈沖。

圖2 綜合電子系統級高可靠開關指令發送控制Fig.2 High reliability ON/OFF command sending control at avionics system level
從圖2中可知,DIU的CPU模塊通過1553B總線接收從SMU發來的遙控包,解析后通過ARINC659總線發送本機指令模塊。指令模塊識別指令為本機指令時,通過內部通道發送給本機指令譯碼器;指令模塊識別指令為非本機指令時,通過指令模塊互連電纜發送給另一個DIU的指令譯碼器。指令譯碼器按照收到的指令通道產生輸出的脈沖信號。
在大幅提升可靠性的同時,系統級指令發送控制方法也帶來了新的需求。一方面衛星對單條ON/OFF指令的脈沖寬度有一定的范圍要求,一般應在(80±10)ms的范圍內;另一方面需要考慮多條ON/OFF指令連續發送時,指令間不能發生干擾。為滿足這兩方面約束,需要保證兩臺DIU處理ON/OFF指令的同步。為此,提出了一種基于時間同步1553B總線協議的指令協同管理方法。
得益于綜合電子系統的星載處理能力提升,將傳統航天器集中于SMU實現的功能重新進行了分布式規劃,將其中部分管理功能移至PFDIU和PLDIU上實現。為提升星載軟件的通用化程度,在設計上采用了包含5個層次的分布式星載軟件架構,如圖3所示。
從圖3中可知,指令協同管理功能在作為BC的SMU和作為RT的PFDIU、PLDIU星載軟件的應用層中實現,涉及的功能項包括軟總線層實現的星內路由、中間件與構件層實現的時間同步1553B協議和指令相關功能項(分包遙控、指令序列調度、隊列管理)、操作系統與設備虛擬層中實時操作系統提供的中斷接口以及硬件層提供的1553B總線接口。

圖3 指令協同管理在星載軟件架構中的位置示意圖Fig.3 Schematic diagram of the location of command collaborative management in on-board software architecture
對所有設備,指令協同管理功能均由時間同步1553B總線協議的幀同步中斷信號觸發。按照基于時間同步1553B總線通信協議制定的通信幀規劃,BC端在特定的通信幀內發送需要協同控制的指令,RT端在特定的通信幀開始時接收處理需要協同控制的指令。BC端發送指令的通信幀與RT端接收處理指令的通信幀不相同,各RT接收處理指令的通信幀相同。
在設計時間同步1553B總線協議時,首先需要選擇時間同步周期和幀周期。時間同步周期與幀周期的關系為
Tsync=N×Tframe
(1)
式中:Tsync是時間同步周期,Tframe是幀周期,N為正整數。時間同步周期Tsync的長短與系統級時間同步需求相關,幀周期Tframe的長度選擇與RT端處理能力相關。為方便總線通信規劃,一般將各個幀周期設為相同時長,Tframe的選取應滿足
(2)
式中:CBC(Tframe)為BC端在一個通信幀Tframe內向RT發送消息的能力,M為總線系統中的RT數量,CRT(i)為第i個RT的消息處理能力。協議設計應確保總線上消息處理能力最弱的設備在一個幀周期內不會發生堆棧溢出,以便于RT端軟件設計。
基于時間同步1553B總線協議,在綜合電子系統應用層軟件中設計了指令協同管理功能,在系統層面規劃BC向RT發送指令的時機和各RT接收執行指令的時機如圖4所示。

圖4 通過指令協同管理實現不同設備間開關指令同步處理Fig.4 Synchronized processing of ON/OFF command between different devices implemented through command collaborative management
為實現兩個DIU的指令同步,由SMU發起ON/OFF指令發送。SMU收到地面注入的ON/OFF指令源包后,將其解析成單條的ON/OFF指令發送給各個DIU。DIU通過置數取數服務檢測到新的ON/OFF指令后,對其進行格式校驗,校驗正確后發送。BC端軟件和RT端軟件均通過每個通信幀最開始時的幀同步信號判斷該通信幀中本設備可實施的動作,BC端發送控制在圖4中標識“檢索發送”的通信幀中完成對多個RT的指令分發,RT端接收控制在圖4中標識“接收執行”的通信幀開始時完成指令接收。為避免讀寫沖突,BC和RT不在同一通信幀內進行指令相關操作。
RT在BC發送ON/OFF指令的通信幀之后下一個幀同步信號激勵下進入總線中斷服務程序,此時兩個DIU中均已收到來自SMU的ON/OFF指令,DIU在總線中斷中完成ON/OFF指令的接收、執行。通過DIU內中斷優先級、中斷最大嵌套時間等設計,實現對ON/OFF指令輸出脈沖寬度的控制。
通過控制BC端相鄰兩次“檢索發送”的間隔避免ON/OFF指令間發生干擾,例如在一條ON/OFF指令發送過程中又啟動另一條ON/OFF指令的發送。相鄰兩個允許“檢索發送”的通信幀的幀同步信號間隔應大于ON/OFF指令最大脈寬。
綜合考慮幀周期時長、指令脈沖寬度、系統指令發送能力需求、總線通信效率等各種因素,通過系統級綜合規劃生成全局指令協同管理配置。1553B總線上各相關設備統一按全局配置分時進行“檢索發送”動作(BC端)和“接收執行”動作(RT端)。以圖4為例,BC在第i個通信幀檢索發送指令,RT在第i+1個通信幀接收執行指令。為確保跨時間同步周期的協同連續性,RT端在第0幀的“接收執行”動作對應BC端在上一個時間同步周期最后的“檢索發送”動作。
在某智能化遙感衛星的綜合電子系統硬件平臺上,運行實際任務中使用的飛行軟件,對本文提出的基于時間同步1553B總線協議的指令協同發送控制方法進行了驗證試驗。向DIU發送ON/OFF指令,通過地面設備監視ON/OFF指令輸出。DIU硬件輸出ON/OFF指令脈沖包括對外的指令和控制內部寄存器的指令,可通過監視實際輸出的指令脈沖或通過執行效果判斷指令是否正常發出。通過示波器監視ON/OFF指令的輸出波形,如圖5所示。

圖5 開關指令輸出脈沖波形Fig.5 Waveform of ON/OFF command output pulse
在圖5中,每個橫格為10 ms,每個縱格為5.0 V。從測量結果可見,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指令脈沖寬度在指標要求的(80±10) ms的范圍內,滿足要求。
在正常工況和6種故障工況下對ON/OFF指令發送效果進行了測試,結果如表1所示。

表1 ON/OFF指令實際輸出脈寬范圍測試Table 1 Actual output pulse width range of ON/OFF command
在正常工況下,兩個DIU在幀同步信號的觸發下同時啟動ON/OFF指令的發送,但由于中斷嵌套、原子操作等原因,兩個DIU動作在不同時序條件下會存在一定范圍的波動。DIU脈沖最大寬度80.5 ms與兩個DIU星載軟件中總線中斷最大嵌套時間吻合,指令發送正常。在故障工況下,在一個DIU自身故障導致不能正常輸出指令時,仍可在系統層面控制另一臺DIU發送故障DIU的ON/OFF指令。
經過“十三五”期間多顆衛星的實踐,本文提出的基于時間同步1553B協議的指令協同管理方法的功能和運行可靠性已在對地觀測、測繪、海洋觀察等多個領域得到了充分驗證。基于時間同步1553B總線協議中的幀同步信號實現的系統級指令協同管理,即實現了BC端指令處理動作與RT端指令執行動作的互斥,又實現了不同RT設備指令執行動作的同步。該方法基于層次化的開放式星載軟件架構實現,代碼通用性和軟件跨平臺適應性好,易于移植。后續研究中,將針對更多類型星載總線的特點和總線網絡內設備同步動作需求,進一步拓展該方法的適用范圍。