管长焦
(煤炭科学研究总院沈阳研究院,辽宁 抚顺 113122)
随着汽车车身分布式实时CAN(Controller Area Network)系统中要交换的数据逐步增加,现有的带宽资源越显有限,因此,需要研究新的调度策略。动态实时调度策略如最小时间裕度优先(LSF)有较高的资源利用率,应该动态调度时车身网络的信息会有较好的时间特性[1-3]。
在CAN总线中实施LSF动态优先级调度需解决各节点之间对信息剩余传输时间的同步计算问题,以及解决如何用有限的标识符来表达剩余时间的问题。
本文对上述问题进行了深入研究,以信息可以等待的时间即信息的时间裕度为参数,将之量化来实现CAN帧标识符对时间裕度的编码,利用信息同时竞争总线时的仲裁来同步信息的剩余时间,利用CAN总线事件触发机制,实现了LSF调度。
CAN 协议信息的扩展格式如图1所示。
记信息m 的优先级为Pm,各个信号的优先级组成:控制优先级Pm-C、裕度优先级Pm-S和DM(截止期单调)优先级Pm-DM共同决定,如图2所示。
图1 CAN 扩展帧格式
图2 LSF 调度中优先级规划
CAN 总线采用“线与”机制,信息标识符越小则优先级越高。LSF 调度旨在随着仲裁更新时间裕度:
1)取ΙD.0 位为控制优先级位Pm-C,取接下来的WS位为裕度优先级;将WDM位规划为DM优先级域,DM优先级按信息截止期分配信息的优先级,主要用于区分信息的属性,用于接收滤波。仲裁域结构规划见图3所示。
图3 LSF 调度中CAN 帧仲裁域结构
2)确定时间裕度量化机制。每仲裁一次,裕度优先级将减1,则其大小应满足P[4]
其中,q为量化帧,tCm为信息的最坏传输时间,fbaud为系统传输速度,dm为数据域的大小。
3)确定各优先级的位数WS和WDM:
其中,Q为系统中信息的个数。
4)初始化优先级域:
根据信息的优先级位数确定其初始化状态,即:
其中,tDm为信息m的相对截止期,即当前时刻到信息截止期之间的时间,tJm为软件的抖动时间。
LSF 算法思想在于为每个信号引入随总线仲裁动态更新其裕度优先级概念,每次信息竞争总线失掉仲裁,裕度优先级会动态提升,本文定义每次提升步长为1,基于事件触发的LSF 算法步骤如图4所示。
图4 LSF 算法分析流程图
当所有信息同时竞争总线时,是信息在总线上传输的最坏条件,信息m在最坏传输条件下的传输时间称为最糟糕响应时间tRm。信息m的传输时间特性满足式(6)、(7),则该信息可调度[4]:
其中,U为总线利用率,Ti为信息周期,tWm为信息m等待发送的时间,TDm为信息m的截止期,τbit为位传输时间。
典型的汽车车身电子系统共包括有33 个随机性信号,如表1所示[5],分属于电动窗、车外灯、车内灯、手刹、指示器、雨刮器等单元。每个信号2 个字节。汽车车身信息的截止期要求不大于100ms。车身CAN网络速率一般为10~125kb/s。
表1 车身CAN 网络中传输的信息集
记车身信息为 a1~a33,设 a1~a5、a8~a22、a31~a33 由t=0 开始周期发送,周期分别为100ms、200ms、300ms;a6~a7、a23~a30 在t=70ms 时开始发送,周期为 200ms。考虑现场因素取软件抖动tJm= 1 ms ,总线传输速度取为125kb/s。
分别采用DM 和本文的LSF 方案对汽车以上信息循环600ms 中共111 个信息进行调度。
DM截止期单调算法按信息的截止期分配信息的优先级P,截止期越小的任务获得的优先级越高。基于LSF 算法的汽车车身信息调度设计,则q= 0.76ms ,WDM= 6,WS= 22,信息时间裕度初始值为TDm-tCm-tJm= 98.24ms ,需要WS为8 位。
通过调节总线传输的波特率模拟总线利用率的变化,编程分别对DM、LSF 算法进行仿真,得到两种算法调度下的车身CAN 总线网络性能分析结果如图5所示。
图5 车身信息集DM 与LSF 调度结果
由仿真知,DM 调度下在总线利用率达到63%时,有信息错过了其有效时间限制,即该信息丢失死限,此类信息均为低优先级信息。同样条件下LSF调度好于DM,总线利用率比DM 明显改善。
本文提出了LSF 调度策略,充分利用了CAN协议的非破坏性仲裁机制来实现同步。对车身控制信息调度结果表明,LSF 算法可达到较高的总线利用率,有效的提高了低优先级信息的实时性。
[1] BUTTAZZO G C.Rate monotonic vs EDF: judgment day[J].Real-Time Systems.2005,29(1):5-26.
[2] MARGULL U,DΙEDERΙCHS C,MARGULL U,et al.An application based EDF scheduler for osek/vdx[J].Proceedings of the conference on Design,automation and test in Europe,Munich,Germany,2008,1045-1050.
[3] PEDREΙRAS P,ALMEΙDA L.EDF message scheduling on controller area network[J].Computing & Control Engineering Journal.2002,13(4):163-170.
[4] TΙNDELL K,BURNS A,WELLΙNGS A J.Calculating controller area network (can) message response times[J].Control Engineering Practice.1995,3(8):1163-1169.
[5] TΙNDELL K,BURNS A.Guaranteeing message latencies on control area network (CAN)[C].Proceedings of the first international CAN conference,Mainz,Germany,1994.