嵌入式软件的时序理论与分析技术
1. 时序相关概念
1.1 背景任务执行时间与 CPU 负载
对于包含大量实际应用的背景任务,需要考虑其最大允许持续时间。首先要确定背景任务实例的最大持续时间,包括所有中断,这需要使用总执行时间(GET)。这个最大允许持续时间称为 GETBGmax。在运行过程中,每次运行都会记录当前总执行时间 GETBG,并按以下公式计算当前 CPU 负载:
[U = \frac{GETBG}{GETBGmax}]
1.2 总线负载
总线负载与 CPU 负载有很多相似之处。处于“运行”状态的任务对应着当前正在传输的消息,从而“占用”总线。操作系统带来的开销类似于除纯用户数据外占用总线的信息。例如,对于 CAN 总线,这包括帧起始(SOF)位、DLC 字段中的长度编码、校验和等。如果 te 包含在观察期 to 内总线被占用的时间,计算 CPU 负载的公式也可用于计算总线负载。
1.3 逻辑执行时间(LET)
逻辑执行时间(LET)的概念旨在将功能和通信解耦,使嵌入式软件具有确定性,特别是在多核应用中,从而使其更稳定、安全且易于分析。典型任务遵循 IPO 模型:输入、处理、输出。任务开始时接收数据,然后处理数据,在结束前输出数据。接收和发送数据也可以通过对内存的读写访问来实现。数据发送时间很大程度上取决于任务的执行时间。
在多核处理器的不同核心上有大量任务时,任务之间的通信会变得复杂、不可预测且有时不稳定。数据可能无法按时接收,或者在接收方预期只接收一个数据值的时间段内发送两次。
LET 范式在一定程度上使接收和发送时间与任务的执行时间解耦。接收和
超级会员免费看
订阅专栏 解锁全文
431

被折叠的 条评论
为什么被折叠?



