张建军,王跃飞,张本宏,张 利,李县军
(1.合肥工业大学计算机与信息学院,合肥 230009;2.合肥工业大学机械与汽车工程学院,合肥 230009;3.教育部安全关键工业测控技术工程研究中心,合肥 230009)
CAN总线是一种具有高抗干扰性和非破坏性仲裁等特点的串行通信协议,在汽车电子领域得到广泛应用。整车CAN网络中,所传输的消息类型有周期性、偶发性和非周期性消息,有硬实时、软实时和非实时消息。因此对于CAN网络消息传输,须采用合适的调度算法来满足各类消息传输的需求,进而避免各种消息相互间的不良影响。从本质上看,这种网络消息调度与操作系统中任务调度类似,可将其看成实时任务调度。整车CAN系统是典型的混合任务系统,其调度目标是在保证硬实时周期任务时限的基础上,缩短偶发任务和非周期任务的响应时间。
为实现该调度目标,时间挪用法[1]是一个较好的方法。其基本思想是在确保硬实时周期任务时限的同时,最大限度地使用周期任务集“挪出”的时间。周期任务集可挪用的时间由不同调度算法决定,一般情况下,动态优先级算法能够获得很好的响应时间。最早截止期优先(earliest deadline first,EDF)调度是典型的基于优先级驱动动态调度方法,将其与 CAN 协议结合[2-4],可实现 CAN 网络的EDF调度。但是该调度算法在一些特定的情况中,无法对偶发任务的信息传输进行有效调度。本文中应用了文献[5]和文献[6]中关于EDF调度算法、逆调度和空闲时间的研究结果,提出了基于最大可挪用时间的不可抢占EDF调度算法。……