1. 星载FPGA实时任务调度导论
星载FPGA实时任务调度,研究的是在卫星平台资源受限、环境恶劣、任务时序严格的条件下,如何让FPGA内部与外部协同的多类任务在规定时限内完成,并保证关键任务不被非关键任务挤占。它既不是单纯的FPGA逻辑设计,也不是通用操作系统的进程调度,而是把硬件并行性、任务时限约束和星上资源约束三者统一起来的一门工程方法。本章建立全课程的概念坐标系:先明确课程要解决什么问题,再认识星载计算环境的特殊性,随后给出实时任务调度的基本概念,最后说明FPGA在星载系统中的角色与典型应用场景。
1.1 课程目标:从“能跑”到“可证明按时完成”
本课程的目标可以概括为三层。第一层是建模能力:能把一个星上功能(例如遥感图像条带预处理)拆解为若干具有周期、截止时间、执行时间、依赖关系的任务,并写成可分析的模型。第二层是调度设计能力:能针对周期任务、偶发任务、硬实时与软实时混合的负载,选择合适的调度策略,并在FPGA上落地为可综合的硬件结构。第三层是可验证能力:能通过最坏执行时间分析、响应时间分析或时序仿真,给出“任务在最坏情况下仍满足截止时间”的证据,而不是仅凭平均情况下的运行观察。
这三层对应一个核心判断标准:可调度性。一个任务集是可调度的,意味着存在一种调度顺序,使所有任务在任意合法到达序列下都不超过各自截止时间。课程后续所有算法、结构与案例,都围绕如何构造并证明这种顺序展开。
1.2 星载计算环境的特点
星载环境与地面数据中心差异极大,直接影响调度策略的选择。首先是资源极度受限:FPGA的查找表、触发器、DSP切片、块RAM和布线资源都有硬上限,调度器本身也要消耗逻辑资源,不能无限复杂。其次是功耗与散热约束:卫星散热依赖辐射,动态功耗与开关活动直接相关,调度不能只追求吞吐,还要控制峰值功耗与热积累。
第三是辐射效应:单粒子翻转会改变配置存储器或寄存器状态,单粒子锁定可能造成局部功能失效,总剂量效应则带来长期退化。调度机制必须具备抗翻转能力,例如关键状态三模冗余、周期刷新、看门狗复位与任务级重试。第四是不可维修性:在轨无法更换硬件,调度策略必须在上注前充分验证,并保留在轨重构与降级运行能力。第五是任务时序刚性:姿态控制、星间链路、载荷成像等任务具有明确的周期与相位要求,错过截止时间可能造成数据丢失甚至平台安全风险。
1.3 实时任务调度的基本概念
实时任务通常用四元组描述:到达时间、执行时间、截止时间、周期(或最小到达间隔)。按截止时间性质分为硬实时(错过即失败,如姿态控制)、软实时(错过只降低服务质量,如遥测下传)和固实时(结果在截止时间后仍有价值但快速衰减,如目标检测)。按到达规律分为周期任务、偶发任务和非周期任务。
调度策略的两个基本维度是抢占性与优先级分配。抢占式调度允许高优先级任务打断低优先级任务,响应更快但上下文切换开销大;非抢占式调度切换少、可预测性强,但可能产生优先级反转与阻塞。优先级可分为静态优先级(如速率单调RM,周期越短优先级越高)和动态优先级(如最早截止时间优先EDF,截止时间越近优先级越高)。利用率是判断可调度性的重要指标:对于n个周期任务,RM在利用率不超过 n(2^(1/n)−1) 时保证可调度,EDF在利用率不超过1时保证可调度,但EDF在过载时行为不如RM稳定。
在FPGA上,任务并不总是“软件线程”。一个任务可能是一个采样通道、一个滤波流水级、一个DMA搬运过程或一次重构配置。因此调度粒度、切换代价和阻塞时间都需要重新定义。例如,非抢占式硬件流水级一旦启动,往往要等当前数据块处理完才能切换,这相当于一段不可抢占区,必须在响应时间分析中计入。
1.4 FPGA在星载系统中的角色
FPGA在星载系统中通常承担三类角色。第一类是接口与协议桥接:连接星上总线(如SpaceWire、CAN、1553B)与载荷、存储器,完成协议转换、时序适配与数据打包。第二类是数据通路加速:对遥感图像、雷达回波、频谱数据进行实时滤波、FFT、压缩、目标检测等运算,利用并行流水获得远高于通用处理器的能效比。第三类是可重构计算平台:通过部分重构,在同一片FPGA上分时承载不同任务,例如成像阶段运行预处理,过境阶段运行数传打包。
正因为FPGA同时具备并行执行、可重构和硬实时接口能力,它天然适合作为星载任务调度的执行载体。但这也带来一个关键问题:多个硬件任务共享DSP、BRAM和外部存储带宽时,资源冲突会表现为执行时间抖动。调度器必须把这些共享资源视为可阻塞资源,并在任务模型中显式描述。
1.5 典型应用场景与挑战
星载FPGA实时调度的典型场景包括四类。第一类是遥感成像与预处理:相机以固定行周期输出像素,FPGA需在行间完成暗电流校正、坏点替换、条带拼接与压缩,任务周期由行频决定,截止时间通常只有几十微秒。第二类是星间/星地链路处理:突发到达的数据包需要在有限缓冲内完成解调、解码、路由与转发,属于偶发任务,需处理抖动与背压。第三类是姿态与轨道控制:控制律以固定控制周期运行,硬实时要求最高,任何延迟都可能影响稳定度。第四类是在轨重构与健康管理:部分重构期间,被重构区域不可用,调度器需把任务迁移到剩余资源,并保证关键功能不中断。
这些场景带来的核心挑战可以归纳为四点。其一,最坏执行时间难以精确界定:共享DSP与BRAM的争用、外部存储访问冲突、刷新与纠错开销都会拉长执行时间,必须通过保守估计或实测包络来确定。其二,资源与时间的联合约束:调度不仅要满足时间截止,还要满足逻辑资源、功耗和热约束,是一个多目标问题。其三,辐射导致的动态不确定性:翻转可能使任务重执行或降级,调度表需要具备在线调整能力。其四,验证成本高:在轨不可维修,要求地面验证覆盖最坏到达序列、资源冲突和故障注入场景。