基于MTS的混合动力汽车数据通信研究
2012-03-15尹安东朱云骁
尹安东, 朱云骁, 江 昊
(合肥工业大学机械与汽车工程学院,安徽合肥 230009)
0 引 言
混合动力汽车(Hybrid Electric Vehicle,简称HEV)涉及机械、电力电子、计算机控制等多种学科的高技术产品,需要大量的信息交换和处理,因此在混合动力汽车上,控制器局域网络(Control Area Network,简称CAN)总线得到了广泛的应用。
目前基于CAN总线的混合动力汽车控制系统的调度算法有固定优先级调度算法[1-2]和动态调度算法[3-4]。固定优先级算法通过给各个通讯节点的报文事先设定好优先级,并按优先级顺序依次调度,该算法的实现最为简单,但是牺牲了整个通信网络的利用率,在整车电子系统不断增加、需要传递和共享的数据不断增多的情况下,已经很难满足实时通信要求。而动态调度方法虽然可以提高带宽利用率,但网络中需要发送的报文过多时,所需耗费的资源太多。因此既要满足消息的实时性提高系统的带宽利用率,又要减少系统资源的额外开销,成为混合动力汽车的CAN总线通信的难点所在。混合调度算法(Mixed Traffic Scheduling,简称MTS)综合了固定优先级调度算法与动态调度算法的优势,有效地结合了固定调度对系统的可预测性以及动态调度的灵活性等优点,既保证消息传输的实时性,又保证提高系统的带宽利用率,因此文中将混合调度算法应用到基于超级电容的混合动力汽车控制系统数据通信中,并利用True Time仿真和硬件在环仿真的方法来验证。
1 CAN总线混合调度算法
1.1 混合调度算法的基本思路
在HEV的CAN通信网络中,常按实时性将传输的消息划分为硬实时消息、软实时消息和非实时消息等3类。硬实时消息包括控制器控制信息、传感器采样信息及报警信息等;软实时消息是事件通告消息,有一定的实时性;非实时性消息是一些设备的状态信息。
混合调度算法的思想:先使用动态优先级调度算法给硬实时消息分配优先级;再使用固定优先级调度算法将软实时消息和非实时性消息分配优先级。硬实时消息的优先级高于软实时消息和非实时消息,将硬实时消息分为高速硬实时消息和低速硬实时消息。将0分配给硬实时消息标识符的最高位,而在次高位上分别分配0和1给高速和低速硬实时消息;1为软实时消息和非实时消息的最高位,分别将软实时消息、非实时消息的次高位分配0和1。
1.2 截止期分区策略
常见的报文截止期分区方法有对数分区方法,但对数分区方法比较复杂繁琐,计算量比较大。文中采用公差递增法对截止期进行分区,如图1所示,T为时间。由图1可看出,第0个时间段为b,第1个时间段为时间a,然后第n个时间段为[n(n-1)/2+1]a。a是可以设置的,通过调节a的大小来调节截止期的长短。这种截止期分区方法对于截止期比较短的信息,划分得比较细;对于截止期比较长的信息,划分得比较模糊。这样就可以满足截止期短的信息不会分配在同一个时间段内,避免优先级倒置[5]。相对于对数分区法,公差递增法即满足了实时性要求,也简化了算法的复杂度。
图1 截止期公差递增法
1.3 分配优先级
对按上述方法划分的时间段,首先要保证最后一个时间段n包含总线中消息的最大截止期,即满足:
考虑到n为整数,故需加一个时间段b来完成等式,如图1所示。当消息处在b这个时间段时,将它的优先级定为0。如果硬实时消息编码为m位,考虑到m位能表示的优先级可能大于n,所以在时间段分为n段的基础上,每个时间段又可以分为q=[2m/n]个单元,通过对a的调整,可以使2m大于n,这样在第i个时间段里,每个时间单元的长度为:
为求出一个消息的优先级,需求出其所属的时间段,再求该时间段的单元。假设它的截止期在i+1个时间段内,则
其中,di=Di-Tst;di为消息的相对截止期;Di为消息的绝对截止期;Tst为每一轮仲裁开始的时刻[5]。其优先级可以表示为:
文中对于硬实时消息,采用截止期优先[6-7](Earliest Deadline First,简称EDF)算法,当遇到比其自身优先级高的消息没有发送成功时,它的截止期会随着时间流逝而逐渐变小,同时因为截止期的不断变小,会使优先级不断地变高,从而最后得以发送出去。
而对于软实时消息和非实时消息采用截止期单调(Deadline Monotonic,简称DM)算法,按照所对应的截止期区间对其分配优先级,并一直保持这个优先级不变。
2 CAN节点设计及优先级分配
CAN总线网络上的节点数主要取决于总线驱动电路,目前最多可以达到110多个,完全可以满足现阶段混合动力汽车控制总线的要求。设计的柴油发动机-超级电容混合动力系统总成网络如图2所示。
图2 动力总成网络拓扑图
将网络中传输的信息按实时性分类[8],见表1所列。
表1 HEV总线各节点发送消息的分类
对于硬实时消息,见表2所列,其29位标识符分配为:前2位表示消息类型,考虑到动力总成中硬实时信息的个数为15,故取5位作优先级表示位;再取7位做截止期编码位,余下的标识符位前7位表示目的地址,中间1位保留位,后7位表示源地址。在每一轮仲裁后,硬实时消息根据其截止期长短重新分配优先级。而软实时和非实时消息采用固定优先级调度,其优先级不随系统运行而变化,它的29位标识符分配为:前2位表示消息类型,后8位表示其优先级,再取14位为目的地址和源地址,余下5位为保留位。
表2 29位标识符的分配
在分配初始优先级时,应先总结出所有消息的截止期,再通过公差递增法求出每个消息的初始优先级。分别分配主控制器、发动机控制器、电机控制器及电容控制器地址为0111100、100 0110、1010000、1011010,则几类消息的优先级标识符编码方式示例,见表3所列。
表3 HEV动力系统总成编码
3 仿真实验测试
为验证新的截止期分区策略所设计的MTS算法的合理性,利用Matlab/Simulink下的True Time工具箱,建立上述4个节点的网络模型,设定CAN总线的波特率为250 kb/s。使用DM算法和MTS算法时的网络调度如图3所示。其中,纵坐标表示网络节点号,分别表示主控制器、发动机控制器、电机控制器和电容控制器。
图3中,低信号表示闲置状态,高信号表示发送状态,中间信号表示该报文处于等待状态。
由图3可以看出,使用MTS调度时,报文需要等待的时间比DM算法大大减少,可以保证报文在其截止期内顺利完成传输,有效地避免了错误帧的产生。
图3 不同算法调度图
为了验证基于公差递增法的MTS算法的可行性,采用基于dSPACE硬件在环[9]仿真试验来检测该算法后的CAN报文帧发送情况。文中控制芯片选用MC9S12XDT512,片内集成CAN2.0A/B控制器,收发器采用CTM1050,用以实现整个CAN网络的通信。结合实时模拟和真实CAN总线,以整车HEV为模型,通过PC机和USBCAN监测整车实验工况下性能和CAN的收发数据情况来验证系统[10]。系统仿真初始参数如下:发动机额定功率为162 k W、电动机额定功率为45 k W。分别使用DM算法和MTS算法调度报文,仿真得出错误帧所占报文的比例,如图4所示。
图4 不同算法错误帧比例
由图4可见,使用DM算法时,待发送的报文由于需要等待的时间过长,导致该报文不能在其截止期内完成传送,从而导致过多的错误帧出现;而使用MTS调度时,待发送的报文需要等待的时间大大缩短,错误帧的出现明显减少。可以看出,使用MTS调度算法的CAN总线工作稳定、可靠,能够正常地完成数据通信工作,满足混合动力汽车实时控制要求。
4 结束语
由于HEV多能源管理的复杂性,对整车的数据通信的控制变得尤为重要,文中基于对HEV的CAN总线报文调度分析,采用一种公差递增法对截止期进行分区,从而为混合调度算法中的报文优先级划分提供支持。
采用True Time仿真和硬件在环仿真的方法来验证所设计的基于MTS的混合动力汽车CAN总线数据通信可行性,结果表明,所采用的混合调度算法应用性强,能够满足整车CAN数据通信总线的需求。
[1] 崔 炜,庞彦斌.调度通信在CAN总线中的应用[J].仪表技术与传感器,2005(9):27-29.
[2] 田 静,黄亚楼.CAN总线固定优先级调度算法的应用[J].计算机工程,2006,32(23):94-96.
[3] 王跃飞,张伟伟,严 刚,等.CAN消息的动态调度截止期选取研究[J].合肥工业大学学报:自然科学版,2010,33(5):644-646,651.
[4] Zuber I K M,Shin K G.Design and implementation of efficient message scheduling for controller area network[J]. IEEE Transactions on Computers,2000,49(2):182-188.
[5] 王书举,张天侠,张国胜.采用混合调度策略的电动汽车TTCAN网络[J].汽车工程,2010,32(11):993-996.
[6] Fuster S,Rodriguez F,Bonastre A.Software-based EDF message scheduling on CAN Networks[C]//Proceedings of the Second International Conference on Embedded Software and Systems,2005:450-455.
[7] Zhang Fengxiang,Burn S A.Schedulability analysis for realtime systems with EDF scheduling[J].IEEE Transactions on Computers,2009,58(9):1250-1258.
[8] 黄森仁,宋建峰.混合动力汽车CAN总线通讯系统的设计与仿真[C]//安徽汽车工程学会2010学术年会论文集.合肥:合肥工业大学出版社,2010:669-675.
[9] 荆新超,敖国强.混合动力汽车动力总成硬件在环仿真系统开发[J].车用发动机,2006(6):20-23.
[10] 赵 韩,姜建满.国内外电动汽车标准现状与发展[J].合肥工业大学学报:自然科学版,2011,34(7):961-965,971.