1. 航电计算平台中断与定时器设计导论
在航电计算平台中,中断与定时器并不是两个孤立的片上外设,而是把“外部事件”“时间基准”“任务调度”“故障响应”串成一条闭环的基础设施。飞行控制律需要严格周期运行,导航传感器需要按帧到达,健康监控需要限时响应,总线通信需要超时重传,座舱显示需要稳定刷新——这些需求最终都会落到中断控制器与定时器模块上。本课程的目标,是让读者能够从系统约束出发,完成中断与定时器的需求分析、架构选型、参数配置、驱动实现与验证排障,而不是停留在“会调用一个中断注册函数”的层面。
一、课程要解决的核心问题
航电平台对中断与定时器的要求,与通用嵌入式系统有明显差异。通用系统更关注吞吐与平均延迟,航电系统更关注最坏情况执行时间(WCET)、确定性、可预测性与故障可隔离性。因此本课程围绕四条主线展开:
- 时间主线:系统时基如何建立,周期任务如何由定时器触发,抖动如何度量与约束。
- 事件主线:外部中断如何被采集、去抖、优先级仲裁、分发到具体任务。
- 隔离主线:分区操作系统下,中断如何映射到分区,时间资源如何被配额限制,避免一个分区拖垮整机。
- 验证主线:如何用示波器、逻辑分析仪、时间戳与覆盖率手段,证明中断延迟和定时精度满足指标。
这四条主线贯穿后续章节,本节先建立整体认知框架。
二、航电系统对中断与定时器的特殊要求
典型航电计算平台通常采用综合模块化航电(IMA)架构,多个功能以分区形式共享同一计算资源。由此产生几类硬性约束:
1. 确定性优先于平均性能。 中断从触发到任务开始执行的延迟必须可界定上界。假设某飞控任务要求 1 ms 周期、抖动不超过 50 μs,那么中断响应、上下文保存、调度器入队、任务唤醒这几段开销之和必须稳定落在预算内。设计时通常先分配预算,例如:中断硬件响应 ≤ 5 μs,ISR 前半段 ≤ 10 μs,调度延迟 ≤ 15 μs,任务唤醒 ≤ 10 μs,剩余 10 μs 作为裕量。
2. 时间资源必须可配额。 分区操作系统一般给每个分区分配固定的 CPU 时间窗。定时器不仅要产生周期节拍,还要参与分区时间窗切换,防止某分区在中断中长时间占用 CPU。
3. 中断优先级与安全等级挂钩。 高安全等级功能(如飞控、发动机控制)的中断优先级必须高于低等级功能(如客舱信息、维护记录),且低等级中断不得阻塞高等级中断超过规定时间。
4. 故障必须可观测、可隔离。 中断风暴、定时器停摆、时钟源漂移都属于典型故障模式,平台需要看门狗、中断计数监控、时间戳比对等机制来发现并隔离。
三、典型平台架构与设计约束
下图给出一个典型的航电计算平台中断与定时器信号链:外部事件经中断控制器汇聚,系统定时器提供统一时基,分区操作系统据此完成调度与时间配额管理,最终驱动各分区任务。
从图中可以看到,中断与定时器并非只服务于某一个任务,而是同时支撑事件响应、周期调度、时间配额和健康监控。设计约束也因此分为三类:时间约束(周期、抖动、超时)、优先级约束(安全等级映射)、资源约束(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 预算。若第三项超限,说明中断嵌套或优先级配置需要调整。
总结来看,航电计算平台的中断与定时器设计,本质上是在确定性、安全性与资源效率之间做工程权衡。课程后续将依次展开中断源与控制器、定时器工作模式、分区时间管理、驱动实现、延迟测量与故障处理等内容,最终形成一套可落地、可验证的设计方法。