杨华松 易 克
(1.煤炭科学研究总院沈阳研究院,辽宁 抚顺 113122;2.浙江佳洲电器有限公司,浙江 温州 325605)
CAN总线有着价格低廉、运行可靠等优点,已经逐渐应用于矿车等实时通信系统[1]。矿车控制系统属于分布式实时系统,系统中包含周期的与随机的实时信息,这些信息多数与安全关系紧密,有较高的实时性要求,因此需要在设计中进行合适的调度管理。对于实时性系统,有时间触发和事件触发[2],两种触发机制,时间触发机制可以保证系统信息的通信抖动可控,而事件触发机制一般用来满足系统的灵活性需求。
CAN协议总线本身采用事件触发机制,柔性时间触发CAN(FTT-CAN)将时间触发机制引入CAN总线[3],在提供时间触发机制的同时具有很好的灵活性,本文基于 FTT-CAN提出了一种混和调度算法,以获得较高的网络利用率。
FTT-CAN在CAN协议的基础上,采用同步相和异步相双相结构,同时支持时间、事件触发机制。FTT-CAN协议将总线时间细分成等长的连续时间单元,即基本周期 EC(Elementary Cycles),每个EC开始时,由主节点发送一个 EC触发消息 TM(Trigger Message)给所有从节点。基本周期由主节点发送触发信息TM启动,到下一次触发信息出现截止。FTT-CAN的异步相用于传输事件触发信息,即随机信息,同步相则用于传输时间触发的周期性信息,其发送过程与各个 EC同步。FTT-CAN基本周期结构如图1所示,图中AM和SM分别表示随机性信息和周期性信息。两相之间保留空闲时间段α,使得不同触发属性的信息能够严格在各自相内进行传输。
FTT-CAN对时间触发信息的调度集中在主节点内,在主节点内保存了一个信息调度表SchT,用于实现对周期性信息的集中式在线调度。图2给出了触发消息对周期信息的控制方式,由图可以看到,通过触发消息字段,就可以控制周期性信息的发送与否。触发信息数据段中的每一位都对应于一个周期信息,将该数据位置位,则对应的信息可在由该触发信息开始的 EC内获准发送,否则该信息不能在该 EC内发送。通过对主节点内信息调度表的在线规划,动态地改变每个特定 EC内的触发信息,就可以实现周期性信息的调度管理。
图2 FTT-CAN调度原理图
CAN在应用中,存在低优先级信息死锁等情况[4],为了保证网络性能通常使用的网络利用率较低[5],本文针对上述情况,基于FTT-CAN提出了混合调度策略,将EDF算法引入FTT-CAN同步相调度中调度周期信息,EDF使时间最紧迫的信息获得总线资源,可获得较高的网络利用率;采用 DPP[4]算法调度异步相的随机信息,DPP算法可以为随机信息提供公平的带宽,有确定的传输时间界限,能够有效的防止低优先级信息的死锁[4]。
FTT-CAN的周期性信息的调度集中在主节点内,这为EDF算法的实施提供了条件,记周期性信息个数为NS,FTT-CAN下的EDF调度流程如图3所示。
对于DPP调度,将信息m的优先级分为两部分:动态优先级Pm-d和静态优先级Pm-DM,记s为优先级提升的步长,DPP算法的流程如图4所示。
图3 EDF调度原理图
图4 DPP调度原理图
采用文献[6]中的矿车信息模型为研究对象,模型中共有 44个信息,其中 31个随机信息记为A1~A31,优先级递增,11个周期信息记为S1~S11。记随机信息集为 A,周期信息集为 S,将在特定的基本周期 EC(n)传输的周期信息集记为 S(n),将基本周期取为周期信息的最大公约数 5ms,取网络传输速率为250Kbit/s。
分别采用文献[6]中的基于CAN的DM算法和本文基于FTT-CAN的混合调度策略调度这些信息,分析对系统性能的影响。
1)信息最坏响应时间分析
最坏响应时间 TRi表征信息从产生到抵达目的节点所用的最长时间,由3部分组成:
式中,Tbit为位传输时间,TBi为信息被正在传输的低优先级信息所阻碍的时间,TWi为等待高优先级信息传输的时间,TCi为信息i的传输时间。
对于基于CAN的DM算法,TBi和TWi分别为
式中,hp(i)为比信息 i优先级高的信息集合,lp(i)为比信息i优先级低的信息集合。
对于FTT-CAN,应用EDF算法时,由于信息i不被低优先级信息阻碍,其TBi=0,TWi为
采用DM和EDF时,周期信息的最坏响应时间如图5所示。
图5 周期信息最坏响应时间
由图5可见,采用基于FTT-CAN的EDF调度时,低优先级信息的最坏响应时间明显减少,信息的实时性得到明显改善。
2)系统可调度性分析
为了评价系统的可调度性能,引入评价因子β,
式中,tDi为信息的截止期,tD′i为信息i仍可调度时所能承受的最小时间限制。
取随机信息模型运行工况为:A 12—A 31在t=0时刻产生,A1—A11在A20完成传输时产生,可得采用不同的策略时系统的可调度性见表1。
表1 不同调度策略时的系统性能
由表1可见,采用了FTT-CAN的控制系统的冗余度有明显提高,在保证信息可调度的同时,能有效保证控制系统的确定性。
本文基于FTT-CAN提出了混合调度策略,提高了CAN总线应用中的系统带宽利用率,解决了信息的死锁问题。
[1] MOHAMMAD A L, JORG K, WEIJIA J. Scheduling hard and soft real-time communication in a controller area network[J]. Control Engineering Practice, 7:1515-1523, 1999.
[2] KOPETZ H. A comparison of CAN and TTP[J].Annual Reviews in Control, 2000, 24: 177-188.
[3] LUIS A, PAULO P, JOSE A G. The FTT-CAN protocol:Why and How[C]. IEEE Transactions on industrial electronics, 2002, 49: 1189-1201.
[4] CENA G, VALENZANO A. An improved CAN fi eldbus for industrial applications[J]. IEEE Transactions on Industrial Electronics, 1997(44): 553-564.
[5] LEEN G, HEFFERNAN D. TTCAN: a new timetriggered controller area network. Microprocessors and Microsystems, 2002, 26: 77-94.
[6] TINDELL K, BURNS A, WELLINGS A J. Calculating controller area network (CAN) message response times[J]. Control Eng. Practice, 1995, 3: 1163-1169.