1. 航电计算平台中断与定时器设计导论

在航电计算平台中,中断与定时器并不是两个孤立的片上外设,而是把“外部事件”“时间基准”“任务调度”“故障响应”串成一条闭环的基础设施。飞行控制律需要严格周期运行,导航传感器需要按帧到达,健康监控需要限时响应,总线通信需要超时重传,座舱显示需要稳定刷新——这些需求最终都会落到中断控制器与定时器模块上。本课程的目标,是让读者能够从系统约束出发,完成中断与定时器的需求分析、架构选型、参数配置、驱动实现与验证排障,而不是停留在“会调用一个中断注册函数”的层面。

一、课程要解决的核心问题

航电平台对中断与定时器的要求,与通用嵌入式系统有明显差异。通用系统更关注吞吐与平均延迟,航电系统更关注最坏情况执行时间(WCET)、确定性、可预测性与故障可隔离性。因此本课程围绕四条主线展开:

  • 时间主线:系统时基如何建立,周期任务如何由定时器触发,抖动如何度量与约束。
  • 事件主线:外部中断如何被采集、去抖、优先级仲裁、分发到具体任务。
  • 隔离主线:分区操作系统下,中断如何映射到分区,时间资源如何被配额限制,避免一个分区拖垮整机。
  • 验证主线:如何用示波器、逻辑分析仪、时间戳与覆盖率手段,证明中断延迟和定时精度满足指标。

这四条主线贯穿后续章节,本节先建立整体认知框架。

二、航电系统对中断与定时器的特殊要求

典型航电计算平台通常采用综合模块化航电(IMA)架构,多个功能以分区形式共享同一计算资源。由此产生几类硬性约束:

1. 确定性优先于平均性能。 中断从触发到任务开始执行的延迟必须可界定上界。假设某飞控任务要求 1 ms 周期、抖动不超过 50 μs,那么中断响应、上下文保存、调度器入队、任务唤醒这几段开销之和必须稳定落在预算内。设计时通常先分配预算,例如:中断硬件响应 ≤ 5 μs,ISR 前半段 ≤ 10 μs,调度延迟 ≤ 15 μs,任务唤醒 ≤ 10 μs,剩余 10 μs 作为裕量。

2. 时间资源必须可配额。 分区操作系统一般给每个分区分配固定的 CPU 时间窗。定时器不仅要产生周期节拍,还要参与分区时间窗切换,防止某分区在中断中长时间占用 CPU。

3. 中断优先级与安全等级挂钩。 高安全等级功能(如飞控、发动机控制)的中断优先级必须高于低等级功能(如客舱信息、维护记录),且低等级中断不得阻塞高等级中断超过规定时间。

4. 故障必须可观测、可隔离。 中断风暴、定时器停摆、时钟源漂移都属于典型故障模式,平台需要看门狗、中断计数监控、时间戳比对等机制来发现并隔离。

注意:航电平台中“中断延迟”通常指从硬件中断信号有效到 ISR 第一条指令执行的时间,而“任务响应延迟”还包括调度与上下文切换。两者必须分开度量,否则指标无法对齐。

三、典型平台架构与设计约束

下图给出一个典型的航电计算平台中断与定时器信号链:外部事件经中断控制器汇聚,系统定时器提供统一时基,分区操作系统据此完成调度与时间配额管理,最终驱动各分区任务。

航电计算平台中断与定时器信号链 外部事件源 传感器帧到达 总线消息就绪 离散量跳变 故障告警 中断控制器 优先级仲裁 屏蔽/使能 挂起与清除 向量分发 系统定时器 周期节拍 时间戳计数 看门狗 分区时间窗 分区操作系统 中断映射到分区 任务调度 时间配额管理 健康监控 飞控分区 1 ms 周期任务 高优先级中断 导航分区 20 ms 周期任务 中等优先级 维护分区 100 ms 周期任务 低优先级 典型时间预算示例(1 ms 飞控周期) 硬件响应 5 μs ISR 前半段 10 μs 调度延迟 15 μs 任务唤醒 10 μs 裕量 10 μs 合计 ≤ 50 μs 抖动预算

从图中可以看到,中断与定时器并非只服务于某一个任务,而是同时支撑事件响应、周期调度、时间配额和健康监控。设计约束也因此分为三类:时间约束(周期、抖动、超时)、优先级约束(安全等级映射)、资源约束(CPU 占用、中断嵌套深度、分区时间窗)。

四、一个可对照的设计示例

假设某航电平台采用双核处理器,飞控分区运行在核 0,导航与维护分区运行在核 1。系统定时器提供 1 ms 基准节拍,飞控任务由该节拍触发,导航任务每 20 个节拍触发一次,维护任务每 100 个节拍触发一次。外部中断包括:IMU 数据就绪(高优先级)、ARINC 429 接收(中优先级)、维护口命令(低优先级)。

配置时可以先确定中断优先级分组:IMU 就绪中断优先级设为 0,ARINC 429 设为 4,维护口设为 8。系统定时器中断优先级设为 1,高于普通外设但低于 IMU,以保证时间基准不被低速外设阻塞。随后为每个分区分配时间窗,例如核 0 上飞控分区占 60%,核 1 上导航占 50%、维护占 30%、空闲 20%。

验证阶段可观察三个量:一是用逻辑分析仪测量 IMU 中断信号到 ISR 翻转 GPIO 的延迟,确认不超过 5 μs;二是用系统定时器时间戳记录飞控任务实际唤醒时刻,统计 1000 个周期的抖动分布;三是注入一次 ARINC 429 突发流量,观察飞控任务抖动是否仍满足 50 μs 预算。若第三项超限,说明中断嵌套或优先级配置需要调整。

本节建立的“信号链—约束—预算—验证”视角,是后续学习中断控制器寄存器操作、定时器计数模式、分区时间管理以及故障注入测试的共同基础。读者在进入具体模块前,应先能说清自己平台上的时间预算分配和优先级映射关系。

总结来看,航电计算平台的中断与定时器设计,本质上是在确定性、安全性与资源效率之间做工程权衡。课程后续将依次展开中断源与控制器、定时器工作模式、分区时间管理、驱动实现、延迟测量与故障处理等内容,最终形成一套可落地、可验证的设计方法。