4. 遥控指令体系与分类
星务系统遥控指令体系是地面测控站与卫星之间建立控制关系的核心。理解指令分类、格式编码与安全校验机制,是设计遥控任务、编写指令序列和排查执行异常的基础。本节从指令分类入手,逐层展开到格式编码与安全校验,并给出可对照使用的示例参数。
一、四类遥控指令的定位与差异
遥控指令按执行方式和作用对象可分为四类,它们在实时性、数据量、执行位置和安全要求上存在明显差异。
- 直接指令:地面发送后由星上遥控译码单元直接驱动执行机构或开关,不经过星务软件判断。典型对象包括电源通断、加热器开关、天线展开、阀门开闭。特点是路径最短、响应最快,但灵活性低,一条指令通常只对应一个动作。
- 间接指令:地面发送指令码,由星务软件接收后查表映射为具体操作。例如“启动载荷工作模式”可能触发多个设备上电、参数装订和状态采集。间接指令把动作组合逻辑放在星上软件中,地面只需发送较短的指令码,适合复杂动作的封装。
- 数据注入指令:用于向星上存储器写入数据块,如轨道根数、时间修正量、载荷参数表、程控指令表。数据注入通常需要分帧传输、校验和确认,数据量大、耗时较长,但可一次性更新星上配置。
- 程控指令:预先注入星上并存储在程控存储器中的指令序列,由星上时间基准触发执行。程控指令解决的是“测控弧段外如何自主执行”的问题,例如过境间隙的载荷定时开机、姿态机动序列。地面只需注入一次,星上按时间表逐条执行。
四类指令并非互斥,实际任务中常组合使用:直接指令用于安全关键动作,间接指令封装常规操作,数据注入更新配置,程控指令承担弧段外自主任务。
二、指令格式与编码
遥控指令帧通常由引导码、航天器标识、指令码、参数域、校验码和加密段组成。引导码用于帧同步,航天器标识防止多星测控中的误接收,指令码标识操作类型,参数域携带地址或数据,校验码用于检错,加密段用于防篡改和防重放。
以某低轨卫星遥控帧为例,假设采用如下字段长度(示例参数,非实测):引导码16 bit,航天器ID 8 bit,指令码8 bit,参数域32 bit,CRC-16校验16 bit,加密段64 bit。总帧长144 bit,即18字节。指令码采用分层编码:高3位表示指令类别(001直接、010间接、011数据注入、100程控),低5位表示具体操作编号。例如指令码0x21表示间接指令类中的“载荷模式切换”,0x43表示程控类中的“时间表更新”。
数据注入指令的参数域需要分帧。假设注入256字节的轨道根数表,每帧参数域32 bit(4字节),则需64帧。每帧携带帧序号和总帧数,星上按序号重组,全部收齐后校验整体CRC,通过后才写入存储器。若中途丢帧,星上可请求重传或等待下一弧段补传。
三、安全校验机制
遥控指令的安全校验至少包含三层:帧校验、指令合法性校验和防重放校验。
- 帧校验:接收端对每帧计算CRC并与帧内校验码比对,不一致则丢弃。CRC-16可检出所有单比特和双比特错误,以及大多数突发错误。
- 指令合法性校验:星上维护一张合法指令码表,只有表中存在的指令码才被接受。对于间接指令和程控指令,还需校验参数范围,例如时间参数不得超出星上时钟可表示范围,地址参数不得越界。
- 防重放校验:每条指令携带递增计数器或时间戳,星上记录已执行的最大计数器值,低于该值的指令视为重放攻击并拒绝。对于加密指令,还可使用消息认证码验证来源真实性。
四、指令设计示例与判断依据
假设需要设计一条“载荷定时开机”任务,要求卫星在测控弧段外第1200秒开机,持续300秒。可采用程控指令实现:先通过数据注入写入程控时间表,表中包含两条记录——第1200秒“载荷上电”,第1500秒“载荷断电”。每条记录包含时间标签、指令码和参数。注入完成后,地面发送“程控表生效”间接指令,星上开始按时间表执行。
判断执行是否成功,可通过遥测下传的程控执行状态字观察:状态字中每一位对应一条程控记录,执行后置1。若第1200秒后状态字对应位仍为0,说明程控未触发,需检查时间基准是否同步、程控表是否写入成功、指令码是否合法。若状态字置1但载荷电流遥测无变化,则问题在载荷供电链路而非程控本身。
| 指令类型 | 典型指令码 | 参数域内容 | 执行位置 | 校验重点 |
|---|---|---|---|---|
| 直接指令 | 0x08 | 开关编号 | 译码单元 | CRC + 指令码白名单 |
| 间接指令 | 0x21 | 模式编号 | 星务软件 | CRC + 参数范围 |
| 数据注入 | 0x35 | 帧序号 + 数据块 | 存储器 | 分帧重组 + 整体CRC |
| 程控指令 | 0x43 | 时间标签 + 指令码 | 程控存储器 | 时间冲突 + 计数器防重放 |
实际工程中,直接指令和间接指令的划分并非绝对,同一动作可能因卫星设计不同而归属不同类别。关键是在接口控制文件中明确每条指令的类别、编码、参数格式、执行位置和校验方式,并在星地联试中逐条验证。对于安全关键指令,还应设计“执行前确认”机制,即星上收到指令后先回传确认帧,地面确认无误后再发送执行帧,避免误动作。