杜峰 蔡一杰 关志伟,3 唐风敏 吴迪
(1.天津市智能交通技术工程中心,天津 300222;2.天津职业技术师范大学,天津 300222;3.天津中德应用技术大学,天津 300350;4.中汽研(天津)汽车工程研究院有限公司,天津 300300;5.河北工业大学,天津 300401)
主题词CAN总线 传输速率 延时 偏移量补偿 标识符优化
车载CAN总线系统拥有高性能、高可靠性、高实时性与设计较为灵活等优势,因此广泛应用于当前汽车电子控制网络系统中。但是汽车电子技术的发展日新月异,为满足用户的需要,总线系统内的节点越来越多,设计越来越复杂。系统高负载工作时,大量节点会同时争抢带宽资源,有可能出现数据传输延时现象,不仅限制了数据传输速率,还可能影响系统的稳定性。
国内外针对CAN总线网络通信延时的测算与优化进行了大量的研究。对通信延时的测算主要包括对最差情况响应时间及非最差情况下的总线消息响应时间建模分析,并在此基础上建立了考虑错误和干扰的理论体系。此外,有学者还提出了运用数学和概率工具计算响应时间的方法,该方法能够更好地测算响应时间的概率分布情况。网络通信延时优化方面的研究主要包括报文标识符编码研究、调度算法优化、负载率算法研究等。这些措施都可有效改善总线系统的通信质量,但实际应用中仍会出现高负载率下稳定性变差等不利情况,且这些优化方法均难以对总线网络系统的整体与局部进行兼顾,无法达到最好的优化效果。
本文基于CAN 通信协议对总线数据传输进行分析,在负载率固定的情况下对总线延时和网络可扩展性进行优化,分析总线数据传输时的延时特性,提出一种报文偏移量补偿及标识符优化的混合优化方案,并采用该方案对动力CAN(PTCAN)和车身CAN(BDCAN)总线进行分析优化。
CAN 总线上每一个节点工作的时钟都不相同,并且具有独立发送请求的权利。对某一报文而言,从系统下达报文发送的命令到报文接收完成的时间称为CAN总线的通信延时。任意报文的通信延时τ可分为通信过程延时R和通信错误恢复时间E:
通信过程延时为在没有任何通信错误的前提下,报文从开始发送到接收完成所需的执行时间和等待时间。因为通信错误所导致的报文发送失败而进行恢复所花费的时间称为通信错误恢复时间。
2.1.1 通信过程延时
通信过程延时由帧延时、软件与CAN 控制器延时、媒体访问延时组成,可近似表示为:
帧延时主要受报文的帧长度和位时间影响。帧延时的表达式为:
式中,为数据位的长度,即数据场中实际传输的数据位数;为开销位的长度,由该帧为标准帧或扩展帧决定;为填充位的长度,其大小需根据位流的实际情况而定。
软件延时与CAN 控制器延时主要由CAN 控制器本身、接口芯片、具体传递的报文信息量等因素决定。
媒体访问延时是不同优先级的报文在抢夺总线带宽资源时所额外耗费的时间,这也是当前国内外汽车电子方面研究的热点。CAN 总线通过非破坏性总线仲裁机制对报文进行传输,这样的运行机制极易导致高优先级报文不断地被发送,中低优先级报文不断地被重复仲裁的情况出现,会对优先级不占优势的报文产生极大影响,从而出现较大的媒体访问延时。
2.1.2 通信错误恢复时间
CAN 总线采用自身独特的通信错误处理机制来处理通信错误情况,该机制分为错误检测、错误界定和错误处理3个阶段。
由于实际系统中可能出现的情况多种多样,复杂多变,难以确认通信错误恢复时间的全部影响因素,因此本文仅对一般情况下的错误恢复时间进行分析。
错误恢复时间E可表示为:
式中,为在通信传输错误出现之前,报文已传输的时长;为通信错误持续的时长;为通信错误期间报文的传输时长之和。
综上,CAN总线报文的通信延时可由式(5)得到:
对总线突发传输(Burst)情况、一般情况相对延时及最差情况相对延时进行建模研究,可清晰地发现总线的拥堵情况及具体的各情况延时时长。
2.2.1 总线突发传输情况
在总线上完成了一次地址传输后,对该地址连续进行多次数据传输称为总线的突发传输。在一次突发传输中,起始地址传输完成后,后续传输的次数称为突发传输长度。在内存读写的实际应用中,只要对起始地址与突发传输长度进行定义,就可方便有效地进行连续传输,但在CAN总线系统中,连续发送极容易对通信情况造成影响。连续发送时长较长的控制器势必会出现网络拥堵问题,从而导致延时时长的增加,因此研究Burst情况可以快速发现延时情况较为严重的控制器,以便有针对性地解决问题,提高优化效率。
2.2.2 一般情况相对延时
在进行报文的网络传输时,即使是完全相同的报文也难以保证同时到达。每个报文实际到达时间与预定到达时间的差距无法做到一致,这种现象称为抖动。由于不同报文的发送周期不同,导致延时时长这一指标无法真实反映报文的延时情况,为解决这一问题,采用一般情况相对延时近似显示报文发送的延时情况:
式中,为抖动的时长;为报文的设计周期。
2.2.3 最差情况相对延时
要对报文的延时特性进行分析,就必须对报文的实时性进行研究,即对报文的最差情况响应时间(Worst Case Response Time,WCRT)进行分析。WCRT 分析即研究总线系统调度的可行性,其内容为测算报文可能出现的最长通信延时,以判断在给定时间内能否成功完成传输,从而避免出现丢帧等严重问题,保证CAN报文传输的安全性。
最差情况响应时间W主要由3个部分组成:
式中,Q为排队等候的时长。
J主要由发送节点的软件程序决定,Q通过迭代计算:
上述分析方法是基于理想情况,将WCRT分析拓展到具有通信错误的情况,最差情况响应时间W为:
同样地,将最差情况响应时间与设计周期之比称为最差情况相对延时:
报文偏移量补偿(OFFSET)是一种对CAN 总线报文传输序列进行精确分析并通过对其偏移量进行补偿来提升通信精确度的方法。该方法通过监测总线活动形成报文传输序列,并对这些报文传输序列进行分析来了解传输延时的大致情况,从而获得报文偏移的准确值。该方法的流程如下:
a.获取CAN 总线一段时间范围内传输的全部报文内容,并确认每一个报文传输结束的时间信息,随后将所有接收到的信息存放起来,并按照接收的顺序予以排列,从而得到报文传输序列。
b.对报文传输序列加以分析。首先,在报文记录中定义“基准报文”,然后选定2个不存在排队延时的报文为“基准报文实例”,其选取原则为:
各报文的最差情况相对延时须小于100%,否则会出现丢帧等问题,需对其进行具体分析;各报文一般情况相对延时须小于40%,如果有个别超过40%的情况,可能出现丢帧等问题,需具体分析;需存在2 个以上不存在排队延时的报文以进行基准报文的选取。
设这2个基准报文实例完成接收的时间点分别为t和t,其中为完成接收的时刻,和为报文实例的序号,且<。
c.通过前文选定的基准报文实例构建整个时间段内各报文应接收完成的时间点,如图1 所示。图中“B”为基准报文实例,ΔM为一个基准报文实例相对前一个基准报文实例的时间增量,参考线表示由2 个“基准报文实例”所构建的各报文应接收完成的时间点,这些时间点的信息可由式(11)、式(12)得到:
图1 各报文应接收完成的时间点
d.最后,采用上述方法对每个报文重新计算,得到正确到达时间,即可对优化后的报文进行发送。
综上,报文偏移量补偿法可以在确定基准报文实例的情况下对报文进行精确的延时分析,但如果不满足构成基准报文实例的条件,就无法应用此方法。因此这里需要采用报文标识符优化的整体优化方案先对总线进行整体优化,从而提升报文传输质量,满足确定基准报文实例的条件。
在CAN 总线系统中,进行信息交换的最基础单元为报文,每一个报文都有自己独特的标识符(ID),标识符最主要的功能为区分报文的优先级。但是CAN总线的机制决定了系统会优先保证高优先级报文的传输,而优先级低的报文不但无法及时发送,且没有一个确定的发送时间,这样势必会对通信质量造成影响。为此,本文提出一种通用的标识符编码优化设计方法。
使用兼容CAN2.0A 与CAN2.0B 规范的11 位标识符,并将其ID域划分为3段,如图2所示。
图2 11位标识符分段结构
高4位为标识符的信息段,是一段信息编码,用来对设备节点提交的数据进行分类,取值范围为0~15。其中由于CAN 规范规定7个最高位不能全部为1,所以取值为15的编码无法使用。第4~6位为设备段,是一个系统或分系统内的设备编码,取值范围为0~7,因此最多支持8 个设备。低4 位为系统段,在对整个系统或分系统进行编码时使用,取值范围为0~15,即最多可承载16个分系统。由于设备段和系统段并没有明显的区分,因此若将2个段联用,可承载127个节点设备同时联网。
“OFFSET+ID”方案优化流程如图3所示。
图3 “OFFSET+ID”方案的优化流程
运用CANoe 软件采集实车动力控制总线(PT⁃CAN)、车身控制总线(BDCAN)的报文发送记录,并使用Symtavision 软件对采集到的发送记录(trace)文件进行网络传输质量分析。
采用Symtavision 软件,依据设计文件搭建BDCAN与PTCAN 总线上的实车网络模型,建立的部分网络模型元素如图4所示。
图4 BDCAN与PTCAN总线网络的部分模型元素
采用报文偏移量补偿方法进行优化需要对能否选定基准报文实例进行判别,基于此对选定条件进行测试。
首先对CAN 总线上的报文发送情况进行分析,表1 所示为BDCAN 与PTCAN 总线上的延时指标分析数据。
表1 延时指标仿真情况
由表1 可知,BDCAN 各报文延时在可接受范围内,但PTCAN 总线上Engine4、SAS1 报文的延时不符合标准。
综上分析,BDCAN 总线网络情况符合选定基准报文实例的标准,可以直接采用报文偏移量补偿的方法,而PTCAN 总线无法满足要求,需要采用“OFFSET+ID”的混合优化方案。
本次优化具体方案如下:
ID 方面,在对PTCAN 总线使用标识符重新分配方法后,报文SAS1 仍不满足实施偏移量补偿方案的条件,经分析后对其报文名进行优化,具体参数如表2 所示。
表2 ID优化参数
通过实施偏移量补偿方案,计算得出OFFSET方案具体优化参数,如表3所示。
表3 OFFEST优化参数
根据前文所述,对BDCAN 总线采用报文偏移量补偿方法,对PTCAN 采用“OFFSET+ID”优化方案进行优化,根据前文得到的计算模型对BDCAN与PTCAN的一般情况相对延时与最差情况相对延时进行计算,优化前后对比如图5、图6所示。
图5 优化前、后BDCAN报文一般情况及最差情况相对延时
图6 优化前、后PTCAN报文一般情况及最差情况相对延时
经过数据统计,优化后PTCAN、BDCAN总线一般情况相对延时数据对比如图7所示,最差情况相对延时数据对比如图8所示。
图7 PTCAN和BDCAN一般情况相对延时对比
图8 PTCAN和BDCAN最差情况相对延时对比
据图7、图8 可知:优化后PTCAN 各报文的一般情况相对延时均在30%以下,同时高延时百分比的报文数量大幅度减少;BDCAN 各报文的一般情况相对延时均在20%以下,同时最差情况延时均小于60%。将相对延时低于10%的报文定义为低延时报文,通过采用这一方案,2条总线的平均一般情况低延时报文占比由优化前的67.5%提升至82.25%,最差情况低延时报文占比由优化前的44.65%提升至48.75%,极大地改善了网络通讯延时情况,增加了后续网络的可扩展性。
本文以CAN 总线系统实时性为对象,研究了总线通信系统的延时特性,针对报文延时的各项指标,提出“OFFSET+ID”的优化方案,并在2条CAN总线上进行仿真验证,得出如下结论:
a.从通信延时模型中分析得到的报文突发传输情况、一般情况相对延时和最差情况相对延时的模型可用于评价CAN总线的实时性。
b.“OFFSET+ID”方案在负载率一定的条件下大幅减少了高度延时和中度延时报文的数量,大幅提高了CAN总线的实时性。