汽车网络物理系统中可靠的实时消息调度
1. 消息调度机制
1.1 消息加载与重排序
在运行时,负载事件触发(ET)消息会按 Q2、Q3、Q1 的顺序检查队列中的空位,并将 ET 消息存储在第一个可用的队列中。若三个队列都已满,消息将被存储在相应的缓冲区,并在下一个时钟周期执行相同的功能。当缓冲区和重排序队列中都没有消息,且前一个时钟周期未执行重排序队列功能时,队列中的消息将按优先级进行重排序。否则,将根据后续讨论的条件,通过运行 POP 队列功能按 Q1、Q2、Q3 的顺序检查队列。具体流程如下:
graph TD;
A[开始] --> B{队列是否有空位};
B -- 是 --> C[存储消息到可用队列];
B -- 否 --> D[存储消息到缓冲区];
D --> E[下一个时钟周期重复操作];
F{缓冲区和重排序队列是否无消息且前一周期未执行重排序};
F -- 是 --> G[按优先级重排序消息];
F -- 否 --> H[按 Q1、Q2、Q3 顺序检查队列];
1.2 运行时调度器
运行时调度器以多级反馈队列(MLFQ)的输出和设计时生成的调度表为输入。它利用设计时生成的调度表计算可用松弛时间,并存储该信息,以便在运行时将受抖动影响的消息机会性地打包到 FlexRay 静态段时隙中。具体操作步骤如下:
1. 若 MLFQ 中有受抖动影响的消息,调度器检查下一个传入时隙的所有权。
2. 若传入时隙由 MLFQ 中受抖动影响消息的源节
FlexRay中实时消息调度优化
超级会员免费看
订阅专栏 解锁全文
1041

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



