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或星内高速串行链路。网络接口强调吞吐率、时延、丢包与路由,通常承载遥测大数据、图像数据或软件上注数据。
二、接口协议层次:从物理层到应用层
无论离散量、模拟量还是总线网络,接口协议都可以按层次理解。物理层定义电气与机械特性:电平范围、驱动能力、阻抗匹配、连接器针脚定义、屏蔽与接地方式。链路层定义数据如何组织成帧或消息:帧头、地址、长度、数据、校验、结束标志,以及超时、重传和流控规则。应用层定义具体命令和数据含义:命令码、参数编码、字节序、有效范围、响应格式和时序约束。
以1553B为例,物理层规定变压器耦合、双绞屏蔽线、1Mbps速率;链路层规定命令字、状态字、数据字的16位格式和奇偶校验;应用层则规定某条命令字对应“读取某设备温度”,数据字按补码表示,单位为0.1℃。接口控制文档必须把这三层都写清楚,否则软件和硬件对同一接口的理解可能不一致。
实际工程中,层次划分还对应不同的验证手段:物理层用示波器测波形和电平,链路层用总线分析仪抓帧、查校验和超时,应用层用协议仿真器构造命令并检查响应数据。分层清晰,排故时才能快速定位问题出在哪一层。
三、三种控制方式:指令、查询与中断
指令控制是星务系统主动发起、从端被动执行的方式。星务软件按计划或遥控指令生成控制命令,通过离散量输出或总线命令发送给执行机构。其特点是开环、时序确定、易于验证。例如星务在t=120s时向加热器控制回路输出28V高电平,保持60s后撤销,整个过程由星务定时器保证。指令控制的关键是命令唯一性、执行确认和超时保护:若从端未在约定时间内返回执行状态,应判为指令失败并记录。
查询控制是星务周期性地向从端发起读取请求,从端返回当前状态或数据。它适合慢变参数和状态巡检,例如每1s轮询一次各分系统工作状态,每10s采集一次温度遥测。查询控制的设计要点是轮询周期、超时时间和失败重试次数。若某从端连续3次查询无响应,可判定该设备通信故障,并触发相应告警。查询控制的缺点是实时性受轮询周期限制,且会占用总线带宽。
中断控制是从端在事件发生时主动通知星务,星务收到中断后进入中断服务程序处理。它适合故障告警、过温、机构到位等需要快速响应的事件。中断控制的关键是中断优先级、中断屏蔽、中断服务程序执行时间和中断嵌套管理。例如某设备过温中断触发后,星务应在10ms内关闭加热器并记录故障码。若中断服务程序过长,可能阻塞其他中断,因此通常只做紧急处理和标志置位,复杂处理放到主循环中完成。
三种控制方式并非互斥。实际星务系统常混合使用:正常遥测用查询,紧急告警用中断,控制指令用指令方式下发。接口控制文档需要明确每种接口采用哪种控制方式、时序参数是多少、异常如何判定。
四、接口控制文档(ICD)应包含什么
接口控制文档是接口控制的最终交付物,也是软件、硬件、测试三方共同遵守的基线。一份可执行的ICD至少应包含以下内容:
- 接口标识与连接关系:接口编号、源端、目的端、连接器型号、针脚定义。
- 接口类型与电气参数:离散量电平门限与脉宽、模拟量量程与分辨率、总线速率与终端匹配、网络地址与端口。
- 协议层次定义:物理层参数、链路层帧格式与校验方式、应用层命令码与数据编码。
- 控制方式与时序:采用指令、查询还是中断;命令下发到响应的最大允许时间;轮询周期;中断响应时间。
- 异常处理:超时判定、重试次数、故障码定义、安全默认状态。
- 验证方法:测试点、测试设备、合格判据。
五、一个接口控制示例
以星务通过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足够明确,星务软件、分系统设备和测试系统才能在同一基线上协同工作。