基于数据压缩的车身CAN网络优化调度设计*
2015-04-12张国胜王书举
张国胜,王书举
(1.交通运输部公路科学研究院,运输车辆运行安全技术交通行业重点实验室,北京 100088; 2.辽宁工程技术大学机械工程与自动化学院,阜新 123000)
2015169
基于数据压缩的车身CAN网络优化调度设计*
张国胜1,王书举2
(1.交通运输部公路科学研究院,运输车辆运行安全技术交通行业重点实验室,北京 100088; 2.辽宁工程技术大学机械工程与自动化学院,阜新 123000)
针对汽车车身网络节点日渐增多而低速CAN带宽资源有限的问题,引入减少网络传输数据的数据压缩技术,分析了车身网络信息数据变化特点,提出了基于数据压缩的变化优先(CF)的优化调度算法,介绍了CF算法的数据压缩、解压缩和调度原理,将CF算法应用于汽车车身控制系统设计,理论分析和实验验证的结果表明,该算法可显著降低车身CAN总线负载,改善信息的实时性,提高车身CAN总线的扩展灵活性。
车身;控制器局域网;优化调度;数据压缩
前言
CAN网络广泛应用于车辆控制系统,采用CAN网络的车身电子系统信息容量大、扩展灵活性强、成本低、布线少、维修智能。
汽车车身控制模块接收乘员的指令,返回系统的运行状态,车身控制系统中的信息多属于按键、状态指示类,车身系统对通信网络的要求有以下几方面[1]。
(1) 要求信息有一定的实时性,以避免乘驾人员的误操作。例如,驾驶员对后视镜的操作指令若不能及时响应,将带来安全隐患。
(2) 车身网络对网络的容量和扩展灵活性的需求越来越大。当前汽车车身的控制功能正向着自动化、智能化的方向发展,车身控制系统中通过网络互连的电子器件日渐增多。
(3) 汽车车身电子系统对成本因素比较敏感。车身控制网络目前通常采用低速CAN协议网络。
由于成本制约和车身信息的实时性要求,对于车身控制网络的设计更加注重网络的扩展灵活性或网络资源的利用效率[1-2]。因此,通过优化调度来提高现有CAN网络的资源利用率,是车身CAN网络设计中的重点内容。
1 汽车车身电子系统
汽车车身电子系统包括车内外照明控制、中央门锁、电动窗、智能雨刮器、电动转向柱、电动座椅、辅助加热系统和智能空调器等[3]。车身电控装置通过CAN总线连接构成车身总线网络。
为了减少汽车控制模块与线束、降低成本,一般会根据电器的位置对网络系统功能模块进行划分,然后按照功能相似、位置靠近的原则将车身划分为多个区域控制节点[4-5]。整个车身网络包含的部件较多,本文中以中央控制器和4个车门控制器等5个模块节点为例,介绍车身CAN网络设计方法。由中央控制器模块和4个门控制模块构成的车身CAN系统拓扑结构如图1所示。
为了提高节点信息解码的效率,将同一节点的控制信息集中在一起,预留一些保留位用于协议的扩展。左前门节点的状态或命令信息的数据场中4字节的具体定义如表1[6]所示,其余节点的数据定义详见文献[6]。
车身CAN网络状态或命令信息传输占用的字节较少。由车身节点的信息属性可以看出,在汽车稳定行驶时,由中央控制器、车门模块等节点周期性发出的信息中大部分数据并没有发生变化,这样的属性满足了对传输数据进行压缩的条件。
本文中基于数据压缩思想提出了根据数据变化情况进行网络调度的变化优先CF(changed first)算法。
2 车身CAN网络优化调度算法
数据压缩技术可以使用更少的数据来传输相同的信息内容,该技术已经广泛应用于图像传输和数据存储等领域。车身CAN节点收发的信息数据表征汽车的参数或状态,当汽车的参数或状态无变化时,相应的信息数据也保持不变。
表1 左前门控制器状态与命令帧[6]
注:表中未说明的位为保留位,置为1。
2.1 CAN信息标识符和数据域分配
CF算法旨在减少总线传输的数据量,给予数据发生变化的信息较高的优先级,给予数据无变化的信息较低优先级。因此,根据CAN协议的“线与”要求,设置信息标识符的ID.10位为数据变化控制位(CIB),表示数据是否变化。设置ID.9位为数据压缩控制位(DCB),表示数据是否压缩。设置信息的数据域第一个字节为数据压缩控制(DCC)域。CF算法中对于信息帧的结构配置如图2所示。
在CF算法中,由于DCC占用了信息数据域的一个字节,当节点中产生的新数据和旧数据有超过一个字节的数据重复时,可以采用数据压缩技术来减少传输的数据量。当节点产生的新信息的数据无变化且满足压缩条件时,将CIB位置1,此时,竞争总线资源的其他信息将有更高的优先级,实现了发生变化数据的优先传输。CF算法中,CIB和DCB与数据变化的对应设置如表2所示。
表2 CF算法中控制位设置
2.2 CF算法编码与解码原理
根据表2的设置,当新数据产生时满足压缩要求,通过配置DCC中的对应位来表征数据的组成,如某信息有两个字节数据发生变化时,其DCC控制位的配置如图3所示。与节点中备份信息的数据相同的字节无须发送,对于有变化且需要发送的数据字节将DCC对应位置1,有变化的数据字节按先后顺序排列,节点发送的新信息将携带DCC及其变化的数据。
当信息m首次产生时,将其作为原始信息进行数据备份。当m再次产生时,控制器根据信息的数据变化情况,置位各控制位,具体数据压缩流程如图4所示。
接收节点须对数据压缩信息进行解压来还原数据,它首先根据控制位判断数据是否经过压缩,然后对比相应信息的数据备份,对数据进行复原,接收节点对信息数据的重构过程如图5所示。
3 车身CAN总线性能分析
3.1 车身CAN网络性能分析方法
针对车身CAN网络的实时性和网络扩展性需求,分析控制策略对网络这两个方面性能的影响。
3.1.1 车身CAN网络实时性分析
信息m在CAN总线中传输须经历一定的时间,考虑CAN协议的位填充和帧间间隔,信息m占用总线的最长传输时间tCm[7]为
(1)
式中:fbaud为总线传输速率;τbit为网络位传输时间;对于标准信息帧g=34;dm为信息帧m数据域的字节数。
车载网络信息的实时调度一般采用截止期单调(DM)算法[8]。DM按照信息的截止期分配信息的优先级,通过计算可分析出此信息传输能否满足其实时性要求。
CAN总线信息从发生节点申请发送开始至目标节点完成信息的接收为止要经历一定的传输延时。此延时须考虑信息m的最坏传输条件,包括信息m发出总线使用申请后的等待时间(先等待已经在总线上传输的低优先级信息传输、竞争总线失败后再等待高优先级的信息传输)和自身的传输时间。此情况下的延时称为最长传输延时,记为tRm[8]:
(2)
式中:tWm为信息m从申请发送开始到获得总线使用权的时间;tBm为m申请使用总线时被正在传输的低优先级信息所阻碍的时间;h(m)为比信息m优先级高的信息集合;l(m)为比m优先级低的信息集合;Ti为信息帧i的发送周期;tJi为软件抖动时间;tCi是i信息在总线上的传输时间。
对于车载CAN实时系统,若系统中的信息m满足以下条件,则认为该信息传输满足实时性:
tRm≤tDm-tJm
(3)
式中:tDm为信息m的有效时限,即可允许的最大传输延时。
CF调度针对信息的数据变化情况赋予信息不同的优先级,数据无变化的信息则被赋予低优先级而延迟发送,此类信息如果由于调度延迟超出其时间限制,可由接收节点直接采用本地的备份状态和指令数据;对于数据有变化的信息,其优先级不低于原优先级,其响应时间将不大于采用DM调度时的最长响应时间,则此类信息的实时性可根据式(3)判定。
3.1.2 车身CAN网络可扩展性分析
总线负载率是衡量CAN总线可扩展能力的重要指标。它定义为系统各个信息帧总线占用百分比之和:
(4)
式中Tm为信息帧m的发送周期。
扩展灵活性因子UFR[1]是评价CAN总线可扩展能力的另一个重要指标,表示新调度方案相对于传统方案的总线利用节约百分率。UFR的值越大,说明CAN总线网络的可扩展性能越强。采用CF算法进行信息调度的总线扩展灵活性因子[9]为
(5)
式中:UTrad为采用传统调度形式时的总线负载率;UCF为采用CF时的总线负载率。
3.2 车身CAN网络性能分析
采用与文献[6]中汽车车身控制系统相同的参数配置,取中央控制器模块和4个门控制模块构建车身网络。CAN网络位速率为62.5kbit/s,各模块节点的信息属性如表3所示。针对车身应用环境,取软件抖动为1ms。
表3 车身控制系统信息属性
由表1车身信息中对信号的定义可以看出,在车辆行驶中,车身各模块节点发送的信息所携带的数据中有多个字节数据不发生变化甚至整个数据没有变化。本文中取中央节点和两前门节点发送的信息数据中有4字节重复不变,两后门节点有2字节不变时的情况[6]对网络性能进行分析。
3.2.1 车身CAN网络实时性分析
对采用CF算法与采用传统传输方式(TradT)的信息最长响应时间进行计算,得到信息的延迟时间如图6所示。由图可见,采用CF算法后信息的最长响应时间缩短,数据有变化的低优先级信息的实时性得到明显改善。
3.2.2 车身CAN网络扩展性实验分析
利用5节点实验系统对数据压缩方案进行验证分析,实验系统由3个单片机节点和2个PC节点组成,设置系统传输速率为62.5kbit/s,实验系统如图7所示。
实验中各节点周期性发送带8字数据节信息,单片机节点所发送的信息数据有4字节重复,PC节点发送数据中有2字节重复。网络监测结果表明,实施CF方案前后的系统网络负载率分别为16.62%和13.86%,可见经过优化后的总线负载明显降低。实验测得的总线负载率比理论计算结果略小,这是由于理论计算中考虑的是信息帧m的最大位填充的情况。
相比传统调度方案,采用CF时的车身系统的扩展灵活因子为
即本文方案相对于传统传输方案的扩展灵活性提高了16.606%,采用CF算法后系统的可扩展性明显提高。
4 结论
针对车身网络扩展性和实时性的要求,分析了车身网络信息数据变化的特点,基于数据压缩思想提出了变化优先调度方案。分析结果表明,该方案可使数据有变化的信息优先获得总线资源,能提高CAN网络的传输效率,同时改善低优先级信息的实时性,为未来车身电子系统的入网扩展提供了优化设计方案。
[1] 曹万科.CAN协议车载网络若干关键理论研究[D].沈阳:东北大学,2008.
[2] Navet N, Song Y Q. Validation of In-vehicle Real-time Application[J]. Computers in Industry,2001,46(2):107-122.
[3] 高青春.基于CAN/LIN总线的汽车车身通信网络的研究及应用[D].重庆:重庆大学,2006.
[4] 白中浩,曹立波,刘拥华,等.基于CAN总线的汽车车身网络系统的开发[J].客车技术与研究,2005,27(6):18-20.
[5] 郭利进,王化祥,龚进峰.基于CAN总线的车身网络系统及其控制策略研究[J].汽车工程,2006,28(8):774-778.
[6] 罗峰,孙泽昌.汽车CAN总线系统原理、设计与应用[M].北京:电子工业出版社,2010.
[7] 王书举,张天侠,张国胜.汽车TTCAN实时性分析及其可视化研究[J].汽车工程,2011,33(2):172-175.
[8] Giorgio C Buttazzo. Rate Monotonic vs EDF: Judgment Day[J]. Real-Time Systems,2005,29(1):5-26.
[9] 曹万科,张天侠,刘应吉,等.基于RMA方法的汽车车身CAN总线优化设计[J].汽车工程,2007,29(12):1098-1101.
Optimized Scheduling of Vehicle Body CAN Based on Data Compression
Zhang Guosheng1& Wang Shuju2
1.KeyLaboratoryofOperationSafetyTechnologyonTransportVehiclesMinistryofCommunication,PRC,ResearchInstituteofHighwayMinistryofCommunications,Beijing100088; 2.SchoolofMechanicalEngineering,LiaoningTechnicalUniversity,Fuxin123000
In view of the contradiction between the ever increasing network nodes in vehicle body and the limited bandwidth resources of low-speed CAN, a data compression technique is introduced to reduce network transmission data. Then based on the analysis on the changing features of vehicle body network data, an optimization scheduling algorithm with "changed first" principle is proposed for data compression and is then applied to the control system design of vehicle body. The results of theoretical analysis and experimental verification indicate that the algorithm proposed can obviously reduce the load of vehicle body CAN bus, improve the real time performance of information and enhance the expansion flexibility of vehicle body CAN bus.
vehicle body; CAN; optimized scheduling; data compression
*国家自然科学基金青年基金(51305181和51405213)资助。
原稿收到日期为2013年10月8日,修改稿收到日期为2014年1月22日。