3. 实时性测试基础
在航电实时计算平台中,“实时”并不等于“快”。一个任务即使平均执行时间只有几十微秒,只要偶尔出现一次超出截止期的情况,就可能造成飞控指令迟滞、显示画面撕裂或总线数据丢失。因此,实时性的核心是在确定的时间约束内完成规定功能,而不是单纯追求平均速度。本节围绕实时性定义、确定性指标、抖动与延迟测量、时钟同步方法以及测试工具链展开,为后续的实时性测试用例设计提供基础。
实时性的定义与分类
实时系统通常分为硬实时、软实时和固实时三类。硬实时要求任务必须在截止期前完成,否则后果不可接受,例如电传飞控的舵面控制律计算;软实时允许偶尔超时,仅降低服务质量,例如座舱显示刷新;固实时介于两者之间,偶尔超时结果仍可用,但价值明显下降。航电平台中,不同关键等级的任务往往混合部署,因此实时性测试必须区分任务类别,分别设定判据。
从测试角度看,实时性可形式化描述为:对于任务集 Γ={τ₁,τ₂,…,τₙ},每个任务 τᵢ 具有周期 Tᵢ、执行时间 Cᵢ、相对截止期 Dᵢ 和优先级 Pᵢ。若所有任务在最坏情况下均满足响应时间 Rᵢ ≤ Dᵢ,则系统满足硬实时约束。测试的目标就是通过激励与观测,验证 Rᵢ 的分布是否始终落在 Dᵢ 之内。
确定性指标:从平均值到最坏情况
实时性测试不能只看平均值。常用的确定性指标包括:
- 最坏响应时间(WCRT):任务从释放到完成的最大时间,是硬实时判定的核心依据。
- 抖动(Jitter):实际响应时间或周期与理想值的偏差,分为释放抖动、完成抖动和周期抖动。
- 延迟(Latency):从事件发生到系统产生可观测响应之间的时间,如传感器采样到控制输出。
- 截止期错过率:统计窗口内超时次数与总释放次数之比,用于软实时评估。
- 时间确定性:同一输入序列在多次运行中响应时间的一致性,可用标准差或最大—最小差衡量。
在航电场景中,WCRT 和抖动往往比平均值更重要。例如某飞控任务周期为 10 ms,截止期为 8 ms,若实测 WCRT 为 7.2 ms、抖动为 ±0.6 ms,则满足约束;若 WCRT 达到 8.4 ms,即使平均值只有 3 ms,也判定为不合格。
抖动与延迟的测量方法
抖动与延迟测量通常采用“打时间戳—激励—采集—比对”的方式。以航电平台中一个周期任务为例,可在任务入口和出口分别读取高精度计数器,得到执行时间;在任务释放时刻记录理想时间戳,与实际开始时刻比较得到释放抖动。测量时需要注意:
- 时间戳读取本身应尽量轻量,避免引入额外抖动;
- 采样窗口应覆盖足够多的周期,通常不少于 10⁴ 个周期,以捕获偶发超时;
- 应记录最大值、最小值、均值、标准差和超时次数,而不是只记录均值;
- 测量点应尽量靠近真实事件源,避免中间缓存掩盖延迟。
对于端到端延迟,例如从 ARINC 429 总线接收到数据到控制律使用该数据,可在总线接收中断和任务读取处分别打时间戳,两者之差即为端到端延迟。若平台支持硬件时间戳,应优先使用硬件时间戳,以减少软件读取带来的误差。
时钟同步方法
分布式航电系统中,各处理节点、传感器和总线监控器往往有独立时钟。若时钟不同步,跨节点测量的延迟和抖动将失去意义。常用时钟同步方法包括:
- IRIG-B:通过专用同轴或双绞线传输秒脉冲和 BCD 时间码,精度可达微秒级,适合机载测试设备。
- IEEE 1588 PTP:基于以太网的精确时间协议,通过主从时钟交换 Sync、Follow_Up、Delay_Req 和 Delay_Resp 报文,估算路径延迟并校正偏移,典型精度为亚微秒级。
- GPS/北斗秒脉冲:提供绝对时间基准,常用于地面测试和飞行试验中的多设备同步。
- 软件同步:通过 NTP 或自定义协议交换时间戳,精度通常在毫秒级,仅适用于对时间精度要求不高的场景。
选择同步方法时,应使同步误差远小于被测抖动或延迟的量级。例如测量 100 μs 级的任务抖动,时钟同步误差应控制在 10 μs 以内,否则测量结果不可信。
实时性测试工具链
实时性测试工具链通常由激励、采集、分析和可视化四部分组成。激励工具负责产生周期任务、总线消息或中断;采集工具负责记录时间戳和事件;分析工具负责计算 WCRT、抖动、延迟分布和超时率;可视化工具用于展示时间线、直方图和趋势图。在航电平台中,常用工具包括总线监控器、逻辑分析仪、示波器、嵌入式跟踪模块以及平台自带的实时操作系统跟踪接口。
下面用一张图展示实时性测试中从时钟同步、任务激励、时间戳采集到指标判定的信号与数据关系。图中左侧为时间基准,中间为被测平台,右侧为测量与分析结果。
测试实施要点与判据示例
在实际测试中,建议先完成时钟同步并验证同步误差,再施加任务激励。以某航电平台为例,假设飞控任务周期 T=10 ms、截止期 D=8 ms,测试持续 60 s,共 6000 个周期。采集到的响应时间统计为:均值 3.1 ms,最大值 7.4 ms,最小值 2.8 ms,标准差 0.42 ms,超时 0 次。此时可判定该任务满足硬实时约束。若最大值达到 8.3 ms,即使仅出现 1 次,也应判定为不合格,并进一步分析是否由中断延迟、缓存未命中或优先级反转引起。
对于端到端延迟,例如从 ARINC 429 接收字到控制律使用,若实测最大延迟为 1.8 ms,而设计约束为 2 ms,则满足要求;若抖动达到 0.9 ms,接近约束边界,应结合时钟同步误差和总线负载进一步评估。测试报告应至少包含:任务标识、周期、截止期、采样周期数、WCRT、抖动、超时次数、时钟同步方式和同步误差。
综上,实时性测试基础包括对实时性定义的准确理解、对确定性指标的选取、对抖动与延迟的正确测量、对时钟同步方法的合理选择,以及对工具链的有效组织。只有把时间基准、激励、采集和判定串成闭环,后续的实时性测试用例和平台验证才有可靠依据。