4. 接口控制基础

星务系统内部以及星务系统与各分系统之间,所有信息交换最终都要落到具体接口上。接口控制的任务,是把“谁和谁交换、交换什么、按什么时序交换、出错怎么办”定义清楚,并形成可执行、可验证的接口控制文档(ICD)。本节从接口类型、协议层次和控制方式三个维度建立接口控制的基础框架。

一、四类接口:离散量、模拟量、总线与网络

按信号形态和传输方式,星务系统常用接口可分为四类,它们在电气特性、信息容量和适用场景上差异明显。

离散量接口传输的是开关状态或电平状态,只有有限个稳定取值。典型形式包括:OC门输出指令、继电器触点、TTL/CMOS电平输入输出、光耦隔离输入。星务系统常用离散量完成火工品起爆使能、加热器通断、机构展开指令、状态回读等。其关键参数是电平门限、驱动能力、脉宽和隔离方式。例如某加热器控制回路采用28V高电平有效指令,脉宽要求不小于50ms,星务软件必须保证输出保持时间覆盖该脉宽。

模拟量接口传输连续变化的电压、电流或电阻量,用于温度、压力、电压、电流等遥测采集和模拟指令输出。采集侧关注量程、分辨率、采样率、参考地和滤波;输出侧关注驱动能力、负载范围和精度。例如温度采集通道采用0~5V对应-50~+100℃,12位ADC,则理论分辨率为150℃/4096≈0.037℃,实际有效精度还要受传感器和前端电路限制。

总线接口是星务系统内部设备互联的主干,常见有RS-422/RS-485串行总线、CAN总线、1553B总线、SpaceWire等。总线接口以帧或消息为单位传输,具有地址、命令、数据和校验字段,支持一主多从或多主仲裁。例如1553B采用命令/响应机制,BC(总线控制器)发起传输,RT(远程终端)在约定时间内响应,超时即判为故障。

网络接口用于星务计算机之间或与载荷、测控等系统的高速数据交换,典型是以太网、SpaceFibre或星内高速串行链路。网络接口强调吞吐率、时延、丢包与路由,通常承载遥测大数据、图像数据或软件上注数据。

星务接口类型与控制方式关系图 离散量接口 OC门 / 继电器 / 电平 开关指令、状态回读 模拟量接口 电压 / 电流 / 电阻 遥测采集、模拟输出 总线接口 RS-422 / CAN / 1553B 命令/响应、帧传输 网络接口 以太网 / SpaceFibre 高速数据、路由交换 接口协议层次 物理层 电平/阻抗/连接器 链路层 帧格式/校验/重传 应用层 命令码/数据域/时序 控制方式选择 指令控制 星务主动下发 开环、定时、确定性强 适用:加热、展开、开关 查询控制 周期轮询从端 读状态、读遥测 适用:慢变参数、状态巡检 中断控制 从端主动上报 事件触发、快速响应 适用:故障告警、过温、到位

二、接口协议层次:从物理层到应用层

无论离散量、模拟量还是总线网络,接口协议都可以按层次理解。物理层定义电气与机械特性:电平范围、驱动能力、阻抗匹配、连接器针脚定义、屏蔽与接地方式。链路层定义数据如何组织成帧或消息:帧头、地址、长度、数据、校验、结束标志,以及超时、重传和流控规则。应用层定义具体命令和数据含义:命令码、参数编码、字节序、有效范围、响应格式和时序约束。

以1553B为例,物理层规定变压器耦合、双绞屏蔽线、1Mbps速率;链路层规定命令字、状态字、数据字的16位格式和奇偶校验;应用层则规定某条命令字对应“读取某设备温度”,数据字按补码表示,单位为0.1℃。接口控制文档必须把这三层都写清楚,否则软件和硬件对同一接口的理解可能不一致。

实际工程中,层次划分还对应不同的验证手段:物理层用示波器测波形和电平,链路层用总线分析仪抓帧、查校验和超时,应用层用协议仿真器构造命令并检查响应数据。分层清晰,排故时才能快速定位问题出在哪一层。

三、三种控制方式:指令、查询与中断

指令控制是星务系统主动发起、从端被动执行的方式。星务软件按计划或遥控指令生成控制命令,通过离散量输出或总线命令发送给执行机构。其特点是开环、时序确定、易于验证。例如星务在t=120s时向加热器控制回路输出28V高电平,保持60s后撤销,整个过程由星务定时器保证。指令控制的关键是命令唯一性、执行确认和超时保护:若从端未在约定时间内返回执行状态,应判为指令失败并记录。

查询控制是星务周期性地向从端发起读取请求,从端返回当前状态或数据。它适合慢变参数和状态巡检,例如每1s轮询一次各分系统工作状态,每10s采集一次温度遥测。查询控制的设计要点是轮询周期、超时时间和失败重试次数。若某从端连续3次查询无响应,可判定该设备通信故障,并触发相应告警。查询控制的缺点是实时性受轮询周期限制,且会占用总线带宽。

中断控制是从端在事件发生时主动通知星务,星务收到中断后进入中断服务程序处理。它适合故障告警、过温、机构到位等需要快速响应的事件。中断控制的关键是中断优先级、中断屏蔽、中断服务程序执行时间和中断嵌套管理。例如某设备过温中断触发后,星务应在10ms内关闭加热器并记录故障码。若中断服务程序过长,可能阻塞其他中断,因此通常只做紧急处理和标志置位,复杂处理放到主循环中完成。

三种控制方式并非互斥。实际星务系统常混合使用:正常遥测用查询,紧急告警用中断,控制指令用指令方式下发。接口控制文档需要明确每种接口采用哪种控制方式、时序参数是多少、异常如何判定。

四、接口控制文档(ICD)应包含什么

接口控制文档是接口控制的最终交付物,也是软件、硬件、测试三方共同遵守的基线。一份可执行的ICD至少应包含以下内容:

  • 接口标识与连接关系:接口编号、源端、目的端、连接器型号、针脚定义。
  • 接口类型与电气参数:离散量电平门限与脉宽、模拟量量程与分辨率、总线速率与终端匹配、网络地址与端口。
  • 协议层次定义:物理层参数、链路层帧格式与校验方式、应用层命令码与数据编码。
  • 控制方式与时序:采用指令、查询还是中断;命令下发到响应的最大允许时间;轮询周期;中断响应时间。
  • 异常处理:超时判定、重试次数、故障码定义、安全默认状态。
  • 验证方法:测试点、测试设备、合格判据。
ICD中的每个参数都应可测量、可判定。例如“通信正常”不是合格判据,“连续1000帧无校验错误且响应时间小于20ms”才是。

五、一个接口控制示例

以星务通过RS-422总线查询某温度采集单元为例,ICD可定义如下:物理层采用RS-422四线全双工,波特率115200bps,8位数据位、1位停止位、无校验;链路层帧格式为“帧头0xAA55 + 地址 + 命令码 + 数据长度 + 数据 + CRC16”;应用层命令码0x03表示“读取温度”,返回数据为2字节有符号整数,单位0.1℃,范围-550~+1250(对应-55.0~+125.0℃)。控制方式为查询,星务每2s发送一次,超时时间50ms,连续3次超时判为通信故障。

按此ICD,星务软件在t=0发送查询帧,若在50ms内收到正确CRC的响应帧,则解析温度值并更新遥测;若超时,则重试一次;若连续3次超时,置通信故障标志并停止使用该通道数据。测试时用总线分析仪抓取实际帧,核对帧头、地址、命令码、CRC和响应时间,即可判断接口实现是否符合ICD。

接口控制的核心,是把接口类型、协议层次、控制方式和异常处理全部落到可执行的文档和可验证的参数上。只有ICD足够明确,星务软件、分系统设备和测试系统才能在同一基线上协同工作。