纪丙华,王茂森,沈 奇,张锦涛,戴 琳
(上海航天电子技术研究所,上海 201109)
随着航天事业的发展,卫星在国土勘察、路况规划、气象监测、农产品估值、防灾减灾、广播通信等领域发挥着越来越重要的作用[1-2]。
卫星发射入轨后,受空间带电粒子辐照环境等因素的影响,各分系统的工作状态随时可能发生改变[3]。由于其工作环境的特殊性以及入轨后的不可维修性,使得卫星的在轨健康状态监测和自主任务管理成为提高其可靠性的重要项目。如果地面测控基站或卫星自主健康监测系统不能第一时间获取卫星在轨运行的状态信息,及时感知卫星健康状态,那么一旦发生问题,错过了最佳抢救时机将造成无法估量的损失[4-7]。遥测采集模块作为星上工作状态健康监测的重要组成部分,在母线电压采集、供电电流监测、各分系统模块开关机状态和热控温度采集等方面发挥重要作用,可为星务平台提供多方位的健康状态监测,为实现卫星自主健康管理和地面感知提供重要参数。
本文针对传统卫星平台配套使用的遥测采集模块数字量遥测回传延时长、缓存成本高的问题,研制了一款基于FPGA 控制、无需硬件缓存的即采即发遥测采集电路,旨在为星务平台更好地实现任务规划提供操作依据。
通常使用的遥测采集模块电路如图1 所示。在实际应用中,遥测采集模块在收到平台发出的固有频率的遥测采集指令后即开始采集各分系统工作电压、电流、温度和开关状态等遥测状态信息,同时生成遥测数据包。由于板载FPGA 缓存资源有限,遥测采集模块每周期产生的大量遥测数据只能以固定的数据包格式在FPGA 片外的SRAM 中进行暂存;待遥测采集模块收到遥测群采指令后,再从SRAM 中读取上一包遥测数据回传给星务平台。
图1 传统遥测采集模块电路设计架构Fig. 1 Circuit design architecture of a traditional telemetry acquisition module
由于FPGA 资源的局限性,每次回传的数据来源总是从SRAM 中读取的上一次指令启动缓存的健康状态数据包,所以回传的遥测数据比实时工作状态至少慢1 个星务周期,即完成1 次遥测群采和数据回传至少需要2 个星务控制周期。这使得遥测信息总是滞后于实际工作状态,难以适应卫星平台高实时的健康状态监测要求。
为提升遥测采集模块工作的实时性,本文对传统遥测采集电路的信息流进行优化,设计了一种支持实时状态量采集、即采即发的新型遥测采集模块,其电路设计架构如图2 所示。该新型遥测采集模块电路去除了SRAM 存储器件,即无须将大量的状态遥测数据进行FPGA 片外缓存,仅片内资源即可满足要求,因此简化了电路设计,降低了宇航产品的研制成本,同时提高了数据传输效率。
图2 新型遥测采集模块电路设计架构Fig. 2 Circuit design structure of the new telemetry acquisition module
为了实现遥测采集模块对每路输入状态量的即采即发,对FPGA 控制逻辑进行优化,主要包括模拟通道选通的控制时序逻辑设计和对外输出的控制逻辑设计:要求FPGA 控制逻辑能在回传卫星平台当前采集端口遥测参数的同时,完成下一路模拟量采集端口的模拟量到数字量转换工作。即,当前通道的遥测数据传输完成时,下一路数据已经准备就绪、可以接续传输,进而实现多路模拟量参数从采集到发送的无缝衔接。
其中新型遥测采集模块的模拟量采集逻辑通道地址选择程序如下:
该地址选择程序中,寄存器变量“sample_cnt”是以固定时间周期递增的采集路数寄存器;“mux”是8 bit 位宽的模拟门选通地址控制信号。程序可通过改变模拟门电路地址实现多路输入通道的切换,最大支持85 路模拟量的采集工作;当“sample_cnt”变化时,FPGA 将该变量译码成模拟门的选通地址,实现遥测采集模块对外输入接口的遍历采集。
新型遥测采集模块的遥测参数输出控制逻辑程序如下:
该控制逻辑程序中,“rd_ram_add”是输出通道计数器;“tx_data”是数字量参数输出寄存器;遥测群采指令对应的遥测参数数据包帧长为184 Byte,根据要求顺次输出遥测变量。为便于卫星平台快速提取数据块,开展遥测数据的解包工作,每帧遥测采集模块的遥测数据帧头和帧尾均填充固定的数据格式,帧头包括遥测包引导头“16'h39D7”、遥测包计数和数据包长度等信息,帧尾固定填充“aabbccddee”。对于外部输入的模拟量参数,每当上一路遥测参数发送完毕后,发送地址寄存器“rd_ram_add”即加1,并将当前采到的遥测参数赋值给输出参数寄存器“tx_data”,以实现当前遥测数据的对外发送。
为了验证新型遥测采集模块设计方案的正确与可行性,采用quarteus+Modelsim 软件搭建了工程仿真平台,结合实际应用设计工程测试输入激励,遥测群采指令设计为“1D 97 11 11”, “rx_data”是遥测采集指令译码模块接收到的指令内容。新型遥测采集电路收到遥测群采指令后随即启动遥测群采过程,FPGA 控制输出的遥测数据回传情况如图3 和图4 所示。从图中可以看出:新型遥测采集电路输出遥测数据包的包头引导码“16'h39D7”、遥测包计数和数据包长“16'h00A2”等参数准确;遥测包计数顺次递增,模拟门地址选通依次执行,符合预期要求;每路遥测端口采集完即发送,几乎无时延,并且遥测帧格式满足解包要求,数据输出逻辑准确可靠。
图3 新型遥测采集电路指令接收和遥测回传仿真数据Fig. 3 Simulation of command receiving and telemetry return of the newly developed telemetry acquisition circuit
图4 新型遥测采集电路遥测回传帧尾仿真数据Fig. 4 Simulation of telemetry return frame tail of newly developed telemetry acquisition circuit
为了进一步验证新型遥测采集模块设计方案的可行性,进行实测验证,实测数据如图5 所示。可以看到,新型遥测采集模块的遥测帧序列格式与设计一致,遥测包计数稳定递增。
图5 新型遥测采集模块实测数据Fig. 5 Measured data of telemetry acquisition module
图6 给出了新型遥测采集模块上位机测试控制界面的实测遥测包数据解析结果。
图6 新型遥测采集模块上位机测试控制界面Fig. 6 Testing control interface of upper computer of telemetry acquisition module
由图6 可以看出,当地面测试设备向遥测采集模块发送遥测群采指令时,随即收到遥测采集模块返回的184 Byte 遥测数据包。说明被测的新型遥测采集模块能及时响应测试平台的遥测群采指令,返回数据包格式正确,且功能可靠。
本文设计的新型遥测采集电路采用实时采集、实时发送的设计方案,能够确保在1 个星务遥测群采周期内完成所有模拟量的采集组包和发送工作,解决了传统遥测采集电路存在的回传遥测参数延时问题,实现了模拟量的实时采集、实时发送,提高了遥测采集参数传输的实时性,解除了对存储器件SRAM 的依赖,可降低产品研制成本,为星务平台提供高实时、高可靠的遥测参数。