王翠莲,李 寅,李 珂,沈小虎
(1.北京空间飞行器总体设计部,北京 100094;2.航天东方红卫星有限公司,北京 100094)
嫦娥四号探测器搭载的降落相机安装在着陆器底部,与月表垂直,用于实时获取探测器动力下降段月球表面的图像数据,图像帧频不小于10帧/s,峰值图像传输速率高于10 Mbps[1]。为了实现探测器着陆过程的可视化,需要将降落相机最新生成的图像尽快下传。深空通信具有通信距离远、信号衰减严重的特点,同时深空航天器的天线增益和发射功率有限,到达地面站的信号十分微弱[2]。因此,为保证远距离数据传输的可靠性,深空通信速率一般不会太高[3]。目前深空数传对地通信速率一般在2 Mbps以下。在嫦娥四号任务中,探测器产生的遥测数据、探测数据和图像数据通过统一的合路调度及编码后由中继星转发至地面。图像数据可用的通信速率不超过500 kbps。在这种情况下,图像的生成速率和下行速率之间存在矛盾。因此,需设计一种可视化的图像传输方案。同时,深空探测器是资源受限的系统,应尽可能降低方案工程化的复杂度。
嫦娥四号探测器数据管理分系统中设计复接存储器,负责对探测数据、图像数据和探测器遥测数据进行合路调度、存储和下传。针对不同应用场景下对数据传输的需求,复接存储器可以实现灵活的数据流管理。在动力下降段,图像数据的存储和下传需求为:(1)所有载荷(含降落相机)在动力下降段产生的数据都需要保存在大容量存储器中。当探测器到达月面且对地通信信道可用时,可将存储数据选择性回放并下传;(2)在探测器着陆过程中,实时下传降落相机生成的最新图像。
文献[4-7]提出了一种星载数据复接存储器设计方案,针对多类载荷数据的存储和下传需求,实现灵活的数据流向管理。载荷数据可以先存储再回放,也可以不经存储直接下行。载荷数据同时输入至存储通道和下传通道。在存储通道的数据流设计中,需要保证存储芯片编程速率高于载荷数据的峰值输入速率。在下传通道的数据流设计中,为保证下传图像的完整性,需要对整幅图像进行缓存,之后判断下行信道是否空闲,当信道空闲时从缓存中读取数据下传。该方案的优点是:实现简单,可以与复接存储器整体的数据流兼容。缺点是:(1)由于需要缓存一幅完整的图像,当图像较大时,需要的硬件资源开销随之增长;(2)在一幅图像缓存满后,才开始读取下传,实时性较差。
除此之外,目前星载大容量存储器广泛采用“记录-回放”的设计模式[8-11],将载荷数据输入存储通道,采用边记边放的方式存储并下传。回放模式可选择按时间回放或按地址回放。上述两种回放方式需要地面提前获得载荷数据的存储时间或存储地址,并将包含回放时间或回放地址在内的回放指令注入探测器。此方案的缺点在于:(1)应用较复杂,不利于实现自主化的存储及回放管理;(2)仅在图像输入速率不变的前提下才能准确估计最新图像的存储时间或存储地址,无法实现速率自适应的可视化传输。
因此,本文在传统星载大容量存储器的设计基础上,提出一种特殊的回放模式,在该模式下图像在存储的同时打上特殊标记,在回放时采用抽帧回放[12]的方式将最新的有特殊标记的图像读取并下传。该方案与探测器复接存储器设计状态兼容,需要增加的硬件开销仅为一个附加信息寄存器,以及一组最新图像存储地址寄存器。本文重点对该方案的整体设计和关键技术进行讨论。
降落相机通过LVDS(Low-voltage differential signaling)接口与复接存储器相连,数据内容包括高压缩比图像数据和低压缩比图像数据。两种数据以幅为单位间隔出现,传输比例可变。由于高压缩比图像压缩率高,数据帧长较短,为了提高信道利用率,应尽可能多下传高压缩比图像。两种图像格式如图1所示。
图1 降落相机图像格式(上:低压缩比;下:高压缩比)
为实现降落相机图像的可视化传输,需要在存储所有图像数据的同时,将高压缩比图像实时下传。考虑探测器软硬件资源的设计开销,对降落相机图像的处理应与复接存储器整体的设计兼容。图2为复接存储器的设计框图,在此基础上实现降落相机图像可视化传输的方案具体如下:
图2 复接存储器设计框图
(1)降落相机发送至复接存储器的图像数据首先经过图像格式识别及组帧模块,将高压缩比图像和低压缩比图像分离、切分并分配虚拟信道标识。
(2)每一幅高压缩比图像为16394 B,按空间数据系统咨询委员会(Consultative committee for space data system,CCSDS)组织定义的高级在轨系统(Advanced orbiting system,AOS)帧格式对图像数据进行虚拟信道数据单元(Virtual channel data unit,VCDU)组帧,可组成19帧,包括1帧头VCDU,1帧尾VCDU和17帧中间VCDU。
(3)存储合路模块将高压缩比图像VCDU与其他载荷产生的VCDU进行合路调度,竞争存储信道后存入存储载体。
(4)存储载体中的回放控制模块在动力下降段采用一种抽帧回放方法,将高压缩比图像VCDU帧从存储载体中回放出来,具体工作流程为:①存储载体加载最新图像的存储地址,从此地址开始顺序回放;②当回放至一幅高压缩比图像的末尾时,完成一幅图像的抽帧回放;③重复以上步骤,抽取回放下一幅图像。
(5)经筛选、过滤后的高压缩比图像VCDU帧与其他实时下传帧经过下行合路及编码之后发送至数传应答机。
由以上处理流程可知,该方案中涉及的关键技术包括抽帧回放算法、帧格式识别方法、合路调度算法等。
抽帧回放算法主要在存储控制和回放控制两个模块内实现,图3为抽帧回放算法原理框图。为了准确识别一幅完整的高压缩比图像,经过AOS组帧后数据帧需要设计附加信息区分高压缩比图像的VCDU头帧、VCDU尾帧和VCDU中间帧,在存储时需要把附加信息同时保存。
图3 抽帧回放算法原理框图
复接存储器选用NandFlash作为存储载体,每页大小为2 KByte,可存储两个VCDU帧。在按页存储时,除了保存VCDU帧的数据内容外,还需要保存附加信息和编码校验位。由于NandFlash采用合路调度机制访问,所以保存在同一页数据可能包括多种载荷产生的不同VCDU帧。附加信息需要对NandFlash页内存储的数据内容予以区分。附加信息格式设计如表1所示。
表1 附加信息格式
同时,存储控制模块需要将高压缩比图像头帧存储地址和尾帧存储地址实时传递到回放控制模块,保证回放控制模块在加载回放地址时能够立即获得最新一幅图像的存储地址。
在动力下降段需要将回放控制模块设置为抽帧回放模式,该模式区别于传统的顺序回放或选址回放,是一种可以自主运行的回放模式,通过回放地址加载、回放开始、回放停止的自主管理,实现高压缩比图像帧的抽取下传。当下行数传信道可用时,回放控制模块加载最新的图像头帧存储地址并从该地址开始顺序回放。在回放过程中,首先读取该页NandFlash内存储的附加信息,根据附加信息的内容过滤掉非高压缩比图像的VCDU帧,仅将高压缩比图像VCDU帧传输至下行合路模块。当回放地址等于最新的图像尾帧存储地址时,停止回放。之后重新加载图像头帧存储地址,若与上一次的头帧地址一致,认为当前没有新的图像存储。回放模块在停止状态下继续等待,当新加载的头帧地址发生变化时,启动新一轮的抽取回放流程。
在图像格式识别及组帧模块对降落相机的两种图像数据加以区分,处理流程如图4所示。(1)LVDS信号经过串并转换将单比特信号转为字节信号;(2)对字节信号进行滑动匹配;(3)当帧头匹配后,启动对后续数据块长度和个数的统计;(4)当数据块长度和个数与图1所示的帧结构一致时,将数据进行缓存和组帧,否则重新检测帧头。两个接收模块采用完全相同的处理结构,只是数据块长度、数据块个数两个参数设计不同。在进行FPGA工程化时,可通过例化两个相同模块,设置不同参数的方法实现。
图4 图像格式识别和组帧模块处理流程
本方案中涉及两个部分的合路处理:(1)所有载荷(含降落相机)数据在存储前需要经过统一的合路调度;(2)遥测数据、回放数据和其他实时数据在下行前的合路调度。在多个虚拟信道合路设计时,需采用合理的调度算法和优先级控制策略,以保证合路前后的数据速率匹配,提高传输效率。CCSDS推荐的合路调度算法包括[5]固定优先级调度算法、轮询优先级调度算法、剩余量优先级调度算法等,上述算法的优缺点在不同的应用场景和调度需求下有所不同。本文根据探测器在动力下降段、可见弧段和不可见弧段的存储和下传需求,设计了一种基于工作模式的优先级调度算法,在不同模式下采用不同的调度机制,将采用固定优先级和轮询优先级相结合,具体设计如表2所示。
表2 不同工作模式的优先级调度策略
本方案中采用的抽帧回放算法,在收到一幅完整的高压缩比图像数据后更新图像头帧及尾帧存储地址。考虑最恶劣的情况,最新一幅高压缩比图像接收完毕时前一幅的抽帧回放刚刚开始,此时的处理时延为图像接收时间与两幅图像的输入时间间隔之和。降落相机LVDS接口速率为13.33 Mbps,一幅高压缩比图像接收时间为16394×8 bit/13.33 Mbps=9.84 ms。降落相机成像频率为10幅/s,假设两幅高压缩比图像之间的间隔为64幅,时间间隔约为6.4 s。当下行速率为50 kbps时,一幅图像的19帧VCDU下传时间为19×2048×8 bit/50 kbps=6.226 s。
由图5可以看出,最恶劣情况下第N幅图像处理时延为6.4 s+9.84 ms=6.40984 s。第N幅图像下传完毕后,最新图像的存储地址为第N+2幅图像的存储地址,地址更新后回放下传第N+2幅图像的数据内容,处理时延自动调整为9.84 ms。后续图像处理延时均保持在9.84 ms,满足可视化传输的需求。
图5 图像处理时延示意图
图像下传的完整性是指完整下传1幅高压缩比图像的19帧VCDU,传输过程不受其他事件的影响。在抽帧回放模式下,回放控制状态机的四个状态自主运行,最新图像的头帧存储地址和尾帧存储地址两个寄存器仅在停止回放状态下同时刷新,在其他状态下不刷新。这种处理机制可以避免头帧存储地址和尾帧存储地址更新不同步造成下传图像不完整。
本方案的速率自适应性包括两个方面,(1)高压缩比图像数据的输入速率自适应,(2)数传下行速率自适应。输入速率影响NandFlash的存储效率,下行速率影响NandFlash的读取效率,两种速率通过NandFlash芯片实现了解耦合。当高压缩比图像数据输入速率超过了数传下行速率时,最新一幅图像头帧及尾帧存储地址会覆盖前一幅图像的头帧及尾帧存储地址,以保证下传数据内容为最新生成。通过这种地址实时覆盖的方式,该方案可不受图像数据的输入速率和数传下行速率的影响,实际下传的图像为自适应抽取后的整幅图像。
当下行速率为50 kbps,280 kbps,下传一幅高压缩比图像需要的时间分别为6.226 s和1.118 s。高压缩比图像和低压缩比图像传输比例分别为1∶8,1∶16,1∶32,1∶64时,地面接收的图像序号如下表所示。几种比例下,高压缩比图像的输入频率分别为0.8 s/幅,1.6 s/幅,3.2 s/幅和6.4 s/幅。由表3可以看出,当数传下行速率大于图像的输入速率时,可以无间隔的下传所有的高压缩比图像;当数传下行速率小于图像的输入速率时,下传的图像序号不连续,两幅图像之间序号有一定间隔,下传的图像为最新产生的数据内容。同时,由表3可知,在下传速率固定时(如50 kbps),存在一个最优的图像输入比例,可以无间隔的下传所有高压缩比图像。在此情况下增大高压缩比图像的传输比例不能将所有的高压缩比图像完全下传。因此在设计时应根据下传速率灵活设置图像的输入比例。
表3 不同输入比例及下传速率下高压缩比图像序号
为进一步评估方案的性能,将本文方案与前言所述两种方案进行比较。方案1将降落相机图像数据同时输入至存储通道和下传通道,其中高压缩比图像缓存完毕后直接通过下行合路及编码模块输出。方案2将降落相机图像数据输入存储通道,采用边记边放的方式存储并下传。
表4为三种方案的资源占用情况、性能以及在轨指令干预情况比较。由表4可知,方案1实现结构简单,但占用的Block RAMs资源随着图像的增大而增大,不适应于探测器等资源受限的系统。方案2与传统的星载大容量存储器设计状态一致,但是在轨需要发送指令进行干预,且图像下传的实时性和速率自适应性较差,不能满足图像可视化传输的需求。本文提出的方案在增加少量Slice资源的情况下,实现了图像的可视化传输,且图像下传的实时性、完整性、速率自适应性都明显优于另外两种方案。
表4 三种方案综合比较
目前该方案已经在FPGA(Field programmable gate array)上实现,芯片型号为Xilinx公司宇航级芯片XQR2V3000。采用该方案设计的复接存储器作为嫦娥四号数据管理分系统的重要模块经过了在轨验证。2019年1月3日上午,嫦娥四号探测器开始着陆,复接存储器设置为抽帧回放模式,下行速率设置为50 kbps。降落相机开机后,高压缩比图像开始自动下传,约6.4 s更新1次,圆满实现了着陆过程的可视化。图6为动力下降段下传的实拍高压缩比图像。嫦娥四号在轨运行状态表明,在数传通信速率有限的情况下,实现了动力下降段图像可视化的传输,设备工作稳定正常。
图6 嫦娥四号探测器动力下降段下传图像
本文设计实现了一种动力下降段速率自适应的可视化图像传输方案,该方案通过设置抽帧回放模式识别最新的图像帧进行抽取回放并下传,在数传通信速率受限的情况下实现了降落相机图像的存储管理和可视化下传,具有实时性高、速率自适应、图像下传完整等特点。
本文提出的图像可视化传输方案中要求降落相机低压缩比图像和高压缩比图像在数据能够格式上有所区分,后续研究重点是设计通用的图像可视化传输方案,不限制载荷图像的数据格式。同时,进一步提高方案的健壮性和可扩展性,为航天器星载数据管理分系统的设计提供参考。