1. 航电实时计算系统概述
航电系统(Avionics System)是飞机上所有电子系统的总称,它承担飞行控制、导航、通信、显示、监视、任务管理等关键功能。现代飞机的航电系统已经从早期分散的独立仪表,演进为以综合模块化航电(IMA,Integrated Modular Avionics)为代表的共享计算平台。理解航电实时计算任务的特征,以及为什么必须做任务隔离与资源管理,是学习本课程的第一块基石。
一、航电系统的组成
从功能层次看,航电系统通常可以划分为几个相互协作的部分:
- 传感器与数据源:大气数据计算机(ADC)、惯性参考单元(IRU/IMU)、全球导航卫星系统(GNSS)接收机、雷达高度表、无线电高度表等,负责采集飞机姿态、位置、速度、高度等原始信息。
- 计算与处理平台:飞行管理计算机(FMC)、飞控计算机(FCC)、显示处理单元、任务计算机等,运行实时任务并完成解算、融合与决策。
- 通信与总线网络:ARINC 429、ARINC 664(AFDX)、MIL-STD-1553、CAN 等,负责各设备之间的数据交换。
- 人机接口:座舱显示器(PFD、ND、EICAS)、多功能控制显示单元(MCDU)、平视显示器(HUD)等,向飞行员呈现信息并接收操作。
- 执行与作动:舵机、作动器、发动机控制接口等,把计算结果转化为物理动作。
这些部分并非孤立工作,而是通过总线与共享计算资源紧密耦合。下图给出一个典型的航电系统组成与数据流向示意,可以看到传感器数据经总线汇聚到综合计算平台,再分发到显示与作动环节。
二、实时计算任务的特征
航电计算任务与普通桌面或服务器任务有本质区别,主要体现在以下几个方面:
1. 硬实时性。许多任务必须在确定的截止期内完成,否则后果严重。例如飞控律解算通常要求周期在 10~20 ms 量级,姿态更新周期可能短至 5 ms。若某次解算超时,可能导致控制律输出滞后,影响飞行品质甚至安全。
2. 周期性与事件性混合。航电任务中既有严格周期任务(如每 20 ms 执行一次的导航滤波),也有事件驱动任务(如告警触发、模式切换)。两类任务对调度策略的要求不同,周期任务强调可预测性,事件任务强调响应及时性。
3. 确定性与可预测性。实时系统不仅要求“算得对”,还要求“算得准时且时间可预测”。最坏执行时间(WCET)分析、调度可行性判定是设计中的核心工作。
4. 安全等级差异。依据 DO-178C 等标准,不同功能被划分为 A~E 不同开发保证等级。A 级(如飞控)失效可能导致灾难性后果,而 E 级影响很小。不同等级任务若共享同一硬件,必须通过隔离手段防止低等级任务干扰高等级任务。
5. 资源受限。机载环境对体积、重量、功耗、散热都有严格限制,CPU 主频、内存容量、总线带宽都不能随意扩展,因此资源必须精打细算。
三、为什么需要任务隔离与资源管理
在 IMA 架构下,多个功能不再各自独占一台计算机,而是共享同一组计算模块。这种共享带来重量和成本优势,但也引入新的风险:
- 故障传播:一个任务的内存越界或死循环,可能拖垮同模块上的其他任务。
- 资源争抢:多个任务同时请求 CPU、内存或总线带宽,若没有约束,高关键任务可能被低关键任务延迟。
- 时间干扰:某任务突发大量计算,会挤占其他任务的执行窗口,破坏周期任务的确定性。
- 认证困难:若无法证明任务之间互不影响,整个平台难以通过适航认证。
因此,任务隔离与资源管理要解决的核心问题是:在共享平台上,让每个任务获得可预测、可保证的资源份额,并确保一个任务的故障不会传播到其他任务。常见手段包括时间分区、空间分区、健康监控、带宽分配与优先级调度等。
四、典型航电平台案例
以空客 A380 和波音 787 为代表的现代客机,广泛采用 IMA 架构。A380 的航电平台将大量功能驻留在称为 CPIOM(Core Processing and Input/Output Module)的通用模块上,通过 AFDX 网络互联。每个 CPIOM 内部运行多个分区,分区之间由分区操作系统提供时间与空间隔离。
另一个典型是 ARINC 653 标准定义的 APEX 接口。它规定了一个分区内可以运行多个进程,分区按固定时间窗口轮转执行。例如一个 100 ms 的主帧可划分为多个时间窗,每个分区获得固定长度的时间片。这样即使某分区内任务超时,也不会侵占其他分区的时间。
下面给出一个简化的 ARINC 653 时间分区调度示例,帮助理解“时间隔离”的实际含义:
主帧周期:100 ms
分区A(飞控): 0~30 ms (高关键,固定窗口)
分区B(导航): 30~55 ms
分区C(显示): 55~80 ms
分区D(维护): 80~100 ms (低关键,可被压缩)
若分区C内某任务超时,最多占用到 80 ms,
分区D仍可在 80 ms 获得自己的窗口,
分区A、B 不受影响。
这个例子说明:时间分区把“一个任务超时”限制在它自己的窗口内,从而保护了其他分区。空间隔离则通过内存管理单元(MMU)为每个分区划分独立地址空间,防止越界访问。
总结来看,航电实时计算系统的本质,是在资源受限的共享硬件上,运行多个安全等级不同、实时性要求各异的任务。理解系统组成、任务特征与隔离管理的必要性,是后续学习具体机制与实现方法的基础。