APP下载

CAN报文实时性提高分析及改进

2017-03-03周三国吴平友

汽车电器 2017年2期
关键词:任务调度实时性报文

周三国,吴平友

(上海汽车集团股份有限公司技术中心,上海 201804)

CAN报文实时性提高分析及改进

周三国,吴平友

(上海汽车集团股份有限公司技术中心,上海 201804)

随着汽车电子功能的增加,功能需求对报文实时性需求高与报文传输延时大的矛盾越来越突出。为了研究传输延时影响因素,本文建立了最大传输延时模型,并基于位填充(含报文间隙)、网络任务及其他调度周期等方面进行分析和测试。结果发现:网络负载越高,报文传输延时越大;新增报文优先级越高,对原整车网络报文传输延时越大。故在网络设计时,需降低网络负载,新增零件采用低优先级报文;在满足零件功能需求时,适当增大报文周期超出阈值。

位填充;传输延时;报文周期;网络负载;调度周期

随着汽车工业与电子工业的不断发展,电子技术在现代汽车上的应用越来越广泛,汽车电子化的程度也越来越高;为了简化汽车的线束、减轻线束的质量,适应大量数据实时交换需要,提高系统工作的可靠性和稳定性,CAN总线被广泛应用到汽车上[1-3]。

日益增长的电子功能,使得挂在网络上的零件越来越多,网络负载大幅增加。由于零件开发工程师代码编写习惯、调度网络任务周期以及零件其他非CAN网络任务数量不同,这些均对CAN总线报文实时性有一定影响。而整车功能越来越复杂,功能对网络数据实时性要求却越来越高。网络数据传输延时大与功能对网络数据传输实时性需求高之间的矛盾越来越突出。

相关文献对CAN网络进行了实时性研究,例如:英国约克大学对固定优先级调度系统进行了数学分析;在第1届国际CAN会议上,有学者分析了具有固定优先级的CAN仲裁及其应用性,Tindell等分析了最坏情况下CAN报文的延迟时间计算问题等[4]。但这些均是理论性分析,在已知批量生产的车辆上并未推广应用。为了在满足功能需求的前提下,尽可能提高网络报文实时性,本文拟针对各种可能影响CAN网络的报文因素进行分析,期望能找到一种工程上有效提升CAN报文实时性的解决方案。

1 数学模型

影响报文传输延时因素众多,但总体来看主要由以下几部分组成,如图1所示。

图1 CAN总线报文传输延时模型

MCU1对传感器等数据进行采样处理所需时间t1;MCU1的CAN控制器接收CAN报文所需时间t21;MCU1的CAN控制器成功发送报文所需时间t22;MCU1成功发送的报文传至MCU2的CAN控制器所需时间t3;MCU2的CAN控制器接收报文所需时间t41;MCU2的CAN控制器将报文转换成被控对象命令所需时间t42。即网络传输延时T可用以下公式表示

模型中,t1、t42一般由芯片自身运算能力决定,其数值对整体延时贡献较小,在实际分析中可忽略其影响。t21、t41与MCU任务数量、各任务调度周期、处理机制(例如:中断、轮询等)有关,为了方便研究,可将t21和t41视为等同。t22与CAN协议相关,涉及仲裁、位填充、错误帧等,该项也是本次重点研究对象。t3主要是线束上传输所需要的时间,因轿车内零件之间传输距离短,t3仅为几十ns,故可忽略不计。而在实际研究中,因方便测试验证及数据分析,在t21和t41中,只选取研究t21对传输延时影响。

如前文所述,t22主要涉及仲裁、位填充、错误帧等。仲裁是指不同CAN报文同时发送时,优先级高的报文获得总线传输占有权,低优先级报文等待优先级报文传输后,立即再次请求发送;位填充是指总线发送器只要检测到所发送的位流里有5个连续相同极性位便自动在所发送的位流中插入一个填充位;错误帧是指当总线上发送错误时,CAN控制器连续发送6个相同极性位。

如果总线上报文数量大,低优先级报文极有可能被高优先级报文夺去总线传输占有权,导致低优先级报文发送延时。

1.1 位填充对传输延时理论分析

实际上,在单位时间内,总线能传输的报文/位流是有限的,如果总线上因出现错误帧,则能传输的报文数量将减少。例如,在一段高速公路上,每一辆汽车可看做1个报文,这一段高速公路内,能布下的车辆数量有限。考虑到每一个报文最多能传8个字节数据,且因位填充原因,除了其他位场(CRC界定符、ACK场和帧结束)为固定格式外,其他各场均需考虑位填充。同时,每个报文之间的间隙为3个位,故此,报文传输时间因为新增加的填充位而变长[4-5]。

为了方便表现网络传输延时特征,报文周期超出阈值幅值Z、报文周期超出阈值概率P,可作为传输评价指标。

假设CAN总线传输速率为X kb/s,每个报文均包含8个字节,每个报文周期均为Y ms,报文周期超出阈值幅值Z,需传输N个报文,也就是,当第(N+1)个报文传输时,该报文周期超出阈值幅值将超过Z值。此时,报文数量N、报文周期超出阈值幅值Z、报文周期之间的关系如下

假设X为500时,所有报文周期均相同,报文周期超出阈值幅值为10%,根据公式(2),可计算出第(N+1)个帧。表1为报文不同周期时,不超过报文周期超出阈值幅值的报文数量。

表1 不超过报文周期超出阈值幅值的报文数量

由于实际通信报文并不是每个帧都会有最多的填充位,故表1中的N值将略大于实际测试验证中所得值。

1.2 其他因素对传输延时影响理论分析

报文ID、网络负载、任务数量、协议栈任务调度周期等,对传输延时均有一定影响。

当报文ID越小,该报文最有能力获得网络通信占有权。当多个报文同时抢占网络数据传输占有权时,ID小的报文将占据发送数据机会,其他报文将停止发送,只有当前面ID小的报文发送完毕,其他报文再次尝试发送。这样就导致某些ID大的报文因抢占不到发送主动权,导致其报文传输延时增大。

一个报文最多有133个位,每传一个位均需要时间。如果网络上空闲,则位流能顺利传输;如果总线上已被其他位占据,则无论即将传输的报文ID优先级如何,必须等到总线空闲后,才能尝试发送。故此,如果总线负载高,即网络上已有报文在传输,欲传输的报文因总线繁忙而无法发送报文,导致报文传输有可能失效或延时。一般来看,网络负载越高,各报文周期超出阈值幅值、报文周期超出阈值概率均会增大。

每个电子控制单元可能有不少任务,例如,需要控制刮水、控制前照灯、控制门窗、实现网络通信等,这些均可看作不同的任务。如果非网络任务越少,控制单元就有更多的时间处理网络通信;反之,如果其他任务多,MCU在有限的时间片内处理大量任务,则有可能丢失处理网络任务。理论上来讲,非网络任务越少,各报文周期超出阈值幅值比例、报文周期超出阈值概率下降。

网络任务调度周期越小,网络调度也就越及时,网络报文就可能在最短时间内传递出去,对应的网络报文周期超出阈值幅值、报文周期超出阈值概率下降。

2 测试分析

本研究中每组数据均在实车上进行至少4次试验,每次试验约1 h。整车网络上有发动机控制单元、变速器控制单元、ABS控制单元、网关控制单元、安全气囊控制单元等。由于各控制单元均为实际零件,可以选择具有代表性零件更改网络任务调度周期及非网络任务调度周期。测试验证时,使用CANoe通过OBD头连接到整车网络上。

为了研究各因素对整车网络报文传输延时分析影响大小,试验及数据分析主要分为2个测试用例进行。第1个测试用例:高优先级报文对整车网络报文传输延时影响;第2个测试用例:低优先级报文对整车网络报文传输延时影响。

每个测试用例按照以下原则进行测试:在原整车网络上,使用CANoe仿真发送对应优先级的报文,使其整车网络负载增加到80%;在原整车网络上,使用CANoe仿真发送对应优先级的报文,使其整车网络负载增加到90%。

为了对比明显,如无特别说明,报文周期超出阈值幅值Z设置为10%。

2.1 网络负载对传输延时

网络负载是网络传输延时的主要因素,为了分析网络负载对延时的影响,依次分高优先级报文、低优先级报文。2种试验各分2次向整车网络注入网络负载(Busload)。然后,针对原车网络负载下的数据、2种高负载数据进行统计。整理某零件报文发现:当注入高优先级报文时,Busload越高,相同ID报文周期超出阈值概率越大;周期小于50ms的报文,报文周期超出阈值概率越大;ID在0x18e~0x2c3报文超出周期超出阈值概率大。当注入低优先级报文时,Busload越高,相同ID报文周期超出周期阈值概率越大;周期小于50ms的报文,超出周期阈值概率越大;ID在0x1aa~0x2c3报文超出周期超出阈值概率大。

图2为各网络负载下原车某零件报文周期超出阈值概率。在各网络负载下,报文ID:1df的报文周期超出阈值概率均较大。网络负载在65%时,其报文周期超出阈值概率P为9.2%。当注入高优先级,网络负载为80%、90%时,其报文周期超出阈值概率P依次增至22.57%、43.76%。当注入低优先级,网络负载为80%、90%时,其报文周期超出阈值概率P依次增至11.00%、11.52%。

2.2 报文ID对传输延时

报文ID也是网络传输延时的主要因素,为了分析报文ID对延时的影响,可利用2.1节中数据对某零件进行分析。发现:注入报文的优先级越高,原车报文周期超出阈值概率越高;ID在0x18e~0x2c3报文超出周期超出阈值概率大。

当网络负载增至80%,如果报文ID:1df在注入低优先级时,周期超出阈值概率为11.52%,而当注入高优先级报文时,报文ID:1df的周期超出阈值概率为22.57%。当网络负载增至90%时,如果报文ID:1df在注入低优先级时,周期超出阈值概率为11.52%,而当注入高优先级报文时,报文ID:1df的周期超出阈值概率为43.76%。

2.3 网络任务调度周期对传输延时的影响

选取某个零件,更改其网络协议栈调度周期。分析数据主要来源于2种试验:该零件的网络协议栈调度周期未更改;该零件的网络协议栈调度周期增加1倍。

针对整车所有网络报文分析发现:某一个零件的网络协议栈调度周期变化,对原车报文周期超出阈值概率影响较小。如图3所示。

2.4 非网络任务调度周期对传输延时的影响

选取某个零件,网络协议栈调度周期保持不变,其他9个任务调度周期均同时增加1倍。分析数据主要来源于2种试验:①该零件所有任务调度周期未更改;②该零件其他9个任务调度周期均增加1倍。

根据实测数据看,其情况基本与2.3节类似,即:某个零件的非网络协议栈任务调度周期变化时,对原车报文周期超出阈值概率影响较小。

2.5 报文周期超出阈值幅值与报文周期超出阈值概率之间关系

基于前面数据,可将报文周期超出阈值幅值Z适当增大,针对阈值要求变化,分析报文周期超出阈值概率情况。现将报文周期超出阈值幅值Z分别设为10%和20%,针对网络负载为80%进行研究,发现:当报文周期阈值由10%增至20%时,网络上各报文周期超出阈值概率显著降低。参见图4。

图4 报文周期超出阈值幅值与报文周期超出阈值概率之间关系

3 结论

根据前面试验分析可知,网络负载、报文优先级是影响网络传输的主要因素。故此,在要求网络实时性高的网络设计时,尽可能降低网络负载;在网络扩展时,新增网络零件报文尽可能不用高优先级ID,否则对原车网络报文延时影响较大。此外,零件失效管理等策略或功能务必考虑网络传输延时,网络零件功能对于传输延时不能过于苛刻,在满足功能需求情况下,可适当放宽网络报文传输延时阈值。例如:网络零件接收其他零件报文时,网络报文传输延时必须在报文周期超出阈值幅值10%内到达;否则,功能上禁止图像、语音、故障码等报警,这之类的要求可适当放宽。由于影响网络传输延时因素众多,本次试验仅找到部分传输延时重要因素,故在网络报文实际设计中,还需要结合实际功能需求进行网络设计。

[1]王建,左启耀,高峰.基于CAN总线的客车控制系统[J].吉林大学学报(工学版),2004,15(7):282-285.

[2]刘新亮,张建武,陈兆能.汽车控制器局域网络技术及应用[J].汽车工程,1998,20(2):101-107.

[3]周三国,张海涛,吴平友.CAN总线速率提升研究[J].上海汽车,2014(5):49-52.

[4]王俊波,胥布工.CAN报文实时性分析及在线评估[J].控制与决策,2007,22(4):449-452.

[5]袁远.CAN网络通信及实时性研究[D].兰州:兰州大学,2010.

(编辑 杨景)

Analysis and Improvement of CAN Real-time Message Performance

ZHOU San-guo,WU Ping-you

(SAIC Motor Passenger Vehicle Technical Center,Shanghai 201804,China)

The conflict between transmission real-time performance and transmission latency about CAN message is becoming prominent,with the increase of on-board electrical functions.In order to find the main factors of transmission latency,the worst-case response time models are set.Many cases are tested based on perspectives of bit stuffing mechanism(including interval),network task,and the processing period.Results show that the higher CAN busload and message priority,the greater transmission latency.Therefore,in CAN network design,the busload should be decreased and new components should use low message priority.Besides,when meeting requirements of the component functions,the threshold of the frame transmission latency could be increased.

bit stuffing;transmission latency;message period;busload;processing period

U463.6

A

1003-8639(2017)02-0049-04

2016-07-31

周三国,男,湖北黄冈人,高级工程师,硕士,主要研究方向为车载网络设计开发;吴平友,男,安徽人,工程师,硕士,主要研究方向为车载网络设计开发等。

猜你喜欢

任务调度实时性报文
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
基于生产函数的云计算QoS任务调度算法
基于动态能量感知的云计算任务调度模型
浅析反驳类报文要点
一种基于FPGA的网络串口管理系统的设计
计算机控制系统实时性的提高策略
可编程控制器的实时处理器的研究
基于B/S的实时用户行为检测管理系统设计与实现
基于HMS的任务资源分配问题的研究