兰 天,程慧霞,郭 坚,穆 强,董振辉
(北京空间飞行器总体设计部,北京 100094)
为实现月球采样返回,设计、建造了嫦娥五号探测器[1-2]。作为中国有史以来最复杂的航天器,嫦娥五号由轨道器、返回器、着陆器、上升器共四个舱段组成,四个舱段从下向上采用串联方式组成多舱段组合体[3-5]。在发射、进入、采样、转移、返回整个飞行过程中,舱段间以不同组合方式实现相应动作,既要求各舱段能独立实现特定功能,又要求舱段间能够相互配合工作。在任务对重量、功耗的特殊限制条件下,为满足探测器内数据智能化、网络化交互需求,充分借鉴现有多舱段复杂航天器信息网络设计经验[6],全新设计了多舱段间信息流、控制流协同管理的信息网络[7]。
高精度时间统一是航天器内部以及航天器与地面之间协同动作的必要条件。对航天器时间通常有两方面的要求:时间稳定性与时间准确性[8-9]。可使用高稳定度晶振、搭载原子钟等手段确保时间的稳定性。在全球卫星定位系统(Global positioning system,GPS)中,普遍搭载了铯(Cs)原子钟或铷(Rb)原子钟[10]。为实现观测结果与观测时间的高精度对应,欧空局(European space agency,ESA)在Gaia天文望远镜上也使用了高稳晶振和Rb钟[11]。
为确保时钟准确性,首先在系统中选择稳定度高的时钟作为时间基准,再通过时间同步手段使系统中其他时钟对准时间基准。在深空探测领域,基于行星际互联网(Interplanetary internet,IPN)的网络化时间同步是研究的一个热点[8-9],将地面网络中成熟的时间同步协议,如网络时间同步协议(Network time protocol,NTP)、精确时间同步协议(Precision time protocol,PTP)[12]等向空间网络移植是重点研究方向。但由于IPN本身尚在雏形阶段,且NTP、PTP协议对空间网络的适应性尚有待验证,因此该研究方向尚在探索阶段,未大规模应用。
当前,航天器时间统一的主流实现方式是通过测控链路校准航天器内时间基准设备,再由该设备在总线上广播时间以实现器内时间同步。测控链路可以选择:地面站与航天器的直连链路[13]、星间链路的中继链路[14]、卫星系统内部的星间链路[15-16],也可以依据导航卫星[17]。
航天器内时间基准设备完成校时后,还需完成器内时间同步。在载人航天、外星球采样返回等领域,多舱段组合体构成的航天器较为多见,实现组合体内时间统一是航天器必要功能约束之一。按照内部网络拓扑结构,现有多舱段组合体航天器可分为两类:以载人飞船、月地高速再入返回探测器为代表的“主从式”组合体和以飞船-空间实验室、空间站为代表的“对等式”组合体[18-20]。在载人飞船[18]、月地高速再入返回探测器[19]上,舱段间分离后不会再次组合,组合体内时间基准设备固定、唯一,可通过1553B总线广播实现时间同步。在飞船-空间实验室[18]、空间站[20]上,舱段间通过专门的对接总线实现连接,各舱段通过各自独立测控链路对本舱段进行校时,并通过舱段内1553B总线实现时间同步,没有跨舱段校时。
与上述多舱段组合体相比,嫦娥五号探测器各舱段间的组织方式更为复杂。在嫦娥五号探测器上,轨道器、返回器、上升器三个舱段有各自独立的测控链路。轨道器、返回器采用“主从式”连接,轨道器、上升器间通过着陆器实现“对等式”连接[21]。沿用以往多舱段组合体校时方法,需分别对轨道器、上升器实施校时,效率较低。
针对嫦娥五号多舱段具备测控能力的设计基础,从优化操控、提升能力的目的出发,为探测器设计了一套多舱段物理上行信道器内联通方案。通过网络层自识别路由协议,实现了通过任意具备测控能力舱段操控整器的能力,减轻了地面测控压力,减少了燃料消耗,增加了整器冗余备份能力[7]。在此基础上,通过探测器多舱段组合体信息网络,设计了舱段间的时间同步方案[21]。在该时间同步方案的实施过程中,需解决两方面的问题:1) 时间信息跨舱段传输; 2) 传输过程中的误差控制。
针对嫦娥五号探测器,提出了一种多舱段组合体接力式校时及误差控制方法。针对时间信息跨舱段传输问题,提出舱段间接力式时间传递方法,实现了器内信息网络上时间信息的自流动;提出基于飞行模式的时间基准设备检索方法,为各设备进行自主校时提供了时间信息筛选依据。针对传输过程中的误差控制问题,尤其是“对等式”组合舱段间传输误差控制,基于对中断响应时间和数据竞争的分析[22-27],提出了一种分布式校时传递误差控制方法,设备按照BC、RT角色采用相应的误差控制手段,实现对组合体内部端到端总误差的有效控制。
嫦娥五号探测器由轨道器、返回器、着陆器、上升器四个舱段组成,在四舱段组合体构形下,舱段间以串联方式连接,如图1所示。
图1 嫦娥五号探测器四舱段组合体构形示意图Fig.1 Sketch of four modules of the Chang’e-5 probe
探测器发射升空后,顺序完成地月转移、分离、下降、月面工作、月面上升、交会对接、月地转移、返回等动作。在不同飞行阶段,探测器内数据网络结构灵活、多变。按照构形设计体积、重量、功耗约束,嫦娥五号以数管分系统为核心构架了以两层1553B总线为信息通道,以多台数管计算机为信息中心节点的新型多舱段组合体航天器网络架构,如图2所示。
图2 嫦娥五号探测器四舱段组合体网络拓扑结构图Fig.2 The network topology of Chang’e-5 probe in a combination of four modules
针对探测器组合、分离、对接各阶段数据网络结构可变的传输难题,对子网间数据传输网络终端进行了优化设计,减少网络终端及穿舱总线的数量,实现整体减重目标,在多种组合下(四舱段组合体、三舱段组合体、两舱段组合体、单舱段独立工作)舱段内、舱段间信息传输高效、可靠。上升器综合管理单元(System management unit,SMU)、轨道器SMU、返回器SMU分别是着上组合体总线网络、轨返组合体总线网络和返回器总线网络上的总线控制器(Bus controllor,BC)。返回器SMU作为返回器总线网络与轨返组合体总线网络的网关设备,在轨返组合体总线网络端工作在RT模式,在返回器总线网络端工作在BC模式。着陆器数据接口单元(Data interface unit,DIU)作为着上组合体总线网络与轨返组合体总线网络的网关设备,均工作在RT模式。
在一条1553B总线上同一时间有且只有一台设备作为BC,其他设备作为远置单元(Remote terminal,RT)。结合BC、RT间通信过程和软件设计模式,为设备制定时间传递规范,将多舱段组合体校时过程分解为舱段间的接力动作。通过BC至RT、RT至BC两个方向的时间传递规范,实现了时间信息在各舱段总线网络内部和舱段间的动态传递。
探测器内部网络上各设备按照自身在1553B总线上的工作模式,完成在该条总线上自身所需进行的时间传递动作。如图3所示,BC以时间广播方式发布时间,RT每接收一次BC的时间广播后,都在自身特定发送子地址更新时差。BC在时间广播后,间隔一段时间后按照协议从特定RT取回时差。
图3 接力式时间传递方法中相邻BC、RT设备间时间信息传输过程示意图Fig.3 Diagram of time information transmission process between adjacent BC and RT devices in relay time transfer method
通过与BC、RT工作模式绑定的传输操作,解决了网络内各设备如何获得时间信息的问题,将航天器内部网络中的时间信息流动问题分解、提炼为服务层的具体操作,按照此规范设计的设备可实现任意层级、连接方式的1553B总线网络内时间信息的接力式传递。
在多舱段组合体航天器中,设备可同时从多个方向获取到时间信息,此时需有一种方法确定依据从何处传来的时间信息对自身进行校时。为此,提出了基于飞行模式的时间基准设备检索方法,结合接力式时间传递过程,逐级定义时间基准设备,各设备根据本设备上一级时间基准设备发布的时间信息实施自主校时。
探测器按照不同飞行模式下器内信息网络拓扑结构,综合设备位置、设备时钟稳定性和测控条件等,选定各飞行模式下唯一的时间基准设备,通过测控链路对该设备进行授时。优选位于网络中段、具备高稳时钟源和具备测控链路的设备作为整器的时间基准设备。该设备发布的时间信息可通过接力式校时方法实现在器内信息网络上的自流动,影响到整个组合体的各个设备。
针对嫦娥五号可能的组合体飞行模式,建立时间基准设备检索表,见表1。将该检索表保存在多舱段组合体各设备上,通过飞行模式和本设备标识(ID)即可在表中检索到本设备的上级时间基准设备。在飞行模式转换时,多舱段组合体上的所有设备同步切换。
从表1中可见,在四舱段组合体轨道器主导校时的飞行模式下,返回器SMU、着陆器DIU按照轨道器SMU的时间校正自身时间,上升器SMU按照着陆器DIU时间校正自身时间。此时,地面只需给轨道器一个舱段校时,即可实现对多舱段组合体的校时。
表1 基于飞行模式的上级时间基准设备检索表Table 1 Retrieval table of superior time reference devices based on flight mode
通过基于飞行模式切换的时间流向控制和时间基准设备检索,解决了组合体内信息网络上具备多个时间信息来源的设备如何选择校时依据的问题。对应每个飞行模式,设备能在表中找到唯一的上级时间基准设备,本设备依据该上级时间基准设备通过接力式时间信息传递方法发来的时间信息进行校时。
校时信息传递过程中的误差分别在信息传递的每个环节进行分布式修正。若设备是BC,则周期性取自身时间,将时间信息发布给该条总线上的各个RT设备。BC端设计可通过关中断取时间、发消息的方式,将取时间、组织总线消息、总线消息传输等动作引入的时间误差控制在固定范围内,并对该误差进行测量。在发送前,将误差修正到待发送时间信息中。修正后,在该信息传输完成、触发接收端总线中断信号时,信息中的绝对时间为此时BC端的准确时间。现有文献中对此类方法的研究较为充分,本文不再赘述。
若设备是RT,需对接收时间信息的子地址进行特殊设置,为其绑定独立的数据块,并使能消息完成中断以尽快检测到时间信息更新。可在对RT端软件中断进行分析的基础上,在总线中断服务程序及更高优先级的中断服务程序中,通过基于数据有效性的时间数据更新查询方法,减小RT端操作引入的误差。传统的RT端中断服务程序中,通常采用逐条检查堆栈的方式处理新消息,若在时间信息之前有较多消息,这种处理方法会引入较大的误差。
在总线中断服务程序中,采用基于数据有效性的时间数据更新查询方法优化RT端对更新的时间信息的查询方式,如图4所示。
图4 基于数据有效性的时间数据更新查询方法Fig.4 Time data update query method based on data validity
在查询是否有新的时间信息时,首先检查时间的有效性标志,若无效则退出本次检测;若时间有效性标志为有效,则进一步检查校验和判定数据完整性,若校验不通过则退出本次检测;在数据有效且通过检验后,取RT设备当前的绝对时间,与BC发来的绝对时间成对保存,设置待处理标志。
以四舱段组合体轨道器主导校时飞行模式为例,时间传递过程中误差如图5所示。从图5中可见,TA为轨道器SMU在总线上开始广播时间的时刻,TB为着陆器DIU完整接收到广播时间的时刻,着陆器DIU在TC时刻检查到轨道器SMU广播时间并取DIU本地时间,根据该本地时间计算着陆器相对于轨道器的时差。TD为上升器SMU在总线上开始广播时间的时刻,TE为着陆器DIU完整接收到广播时间的时刻,着陆器DIU在TF时刻检查到上升器SMU广播时间并取DIU本地时间,根据该本地时间计算着陆器相对于上升器的时差。TG和TH为轨道器SMU发起取时差通信的时刻和完整接收到时差的时刻,TI和TJ为上升器SMU发起取时差通信的时刻和完整接收到时差的时刻。从TA到TH,轨道器与着陆器完成一轮时间信息交互;从TD到TJ,上升器与着陆器完成一轮时间信息交互;轨道器与上升器间通过着陆器完成接力式校时。接力式校时的时间传递误差主要包含两部分,ΔT1、ΔT3为BC引入的误差,ΔT2、ΔT4为RT引入的误差。
图5 接力式校时过程中的时间传递误差Fig.5 Time transfer error in relay timing calibration process
BC引入的误差可通过BC端操作加以修正,RT引入的误差可通过RT中断服务程序设计加以修正。在RT中断服务程序中实施多次查询,实现对误差最大值的控制。在四舱段组合体轨道器主导校时模式下,在轨道器总线一端,着陆器DIU计算出的与轨道器SMU间相对时差为:
DGSMU-DIU=TG-SMU-(TDIU_G+ΔT2)
(1)
式中:TG-SMU为轨道器SMU发送已经修正了ΔT1之后的时间;ΔT2为着陆器DIU自身处理引入的误差;TDIU_G为着陆器DIU与TG-SMU对应的准确接收时刻;DGSMU-DIU为DIU根据轨道器绝对时间和自身记录的接收时刻计算出的与轨道器间的相对时差。
通过查阅飞行模式绑定的上级时间基准设备检索表,着陆器DIU确定在该模式下轨道器SMU是自身的上级时间基准设备,因此根据式(1)中的相对时差校正本机时间。
依据此时差校时后,着陆器DIU与轨道器SMU间的时差为-ΔT2,即着陆器DIU的时间比轨道器SMU的时间慢ΔT2。
在上升器总线一端,着陆器DIU计算出的与上升器SMU间相对时差为:
DDIU-SSMU=(TDIU_S+ΔT4)-TS-SMU
(2)
式中:TS-SMU为上升器SMU发送已经修正了ΔT3之后的时间,ΔT4为着陆器DIU自身处理引入的误差,TDIU_S为着陆器DIU与TS-SMU对应的准确接收时刻,DDIU-SSMU为DIU根据上升器绝对时间和自身记录的接收时刻计算出的与上升器间的相对时差。依据此时差校时后,着陆器DIU与上升器SMU间的时差为-ΔT4,即上升器SMU的时间比着陆器DIU的时间快ΔT4。
在接力式校时过程中,在每两台相互接力的设备里,同一时间只有一台设备需要进行校时。校时动作是由设备根据与飞行模式绑定的上级时间基准设备检索表自行确定的。在四舱段组合体轨道器主导校时模式下,轨道器SMU与着陆器DIU的接力过程中,着陆器DIU校时;着陆器DIU与上升器SMU的接力过程中,上升器SMU校时。
基于上述两两接力校时的时差,进一步对四舱段组合体轨道器主导校时模式下接力校时源端(轨道器SMU)与末端(上升器SMU)之间的时差进行分析。轨道器SMU与上升器SMU之间的时差为:
DGSMU-SSMU=(TG-SMU-ΔT2)-(TS-SMU-ΔT4)
(3)
由上式变换得到:
DGSMU-SSMU=(TG-SMU-TS-SMU)+(ΔT4-ΔT2)
(4)
可见,经过接力校时后,由于着陆器DIU引入的时差,上升器时间比轨道器时间慢(ΔT2-ΔT4)。通过对ΔT2和ΔT4进行控制,可实现对校时误差的有效控制。
可通过多次查询的方式实现对ΔT2和ΔT4最大值的控制,如图6所示
图6 基于多次查询的时间传递误差控制Fig.6 Time transfer error control based on multiple queries
图6中,T0为BC发布时间传输完成的时刻,T1、T2、T3、T4分别为在中断服务程序中调用基于数据有效性的时间数据更新查询方法的时刻。
若不进行多次查询,则因中断嵌套引入的最大误差为:
(5)
式中:DB为总线中断服务程序最大嵌套工况下的打断延时;N为可能打断总线中断服务程序的高优先级中断服务程序总数;Lmax(i)为第i个高优先级中断服务程序单次最大执行时间;Tmax(i)为第i个高优先级中断服务程序最大嵌套次数。
在计算中断嵌套引起的总延时指标时,需要考虑到总线中断服务程序本身引起的延时。通过系统设计分配的校时传递误差指标和RT端中断最大嵌套延时,可将相邻两次调用查询间隔约束表述为:
ICALL≤DT-DB
(6)
式中:ICALL为自BC发布的时间信息传输完成那一时刻到RT第一次查询到这一绝对时间并取自身当前时刻之间的时间延迟,该延迟以ΔT2和ΔT4体现在时差中;DT为校时传递误差指标,DB为总线中断服务程序最大嵌套工况下的打断延时。当ICALL 系统设计完成误差指标分配后,DT则可以确定。DB与RT端程序设计有关,可通过调整中断优先级、控制各级中断最大执行时间等手段加以调节。在DT和DB确定后,ICALL的最大值约束便可以建立。而多次查询的目的,就是使得: (7) 式中:M为RT端最大中断嵌套场景下的查询总次数,Ti为第i次时刻。从上式可见,多次查询中任意两次查询间的最大时间间隔不能大于ICALL。 上述方法通过中断优先级和触发方式设计,控制从BC发送的绝对时间信息到达至RT开始处理该信息之间的时间延迟误差;通过基于时间信息有效性校验的多次查询,控制RT端高优先级中断和总线中断服务程序自身执行误差。通过综合使用总线中断优先级设计、中断触发方式设计和基于选择性主动查询的中断服务程序设计等多种手段,实现了对双RT模式网关校时传递误差的有效控制。 基于嫦娥五号数管分系统验证了接力式校时及误差控制方法。在着陆器DIU上,采用24 MHz主频的80C32处理器。在该主频下,处理器内机器周期为0.5 μs。在着陆器DIU软件中,综合考虑各项功能需求,将DIU中负责实现脉冲指令发送的定时器中断设为最高优先级中断,将总线中断优先级设为次高优先级。在不打断程序中原子操作的前提下,以等间隔的原则分别在两个中断服务程序中插入查询点,测试得到查询点数量与中断最大嵌套执行时间和时间传递最大误差间的关系,见表2。 从表2中可见,当总线中断中只查询一次时,时间传递最大误差与中断最大嵌套执行时间相等,出现在广播时间到达RT的时间刚好在本次查询之后时。随着在中断服务程序中插入更多的查询点,时间传递最大误差明显下降。在将时间精度作为最高优先级指标进行设计时,可通过该方法实现最大传递误差不超过50μs的控制效果。但查询动作本身也会耗费机时,此时需要在其他功能的控制精度、响应实时性上付出相应代价。 表2 查询点数量对时间最大传递误差的影响Table 2 The influence of the number of query points on the maximum time transfer error 除高精度时间同步外,着陆器DIU软件还肩负着器间数据转发、机构控制、科学数据复接存储、分离后自主运行等重任,因此在工程实现上需按照指标要求对性能、代价进行平衡。 嫦娥五号探测器系统要求在不考虑晶振长期漂移的情况下,地面对探测器授时并由器上自主完成时间同步后,各器与地面间时差小于5.00 ms。针对这个时间指标,数管分系统按照最长传输路径(从轨道器SMU到上升器SMU)进行了内部指标分配,给作为网关设备的着陆器DIU下达校时传递误差绝对值不大于2.00 ms的要求。 着陆器DIU对中断优先级和在中断服务程序中进行了针对性设计。以查找汇编代码最大执行分支的方法,对定时器中断和总线中断的中断服务程序最大执行时间进行了分析。经分析,定时器中断的最大执行分支耗时263 μs,总线中断服务程序的最大执行分支耗时2176 μs。针对中断服务程序的最大执行分支决定,在总线中断服务程序中进行3次查询,相邻查询间最大执行分支耗时937 μs。 分别在数管分系统测试、地面系统级测试和在轨飞行过程中对提出的接力式校时和误差控制方法进行了验证。在数管分系统测试中,通过具有2条1553B总线仿真能力的地面测试计算机和真实的飞行设备,搭建了双RT模式网关校时传递误差测试系统,如图7所示。 图7 双RT模式网关校时传递误差测试系统Fig.7 Relay calibration transfer error test system for dual RT mode gateway 通过总线仿真卡模拟轨道器和上升器通过位于两个舱段间的着陆器进行数据交互的最大工况,轨道器、上升器开始时总线通信的时机随机,各以30 s周期向着陆器广播自身时间,并在广播绝对时间后指定间隔取回相对时差。运行长时间的强度测试,通过总线记录判读因着陆器引起的校时传递误差在0~1.20 ms范围内,满足要求。 在地面系统级测试中,通过引入GPS时间,与轨道器、上升器下行遥测帧插入域中的时间码进行比较,检查在四舱段组合体模式下通过器内信息网络实现各器时统后各器时间波动是否满足探测器时间误差要求。经测试,在四舱段组合体模式下,通过地面对轨道器进行校时后,轨道器下行遥测帧内的时间与相应的GPS时间近乎同步,上升器下行遥测帧内的时间与相应GPS时间最大绝对误差为1.73 ms,满足要求。 嫦娥五号探测器于2020年11月24日在海南文昌发射升空,12月17日携月壤样本着陆于内蒙古四子王旗。在轨飞行过程中,在不同飞行模式下分别通过轨道器、上升器测控链路对探测器进行了授时,授时后各舱段能够通过本文所提方法实现高精度时统,有效保障了舱段分离、月面降落、月面上升、返回等对时间精度要求很高任务可靠完成。 针对在嫦娥五号探测器多舱段间的复杂信息网络上实现高精度时统的需要,提出了一种适用于多舱段组合体航天器的接力式校时及误差控制方法。地面对任意具备测控条件的舱段校时后,即可通过组合体网络实现整个探测器的自主高精度时间同步。该方法为实现多舱段航天器时统提供了一条新的技术途径,降低了探测器器内信息网络上校时信息传递误差,适用于具备复杂信息网络的航天器内部实现整器时统。3 工程实现与试验验证
4 结 论