车载控制器网络占用过高导致网络延时问题分析
2021-04-07吴震云崔书浩余世运
吴震云,崔书浩,余世运
车载控制器网络占用过高导致网络延时问题分析
吴震云,崔书浩,余世运
(安徽江淮汽车集团股份有限公司,安徽 合肥 230009)
针对车载网络占用过高导致网络延时问题提出一种基于AutoSAR标准下设计的错峰发送方式。通过这种方式的实施将庞大单一任务分解成若干小任务,从而避免对资源的长期占用情况发生,降低系统时间延迟,对网络实时性和可靠性具有较好的参考意义。
车载控制器网络;错峰发送;网络延时
引言
CAN总线技术在汽车电子发展过程中起着至关重要的作用。但随着汽车电子的快速发展,总线节点增多使得总线通信量急剧增大,同时又要求被控对象反应时间进一步缩短,这使得CAN总线实时性和可靠性方面受到总线负载影响越来越明显。
一帧CAN报文从发送ECU处理好数据到接收方ECU使用数据,中间包含发送端软件处理延时时间,硬件发送时间,总线等待时间,网络传输时间,接收方数据校核时间、以及接收方软件处理时间。其中除总线等待时间受网络负载影响外,其他时间一般由ECU厂商设计方案决定。总线等待时间指标在主机厂进行网络设计应重点约束,特别是总线被单一节点占用导致等待延时时间过长问题。
本文重点阐述如何有效降低“总线等待延时时间”。
1 CAN网络延时描述
CAN通讯采用半双工通讯方式,同时采用ID仲裁机制实现数据发送优先级方案。
在此方案下当单一节点持续不断发送高优先级数据时,网络带宽将始终被此节点占用,低优先级数据将始终无法发送,形成堵塞,直到高优先级数据停止发送为止,低优先级数据才被发送出来,且此过程由硬件实现,不受软件控制。
低优先级数据发送被高优先级报文堵塞的时间,称之为网络等待延时时间。
由于CAN通讯仲裁机制下存在的固有缺陷,因此在网络架构设计之初需要对所有参与CAN通讯ECU发送数据量进行约束,避免单一ECU瞬时发送大量数据导致网络始终被单一节点占用情况发生。
2 解决方案
2.1 CAN延时设计标准
CAN通讯负载一般为网段一定时间内的平均负载,可以宏观体现网络通讯带宽占用情况,但无法体现一帧CAN数据被堵塞导致的发送延时时间。
一般汽车厂商要求总线延时时间不大于其发送周期的10%,以目前最快发送数据周期为准进行延时设计要求,即10ms周期发送的报文实际网络周期应该在9ms-11ms之间,因此除去引言描述的软件占用时间,ECU连续发送数据时占用网络时间最大不应超过1ms,否则无法保证上述10%周期延时要求。
由CAN数据链路层协议获知,一帧数据长度为8的网络数据一般由120-129比特位组成,传输时间约为0.23ms,当出现连续数据发送情况时,若出现连续5帧数据时占用总线时间即为1.15ms,超出标准要求,因此ECU每次连续发送数据量应严格控制在4帧报文以内(如每帧数据长度均不足8时,可适当放宽条件,但总数不应超出6帧)。
2.2 错峰发送方式(协议栈OffSet功能)
基于AutoSAR标准下设计的CAN网络通讯协议栈要求其通讯层(COM模块)具备设置OffSet功能,即错峰发送方式。
2.3 协议栈Com配置功能介绍
以下内容源于某公司发布的基于AutoSAR4.0标准开发的CAN通讯协议栈配置工具使用手册部分截图。
2.3.1 Com模块调度周期配置选项
通过图1“Com模块的整体配置项”中可以找到Confi -guration Time配置选项,其中Configuration Time Base[s]配置项用来配置COM调度的基准时间,单位为S。
图1 Com模块的整体配置项
(1)Configuration Rx Time Base[s]
此项用来配置Com_MainFunctionRx()被调用周期。
(2)Configuration Tx Time Base[s]
此项用来配置Com_MainFunctionTx()被调用周期。
2.3.2 Com模块OffSet配置选项
通过图2“Com模块的TxIPdu配置项”可以找到Com TxIPdu配置选项,其中Tx Mode配置项用来配置报文发送机制,有事件触发型、周期型、混合型和无发送模式,但无论哪种发送模式均提供了Time Offset配置选项,单位为S。
图2 Com模块的TxIPdu配置项
(1)Tx Mode Time Offset Factor[ms]
此项用来配置当发送模式为Periodic或mixed情况下,当Ipdu使能时,发送第一帧报文的偏移量,此值必须是Com_MainFunctionTx周期倍数。
(2)Tx Mode Time Period Factor[ms]
此项用来配置当发送模式为PERIODIC或MIXED情况时,报文发送的Cycle,此值必须为Com_MainFunctionTx的整数倍。
3 具体实施方案
当控制器出现发送数据大于4帧情况时采用错位(错峰)发送方式。即在报文发送时将报文进行分组,保证每组报文数据不大于5帧报文,同时在每组报文之间加入Offset实现错峰发送。
以下以某控制器发送5帧10ms周期数据帧,6帧20ms周期数据帧为例进行具体方案说明。
通过2.3章节描述可知,协议栈中Offset配置选项只能为调度周期整数倍,因此以下以2.5ms、5ms为基准调度周期为例进行设计描述。
3.1 2.5ms基准调度周期方案说明
将Com基准调度周期设定为2.5ms,因此可以将10ms发送周期划分为4个时间片,即10ms内可触发4次发送机制,因此可以将所有数据划分为4组进行发送。
以控制器发送11帧为例,将5帧10ms周期帧划分为A,a两组,将6帧20ms周期帧划分为B,b两组,其中A组有3帧,a组有2帧,B、b组各有3帧。将4组数据Offset配置项分别配置为:A组0ms,a组2.5ms,B组5.0ms,b组7.5ms,由此可进行网络数据时序排布,得出下表1所示Com模块发送网络数据时序图。
表1 Com模块调度周期2.5ms发送11帧数据分组发送机制表
此后控制器将按上述发送机制以20ms周期循环发送数据。
3.2 5ms基准调度周期方案说明
将Com基准调度周期设定为5ms,因此可以将10ms发送周期划分为2个时间片,即10ms内可触发2次发送机制,可以将所有数据划分为2组进行发送。
以控制器发送11帧为例,将5帧10ms周期帧划分为A组,将6帧20ms周期帧划分为B组,其中A组有5帧,B组各有6帧。将2组数据Offset分别配置为:A组0ms,B组5.0ms,由此可进行网络数据时序排布,得出下表2所示Com模块发送网络数据时序图。
表2 Com模块调度周期5ms发送11帧数据分组发送机制表
此后控制器将按上述发送机制以20ms周期循环发送数据。
3.3 错峰发送方式效果评价
通过3.1、3.2章节分析可知:当一帧优先级小于控制器所有发送报文情况下,在三种方案情况下的延时情况:
(1)在2.5ms基准调度和Offset配置情况下:最大延时时间为0.69ms;
(2)在5ms基准调度和Offset配置情况下:最大延时时间为1.38ms;
(3)在不做任何发送时序处理情况下:最大延时时间为2.53ms。
4 总结
无论在网络架构设计还是控制器软件任务调度设计时,都需要考虑资源占用情况,整车厂对网络堵塞设计约束和ECU供应商需要考虑CPU任务堵塞其内在机制完全一致。
ECU设计初需要将CPU资源进行系统划分,实现调度机制,同时要避免单一庞大任务对CPU长期占用,得益于CPU中断触发机制,可以及时实现任务间切换,降低堵塞产生的延时风险,除此之外,设计方也需要将庞大单一任务进行拆分,从而形成若干个时序不连续的子任务,在设计上实现有效降低任务抢断情况发生概率。
而CAN通讯目前没有中断触发机制,当单一节点网络数据持续发送时,因为相关控制器发送报文优先级高,往往导致总线长期被占用。针对此情况,采用错峰发送方式用于软件任务中将庞大单一任务解成若干小任务,可避免单一任务对资源的长期占用情况发生,降低系统时间延迟。
Research on Network Delay Caused By High Network Occupancy Of The Vehicle Controller
Wu Zhenyun, Cui Shuhao, Yu Shiyun
( Anhui Jianghuai Automobile Group Corp., Ltd., Anhui Hefei 230009 )
Consideringthe problem of network delay caused by the high occupancy of the vehicle network, a method of staggered transmission based on the AutoSAR standard is proposed.The implementation of this method decomposes a huge single task into several small tasks, so as to avoid long-term occupation of resources, reduce system time delay, and have a good reference significance for network real-time and reliability.
Vehicle network; Staggered transmission method; High network occupancy
10.16638/j.cnki.1671-7988.2021.06.009
U461.99
A
1671-7988(2021)06-26-03
U461.99
A
1671-7988(2021)06-26-03
吴震云,就职于安徽江淮汽车集团股份有限公司。