2. 航电系统体系结构与资源约束

综合模块化航电(IMA)是当代民机与军机航电系统的主流体系结构。它的核心思想是把过去分散在数十个独立LRU(外场可更换单元)中的功能,收敛到少数几个通用计算模块上,通过共享计算、通信与存储资源来降低重量、功耗和布线复杂度。但共享也带来了新的问题:多个功能同时争用同一套资源时,如何保证关键功能不被非关键功能干扰?这正是资源约束与分区机制要解决的核心矛盾。

一、从联合式到综合模块化:架构演进

传统联合式架构中,每个功能对应一个专用LRU,例如大气数据计算机、惯导计算机、显示处理器各自独立。这种"一个功能一个盒子"的方式隔离性好,但资源利用率低,每个盒子都要配自己的电源、接口和散热。IMA架构则把计算资源抽象成通用处理模块(CPM),把I/O抽象成远程数据集中器(RDC),把显示抽象成显示单元,功能以软件形式驻留在通用硬件上。

典型的IMA机柜由若干LRU组成:电源模块、核心处理模块、图形处理模块、网络交换模块和I/O模块。它们通过背板总线或航空以太网互联。功能软件不再绑定特定硬件,而是由配置表决定部署位置,这使得硬件升级时软件可以平滑迁移。

二、IMA分区:时间与空间的双重隔离

分区是IMA安全性的基石。它要回答一个问题:当多个功能共享同一处理器时,如何让它们互不干扰?答案分两个维度。

空间分区保证每个分区只能访问分配给自己的内存段。操作系统通过内存管理单元(MMU)为每个分区建立独立的地址空间,分区A越界访问分区B的内存会触发保护异常,而不是静默篡改。这防止了一个功能的内存错误扩散到其他功能。

时间分区保证每个分区在预定义的时隙内独占CPU。调度表在系统配置阶段静态生成,例如一个主帧周期为100ms,分区A占20ms、分区B占30ms、分区C占50ms,循环执行。分区A即使进入死循环,也只会耗尽自己的时隙,不会挤占B和C的时间。这种静态调度牺牲了灵活性,换来了可预测性——这对适航审定至关重要。

分区还涉及健康监控:每个分区有独立的健康状态,分区内故障由分区自己的健康监控处理,跨分区故障由模块级健康监控处理,模块级故障再上报到飞机级。这种分层监控避免了单点故障导致整个模块失效。

三、计算、通信、存储三类资源约束

IMA的资源约束可以从三个维度理解。

计算资源约束表现为CPU时间预算。每个分区分配的时间片是有限的,功能设计时必须估算最坏执行时间(WCET)。如果某分区实际执行时间超过预算,调度表就会被打乱,后续分区被推迟。因此WCET分析是IMA配置的关键输入,通常需要留出20%~30%的余量。

通信资源约束表现为网络带宽和消息延迟。航空以太网(如ARINC 664 Part 7)采用虚拟链路(VL)机制,每条VL有带宽分配间隔(BAG)和最大帧长。例如一条VL配置BAG=8ms、最大帧长1500字节,则其带宽上限约为1.5Mbps。所有VL的带宽之和不能超过物理链路容量,否则会出现拥塞和丢帧。

存储资源约束表现为内存容量和NVM空间。每个分区的代码段、数据段、堆栈都要预先分配,配置表、导航数据库、健康日志占用NVM。存储不足会导致分区无法加载或日志丢失。

资源约束的本质是"预算制":在系统配置阶段就把计算、通信、存储资源分配给各功能,运行时按预算执行。这与通用计算中"按需分配"的思路完全不同,是航电系统可预测性的来源。

四、典型航电网络拓扑与瓶颈分析

现代航电网络常见两种拓扑。一种是星型交换拓扑:各端系统通过点对点链路连接到交换机,交换机负责转发。ARINC 664就是这种结构,优点是故障隔离好、带宽可预测,缺点是交换机成为单点故障,需要冗余交换机。另一种是总线拓扑:如ARINC 429,采用单向广播,速率低(12.5~100kbps),但简单可靠,常用于传感器到计算机的低速链路。

资源瓶颈往往出现在三个位置。第一是交换机上行链路:多个端系统同时向同一目的端系统发送数据时,上行链路可能成为瓶颈。第二是核心处理模块的CPU:当多个分区在同一模块上运行且WCET估算偏乐观时,CPU利用率接近100%,调度余量耗尽。第三是共享内存总线:图形处理模块与核心处理模块争用内存带宽时,显示刷新可能被延迟。

瓶颈分析的基本方法是:先建立资源需求模型,把每个功能对CPU、带宽、内存的需求量化;再与可用资源对比,找出利用率超过阈值的资源。例如某模块CPU总预算100ms/帧,各分区WCET之和为85ms,利用率85%,余量15%,属于可接受范围;若达到95%以上,则需要重新分配分区或优化代码。

IMA 典型网络拓扑与资源瓶颈示意 核心处理模块 CPM 分区A 20ms | 分区B 30ms 分区C 50ms | 余量 15% CPU 利用率 85% 图形处理模块 GPM 显示刷新 60Hz 内存带宽 争用点 航空以太网交换机 ARINC 664 P7 VL 调度 / 冗余 上行链路 瓶颈点 远程数据集中器 RDC ARINC 429 输入 离散量 / 模拟量 传感器 / 作动器 大气数据 | 惯导 无线电高度 | 舵面 瓶颈① 瓶颈② 瓶颈③ 瓶颈说明: ① 交换机上行链路拥塞 — 多端系统同时发送导致VL带宽超限 ② CPM CPU 余量不足 — 分区WCET之和接近帧周期预算 ③ 共享内存带宽争用 — GPM与CPM同时访问内存导致显示延迟

五、资源约束下的配置实践

在实际IMA配置中,资源分配通常以配置表形式固化。以下是一个简化的分区配置示例,用于说明各字段的含义:

分区配置表(示例)
分区ID  功能名称      CPU时隙(ms)  内存(KB)  VL带宽(Mbps)  健康等级
P01     飞行管理      20           512       2.0           A
P02     显示处理      30           1024      4.0           A
P03     维护记录      10           256       0.5           C
P04     客舱娱乐      40           2048      8.0           D
--------------------------------------------------------------
合计                  100          3840      14.5
物理链路容量                        1000Mbps
CPU帧周期                           100ms

从表中可以看出,CPU时隙合计恰好等于帧周期100ms,没有余量,这在工程上不可接受。实际配置需要为每个分区预留余量,例如将客舱娱乐压缩到30ms,留出10ms作为系统余量。VL带宽合计14.5Mbps远小于1000Mbps物理容量,通信资源充裕。内存合计3840KB,需核对模块实际可用内存是否满足。

判断资源是否够用的基本准则:CPU利用率建议不超过80%,通信带宽利用率不超过50%,内存占用不超过70%。超过这些阈值时,应优先考虑功能迁移(把分区移到另一个模块)或功能降级(降低非关键功能的刷新率)。

资源约束分析必须在系统设计早期完成。如果等到集成阶段才发现CPU或带宽不足,重新分配分区可能牵涉到配置表、调度表、健康监控表的连锁修改,代价极高。