1.1 嵌入式系统与实时性要求
1.1.1 嵌入式系统的定义与核心特征
嵌入式系统(Embedded System)是一种专用于执行特定任务的计算机系统,其硬件与软件被紧密集成并封装于其所控制的更大设备内部。与通用计算机(如个人电脑、服务器)追求“普适性”和“高性能”不同,嵌入式系统的核心设计准则是“专用性”、“可靠性”与“成本效益”[1]。其典型物理形态通常不是独立的、可被用户直接感知的“计算机”,而是作为功能模块嵌入到如家用电器、工业机器、医疗仪器、交通工具乃至消费电子等最终产品之中。
嵌入式系统的核心特征可以归纳为以下三点:
- 资源高度受限:受制于成本、功耗和物理尺寸,嵌入式系统的计算资源(如处理器主频、内存容量)、存储资源和能源供给通常都经过精密计算,以满足最低需求为目标,这与资源富余的通用计算平台形成鲜明对比。
- 与物理世界直接交互:嵌入式系统通过各类传感器(Sensor)感知外部物理世界的状态(如温度、压力、位置),并通过执行器(Actuator)对外部世界施加控制(如驱动电机、打开阀门、点亮屏幕)。这种实时交互是其存在的主要价值。
- 确定性与实时性要求:许多嵌入式应用要求系统行为在时间上是可预测的。对于给定的输入,系统必须在有限且确定的时间范围内产生正确的输出或响应。这种对时间约束的遵从,即为“实时性”(Real-Time)。
1.1.2 实时性要求的本质与分类
实时性的本质并非单纯追求“速度快”,而是追求行为在时间维度上的“确定性”(Determinism)和“可预测性”(Predictability)。一个响应速度为1微秒但不稳定的系统,在严格意义上可能不如一个稳定在10毫秒内响应的系统“实时”。根据违反时间约束(Deadline)所导致后果的严重程度,实时性通常被严格区分为“硬实时”与“软实时”两种类型。
1. 硬实时(Hard Real-Time)
硬实时系统要求任务必须在绝对严格的截止时间前完成。错过截止期限不仅被视为功能错误,更可能导致灾难性的系统失效,造成生命危险、重大财产损失或环境破坏。硬实时系统的设计核心是在最坏情况执行时间(Worst-Case Execution Time, WCET)分析下,确保所有关键任务都能在其截止期限前完成。
- 典型应用案例:
- 汽车电子:防抱死制动系统必须在轮胎即将抱死的瞬间(毫秒级)内完成传感器数据读取、计算并调整制动压力。错过截止期限意味着制动失控。
- 航空电传飞控:飞行控制计算机必须持续、稳定地在数毫秒周期内完成对舵面的控制,以维持飞机姿态。响应延迟可能导致飞行失稳。
- 工业安全控制:急停按钮被按下时,控制信号必须在规定时间内(如IEC 61800-5-2标准对安全转矩关断有明确时间要求)切断电机动力。延迟将导致人员伤亡。
2. 软实时(Soft Real-Time)
软实时系统对任务的截止期限有要求,但偶尔、有限度地错过截止期限是可以容忍的。系统的整体性能和功能会因响应延迟而下降,但不会导致系统完全失效。软实时系统更关注平均性能和吞吐量。
- 典型应用案例:
- 消费电子:智能手机的视频播放或触控响应。偶尔的帧率下降或触控延迟会影响用户体验,但不会使设备损毁。
- 多媒体流:网络视频通话允许一定的数据包延迟和抖动,通过缓冲机制可以平滑播放,短暂的卡顿可以被接受。
- 机器人上层规划:移动机器人的全局路径规划算法,允许在数百毫秒甚至秒级内完成重新规划,短暂的延迟不会导致机器人立即碰撞。
为更清晰地区分,下表总结了硬实时与软实时的关键差异:
表1:硬实时与软实时系统对比
| 对比维度 | 硬实时系统 | 软实时系统 |
|---|---|---|
| 截止期限要求 | 绝对严格,必须在截止期限前完成 | 相对宽松,可容忍偶然或有限的超时 |
| 超时后果 | 灾难性失效(安全、财产损失) | 性能降级,用户体验下降 |
| 设计目标 | 保证最坏情况下的确定性,100%时间约束满足 | 优化平均性能和吞吐量 | <