LIN总线协议-调度表


一、调度表

调度表规定了总线上帧的传输次序(调度Header)以及各帧在总线上的传输时间。
调度表位于主机节点,主机任务根据应用层需要进行调度。调度表可以有多个,一般情况下,轮到某个调度表执行的时候,从该调度表规定的入口处开始顺序执行,到调度表的最后一个帧时,如果没有新的调度表启动,则返回到当前的调度表第一个帧循环执行;也有可能在执行某个调度表当中发生中断,执行另一个调度表后再返回,如事件触发帧的冲突解决过程就是一个典型的例子,如下图所示。

只有一个调度表时,采用循环执行

调度表1

三个调度表存在时,顺序执行

调度表2

调度表发生中断

调度表3

调度表除规定了帧 ID 的传输次序外,还规定了帧时隙Frame Slot)的大小。
帧时隙是调度表规定的一个帧的帧头起始到下一个的帧的帧头起始的时间。
每个帧的帧时隙都可以不同,帧时隙必须为时基的整数倍 .

时基(Time Base)为LIN子网的最小计时单位,通常设定为 5ms或 10ms。

一个帧时隙对应了调度表的一个入口,如图所示,其中 i = 1~8。

并且起始于时基的开始时刻(称为时基的节拍(Tick)),切换到另外一个调度表时一定要等到当前帧时隙的结束。

调度表
其中TFrame_Maximum 为帧在总线上传输的最大时间 。
抖动(Jitter)为帧的同步间隔段的下降沿与帧时隙起始时刻相差的时间 。

二、总结

调度表一般在网络系统设计阶段确定,由主机厂提供。

因为规定了帧的发送顺序,使得总线通信次序具备较大程度的可预见性。调度表的存在,使得LIN通信具有可预测性。

猜你喜欢

转载自blog.csdn.net/qq_41908302/article/details/131263277