4. 遥测源包与分包机制

卫星遥测数据在星上并不是以“连续字节流”的形式直接下传,而是先被封装成一个个有边界、有标识、有顺序的遥测源包(Source Packet),再经分包、合包、多路复用后送入不同虚拟信道。理解源包结构与分包机制,是后续解码、时间对齐和回放分析的基础。本节围绕源包结构、包识别、包序列控制、分包与合包策略,以及多路复用与虚拟信道概念展开。

一、源包结构:固定头 + 可变数据域

遥测源包通常遵循 CCSDS 空间包(Space Packet)格式,由主导头和数据域两部分组成。主导头固定 6 字节,是解码的入口;数据域长度可变,承载具体遥测参数。

字段长度作用
版本号3 bit标识包格式版本,常为 000
类型1 bit0 为遥测包,1 为遥控包
副导头标志1 bit指示数据域前是否有副导头
应用过程标识 APID11 bit标识数据来源或应用过程,是包识别的核心
分组标志2 bit00 连续段、01 首段、10 末段、11 独立包
包序列计数14 bit同一 APID 内递增,用于检漏与排序
包数据长度16 bit数据域字节数减 1

以某卫星电源分系统遥测为例,APID 设为 0x0A1,包序列计数从 0 开始逐包加 1,包数据长度字段为 0x00FF,表示数据域实际长度为 256 字节。地面解码时先读 6 字节主导头,再按长度字段截取数据域,即可还原完整源包。

二、包识别与包序列控制

包识别依赖 APID。星上不同分系统、不同测量源分配不同 APID,地面通过 APID 路由到对应解码表。若 APID 冲突或未登记,解码器应丢弃并记录异常,而不是盲目解析。

包序列控制由 14 bit 包序列计数完成。同一 APID 的包序列计数应连续递增,地面按以下规则判断:

  • 计数连续:正常,按序解码;
  • 计数跳变:发生丢包,跳变差值即丢失包数;
  • 计数回绕:14 bit 从 16383 回到 0,属正常回绕,需按模 16384 计算差值;
  • 计数重复:可能为重复下传或星上异常,需结合时间戳判断。
判断丢包时,差值 = (当前计数 − 上一计数 + 16384) mod 16384。若差值为 1 表示连续,大于 1 表示中间丢失了差值减 1 个包。

三、分包与合包策略

当一帧遥测数据长度超过单个源包数据域容量时,需要分包:将长数据按固定长度切分,首段分组标志置 01,中间段置 00,末段置 10,各段共享同一 APID,包序列计数连续递增。地面按 APID 和分组标志重组,遇到首段开始缓存,遇到末段结束拼接。

反之,当多个短小参数需要合并下传时,采用合包:将同一采集周期内的多个参数打包进一个源包数据域,减少包头开销。合包时需保证各参数在数据域内的偏移固定,否则解码会错位。

示例:某长数据 600 字节,数据域容量 256 字节
分包1:分组标志=01,序列计数=100,数据域=字节0~255
分包2:分组标志=00,序列计数=101,数据域=字节256~511
分包3:分组标志=10,序列计数=102,数据域=字节512~599
地面重组:按APID=0x0A1,序列100→101→102拼接,得到600字节完整数据

四、多路复用与虚拟信道

星上多个 APID 的源包不会各自独占下行链路,而是通过多路复用按调度策略插入同一物理信道。为区分不同业务、不同优先级或不同实时性要求,CCSDS 引入虚拟信道(Virtual Channel, VC)概念:每个虚拟信道有独立标识 VCID,可承载一组 APID 的源包,并拥有独立的帧计数与调度队列。

典型做法是:实时遥测(如姿态、电源)放入高优先级虚拟信道 VC0,延时遥测(如存储日志)放入 VC1,文件传输放入 VC2。地面接收时先按 VCID 分离信道,再在各信道内按 APID 和包序列计数重组源包。这样即使某一信道拥塞,也不会阻塞其他信道。

遥测源包分包、多路复用与虚拟信道示意 源包结构 主导头 6B APID + 序列计数 + 长度 数据域(可变长度,承载遥测参数) 分包(长数据切分) 首段 01 · 序列100 中间段 00 · 序列101 末段 10 · 序列102 合包(短参数合并) 参数A @偏移0 参数B @偏移8 参数C @偏移16 多路复用 APID 0x0A1 电源 APID 0x0B2 姿态 APID 0x0C3 存储日志 虚拟信道(VC)调度与下行 VC0 高优先级 实时姿态/电源 帧计数独立 VC1 中优先级 延时遥测 按周期调度 VC2 低优先级 文件/日志传输 空闲时填充 物理下行链路(按VCID分离后,再按APID与序列计数重组源包)

五、解码与回放中的关键检查点

在实际解码与回放分析中,建议按以下顺序检查源包层:先校验主导头版本号与类型位,确认是遥测包;再按 APID 路由到对应参数表;随后检查包序列计数连续性,标记丢包位置;若分组标志为 01/00/10,则进入重组缓存,直到末段到达才输出完整数据;最后按 VCID 区分信道,避免不同虚拟信道的包序列计数互相干扰。

注意:包序列计数是“同一 APID 内”的计数,不同 APID 之间不可直接比较。跨虚拟信道时,各 VC 的帧计数也相互独立,回放排序应以源包时间戳或地面接收时间为准,不能仅依赖序列计数。