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配置中,资源分配通常以配置表形式固化。以下是一个简化的分区配置示例,用于说明各字段的含义:
分区配置表(示例)
分区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%。超过这些阈值时,应优先考虑功能迁移(把分区移到另一个模块)或功能降级(降低非关键功能的刷新率)。