3. 联合调试环境构建

联合调试环境不是把几台设备简单连起来,而是围绕“可重复的软硬件闭环测试台”这一目标,把被测目标机、激励源、总线仿真、观测与调试手段、自动化脚本组织成一条可控、可观测、可复现的链路。选型的核心判断标准只有三条:接口是否匹配、时序是否可控、数据是否可观测。集成时则要保证每次运行的环境状态一致,否则调试结论无法复现。

一、闭环测试台的组成与信号流

一个典型的航天器软硬件闭环测试台包含五类角色:目标机(被测软件运行载体)、地检设备(供电、指令、遥测与状态采集)、模拟器(部件或动力学行为替代)、总线仿真卡(1553B、CAN、SpaceWire 等总线通信仿真与监视)、断点调试器(CPU 级在线调试与内存/寄存器观测),以及测试脚本(把上述资源编排成自动序列)。它们之间的数据流关系如下:

软硬件闭环测试台信号与数据流 测试脚本 / 自动化执行器 用例编排 · 时序控制 · 结果判定 地检设备 供电 · 指令发送 遥测采集 · 状态监视 模拟器 部件行为替代 动力学/环境模型 总线仿真卡 1553B / CAN / SpW 帧收发 · 总线监视 目标机(被测软件) 星载处理器 · 实时操作系统 应用任务 · 总线接口驱动 断点调试器 JTAG / 以太网 断点 · 寄存器 · 内存 指令/供电 激励 总线帧 遥测回传 调试通道 遥测/状态 观测数据

图中实线表示控制与激励方向,虚线表示回传与观测方向。测试脚本位于顶层,负责按用例时序驱动地检设备、模拟器和总线仿真卡,同时从目标机与总线监视通道采集响应,最终形成“激励—响应—判定”的闭环。

二、关键设备的选型要点

目标机选型首先看处理器架构与主频是否与星上一致,其次看是否具备可用的调试接口(JTAG、以太网调试口或串口)。若目标机与真实星载计算机存在差异,必须在测试报告中明确标注“等效性边界”,例如主频不同导致时序余量不可直接外推。

地检设备的核心是通道数与协议覆盖。以某卫星综合电子测试为例,地检需提供 28V 供电、OC 指令输出、RS-422 遥测接收和 1553B 总线接口。选型时应核对:指令通道数是否覆盖全部指令表、遥测采样率是否满足帧周期要求、是否支持硬件时间戳。时间戳精度直接决定后续时序分析的可靠性,建议优于 1ms。

模拟器用于替代尚未交付或不便接入的部件。选型时关注模型接口是否与真实部件一致(总线协议、数据格式、更新率),以及是否支持故障注入。例如用模拟器替代陀螺组件时,应能按 1553B 帧格式返回角速度数据,并可注入“数据超差”“无响应”等故障模式,用于验证目标机的故障检测逻辑。

总线仿真卡是闭环测试的枢纽。选型要点包括:支持的协议类型、通道数量、是否支持 RT/BC/BM 三种模式、是否具备硬件触发与时间戳。对于 1553B,建议选择支持 BM(总线监视)模式的板卡,以便在不干扰总线通信的前提下记录全部帧,用于事后比对。

断点调试器用于 CPU 级观测。选型时确认其与目标机处理器的兼容性、是否支持硬件断点、是否支持实时内存读取而不停止 CPU。在联合调试中,调试器通常用于定位“总线数据正确但软件行为异常”的问题,例如检查中断服务程序是否被正确触发、变量是否被意外改写。

测试脚本建议采用 Python 或专用测试框架,要求具备:用例参数化、超时控制、断言机制和日志记录。脚本应能调用地检设备 API、总线仿真卡 API 和调试器接口,形成统一的执行入口。

三、集成与可重复性保障

集成阶段最容易出问题的是“每次运行环境不一致”。为保证可重复,需要固定以下要素:

  • 硬件连接拓扑固定:所有线缆、终端电阻、接地方式记录在连接表中,每次测试前按表核对。
  • 软件版本固定:目标机软件版本、模拟器模型版本、测试脚本版本、总线仿真卡固件版本全部纳入版本管理,测试报告中记录完整版本号。
  • 初始状态固定:每次用例执行前,通过地检设备发送复位指令或由脚本调用复位接口,使目标机进入确定的初始状态;模拟器初始参数也由脚本统一设置。
  • 时间基准统一:地检设备、总线仿真卡和调试器尽量使用同一时间源,或在脚本中记录各设备时间偏差,便于事后对齐事件顺序。
建议在集成完成后先跑一轮“空载自检”:不加载被测软件,仅验证地检指令能被总线仿真卡正确接收、模拟器能按帧周期返回数据、调试器能连接目标机。自检通过后再进入正式用例,可显著减少排查方向上的混乱。

四、一个可参考的集成检查表示例

下表为某 1553B 闭环测试台的集成检查表片段,字段可根据实际项目调整。表中“预期结果”为示例性描述,实际值需按项目指标填写。

检查项 操作 预期结果 记录
供电与复位 地检输出 28V,发送复位指令 目标机电流正常,复位后进入待命状态 电流值/状态字
总线通信 总线仿真卡作为 BC 发送一帧指令 目标机作为 RT 在约定时间内返回状态字与数据 帧内容/响应时间
模拟器激励 模拟器按 50ms 周期发送陀螺数据 目标机遥测中角速度值随模拟器设定值变化 遥测帧/设定值
调试器连接 通过 JTAG 连接目标机,读取指定变量 变量值与预期一致,读取过程不中断 CPU 运行 变量地址/值
脚本自动化 运行一条完整用例脚本 脚本自动完成激励、采集、断言并输出通过/失败 日志/判定结果

集成完成后,测试台应达到的状态是:任意一条用例都可以由脚本一键启动,运行过程中激励、总线数据、目标机状态和调试信息被同步记录,运行结束后自动给出判定结果。只有达到这个状态,后续的故障复现和回归测试才有可靠基础。