基于AUTOSAR规范的车载FlexRayNm研究

时间:2023-05-24 12:36:03 公文范文 来源:网友投稿

zoޛ)j首汽车总线FlexRay网络通信的可靠性和安全性,在研究AUTOSAR网络管理规范及FlexRay总线特点的基础上,针对AUTOSAR网络管理在故障处理和新节点加入处理方面的不足,研究节点状态转换条件,通过发送添加故障检测位的网络管理数据协议单元,实现故障检测;通过节点发送带标志位的Repeat消息,以避免新节点加入后,总线一直存在Repeat消息发送。最后采用CANoe软件进行仿真,验证该方法的可行性。

关键词:车载网络;FlexRay;网络管理;AUTOSAR;状态转换

中图分类号:TP393 文献标识码:A 文章编号:1005-2550(2015)03-0032-06

Abstract: In order to ensure the reliability and safety of the FlexRay bus communication network, based on the study of AUTOSAR network management and the characteristics of FlexRay, aiming at the shortage of AUTOSAR network management in the new node’s joining process and the fault handling, we improve conditions on the node state transition. Fault detection is realized by sending adding fault detection of network management protocol data unit; In the time of the new node’s joining, the flag bit Repeat Message is sent to avoid sending the Repeat Message all the time. Finally, CANoe simulation software is used to verify the feasibility of the method.

Key Words: vehicle network; FlexRay; network management; AUTOSAR; state transition

前言

随着人们对汽车信息化和智能化的要求越来越高,大量的电控单元(ECU)由汽车网络连接在一起被应用到汽车工业领域,构成一个安全关键系统。由于汽车电子系统中ECU数目越来越多,各个单元出现通信故障的可能性越来越大,网络管理(Network Management,NM)通过实时监控各单元工作状态,来保障网络消息传输的可靠性和安全性[1-3]。

FlexRay总线具有通信速率高、实时性好、容错性强,以及较为灵活的网络配置等优点[4-5],极有可能成为未来车载通信网络的标准。目前对FlexRay网络管理的研究主要集中在网络通信协议实现方面,而对网络管理机制改进方面研究较为缺乏,文献[6]对车载FlexRay网络管理策略进行了初步的研究;文献[7]将OSKE直接网络管理协议数据单元(NMPDU)置于FlexRay网络动态段中进行传输;文献[8]根据FlexRay静态段和动态段通信的特点,研究基于AUTOSAR NM动态调度策略来实现对NMPDU的灵活调度。

本文在深入研究应用于FlexRay的AUTOSAR网络管理的基础上,从研究节点状态转换入手,针对AUTOSAR网络管理机制的不足,提出一种改进的方法,最后在CANoe实验平台上对本方案进行仿真验证。

1 FlexRay总线及AUTOSAR NM

1.1 FlexRay通信机制

FlexRay是一种高性能的串行总线,当两个通道上传输不同数据时,其理论最大传输速率可到达20 Mbit/s。FlexRay通信周期是网络访问时序的基本单位,通信周期由静态段、动态段、符号窗口、网络空闲时间4个部分组成,其中动态段采用事件触发的柔性时分多址(Flexible Time Division Multiple Access)仲裁机制,静态段采用时间触发的时分多址(Time Division Multiple Access)仲裁机制[9-10]。FlexRay数据帧中,可以将静态帧帧头中的负载指示位设置为1,表明该帧负载段0~12字节作为网络管理向量来使用。

1.2 AUTOSAR NM在FlexRay中的应用

AUTOSAR NM采用的是分布式直接网络管理,协调算法是基于周期性发送或接收NMPDU,每个节点通过收发NMPDU来独立进行网络管理活动[11]。

AUTOSAR NM在不同的总线中有不同的实现方案,基于FlexRay总线的AUTOSAR NM状态机主要包括Bus Sleep Mode、Synchronize Mode和Network Mode三种模式,由于FlexRay是以通信周期作为访问时序的基本单位,所有节点必须与通信周期同步后才能发送数据帧, AUTOSAR NM针对该特点添加了FlexRay总线所特有Synchronize Mode[12]。在Network Mode下,分为Repeat Message、Normal Operation和Ready Sleep三种状态。节点只有在Repeat Message、Normal Operation状态下才能发送网络管理Vote消息(NM-Vote PDU)和网络管理数据消息(NM-Date PDU)以保持整个网络管理系统唤醒[13]。

为了确保FlexRay NM状态转换与FlexRay通信周期同步,每个状态或者模式间的转换都是在两个网络管理重复周期边界期间进行。AUTOSAR NM状态机转化条件及过程如图1所示:1)NM初始化;2)节点网络请求;3)节点同步完成,重复周期结束,进入Repeat Message状态,启动Repeat消息定时器Trm;4)Trm释放且节点有网络请求;5)收到Repeat消息或者自身请求进入Repeat Message状态;6)节点无网络请求,无发送Repeat消息请求,进入Ready Sleep状态后,启动准备睡眠周期计数器(Readysleepcnt);7)Readysleepcnt数值大于0, 有网络请求无Repeat消息请求;8)Readysleepcnt数值大于0,有Repeat消息请求;9)节点无网络请求,无发送Repeat消息请求,进入Ready Sleep状态后,启动Readysleepcnt;10)周期计数器数值小于1,无网络请求和Repeat消息请求;11)关闭网络管理系统。

为了实现节点监控功能和同步状态转换,在FlexRay的AUTOSAR Nm中定义以下几个定时器和计数器,如表1所示:

2 机制改进及NMPDU设计

2.1 AUTOSAR NM机制缺陷

车载网络节点在长时间运行的过程中,可能会发生故障,无法正常发送或接受网络管理消息。对图1进行分析后,发现存在以下不足:1)节点处于Ready Sleep状态时,等待其他节点协同进入Bus Sleep Mode,不发送网络管理消息。如果节点出现故障,其他节点无法发现,离开Ready Sleep状态后,认为该故障节点进入Bus Sleep Mode。2)每个节点仅仅在进入Repeat Message状态后,启动Trm。当新节点加入网络后,新节点与网络上现有的节点不是同时进入Repeat Message状态,导致所有节点无法同步离开Repeat Message状态,根据Trm触发的条件,网络上一直会存在Repeat消息。

2.2 支持故障检测的睡眠机制

节点进入Ready Sleep状态后,不发送任何网络管理消息,与该节点故障无法正常发送网络消息表现一致,导致无法区分当前节点处于故障状态还是Ready Sleep状态,当Readysleepcnt<1时,默认进入Bus Sleep Mode。

图2为改进该睡眠机制,在不破坏其协同睡眠的基础上,本文添加故障检测机制,当Readysleepcnt=1,所有节点在该重复周期内发送故障检测位的网络管理消息,每个节点收到该消息后,标记发送节点处于Ready Sleep状态;当所有节点处于正常状态,同时Readysleepcnt<1时,所有节点同步进入Bus Sleep Mode;如果在该重复周期内,存在节点没有发送包含故障检测位的网络管理消息,则停止Readysleepcnt计数器,将它标记为可能故障节点,在下个重复周期所有节点继续发送故障检测位的网络管理消息,如可能故障节点还未发送该消息,则将其判定为故障节点,并通知应用层该节点故障。

由于在包含故障检测位的网络管理消息中,Vote位为0,无法使整个网络保持唤醒,在保证网络所有节点协同睡眠的同时,也对故障节点进行检测。

2.3 Repeat消息定时器触发条件改进

新节点加入该网络进行网络管理,与网络上其他节点同步完成后,进入Repeat Message状态,启动Trm,发送Repeat消息。由于处于其他状态的节点收到新加入节点的Repeat消息后,将在下个重复周期进入Repeat Message状态,因为所有节点Trm定时时间相同,导致新加入节点与其他节点无法同步离开Repeat Message状态,时间相隔一个重复周期,整个网络一直存在节点处于Repeat Message状态,网络一直保持唤醒。

为了确保所有节点在Trm定时器释放后,在同一个重复周期结束时离开Repeat Message状态。本文将每个节点进入Repeat Message状态后第一次发送的Repeat消息中添加标志位,处于Repeat Message状态的其他节点收到携带标志位的Repeat消息后,重启Trm。一个Voting周期结束后,节点清除该标志位,在之后的FlexRay周期中,发送普通的Repeat消息。所有节点的Trm定时器在接收最后一个带标志位Repeat消息开始计时,当Trm释放且重复周期结束,所有节点同步离开Repeat Message状态。其实现过程,如图3所示:

2.4 FlexRay NMPDU设计

针对FlexRay总线静态段和动态段的特点,应用于FlexRay的AUTOSAR NM支持NM-Vote PDU和NM-Date PDU单独发送,也支持NM-Vote PDU和NM-Date PDU结合一起发送。同时用户不仅可以根据自己需求选择NMPDU的格式,而且也能选择NMPUD在静态段或动态段发送,具有较高的灵活性。FlexRay NM-Vote PDU和FlexRay NM-Vote PDU格式如图4所示,其中NM-Vote PDU为一个字节,仅最高位有效,NM-Date PDU长度可配置为1~8字节。

I) NM-Vote PDU格式

ii) NM-Date PDU格式

本文采用NM-Vote PDU和NM-Date PDU结合的方式,整个NMPDU只有一个字节。因为设计过程中没有用于网络管理的用户数据,而且如果将NMPDU置于静态段发送,其源节点ID可以省略。采用这种方式,优点在于利用了FlexRay协议中的网络管理向量,将NMPDU置于静态帧负载段的的第一个字节中,同节点的应用数据合并在一起发送,节点可以通过读取网络管理寄存器,快速识别节点网络请求,不仅可以提高网络管理消息的更新速率,而且可以避免带宽的浪费。

相比原来的AUTOSAR NM机制,改进后添加了故障检测位和首次发送Repeat消息标志位,对NM-Date PDU中的控制位向量(Control Bit Vector)重新设计,其结构如图5所示:

图5中,Vote位用来保持总线唤醒;Cluster Request表示节点是否有网络请求;Active Wakeup表示当前网络是否处于唤醒状态或在初始化后是否负责唤醒这个网络;RptMsg Request表示节点是否请求发送Repeat消息。

新添加的两位中,Fault Detection位:当Readysleepcnt=1时,该位自动置为1,其他位都为0,表明整个网络在Ready Sleep状态中进行故障故障检测;当Readysleepcnt不等于1时,该位置0。First RptMsg位:当节点刚刚进入Repeat Message状态的第一个Voting周期内,该位置为1,其他FlexRay周期内,该位置0。

3 仿真实验

为验证上述AUTOSAR NM在FlexRay网络中改进方案的可行性,采用Vector公司的CANoe.FlexRay和DaVinci Network Designer软件构建FlexRay仿真实验系统。如图6所示,在DaVinci Network Designer配置FlexRay网络参数导出XML文件,导入CANoe中,一共创建5个节点,通过节点在总线上发送的网络管理消息,对节点正常通信、故障检测、新节点加入三个状态进行仿真。

为实现AUTOSAR网络管理,在CANoe的仿真过程中,通过设置按键触发的方式来实现相应的功能,其中按键‘A’表示,模拟ABS节点发生故障,无法正常通信;按键‘N’表示,模拟New_Join节点加入网络通信。

图7为网络管理正常通信,将New_Join节点禁用后,Gateway、ABS,ESP,AWD四个节点初始化一段时间后,进入Normal Operation状态。

图8为在Ready Sleep状态下节点故障检测。当四个节点进入Ready Sleep状态,按下按键‘A’,ABS节点模拟故障,退出网络管理。当Readysleepcnt=1,其他节点发送带故障检测位的网络管理消息,根据上文所述方法,其他节点判定ABS节点故障,并在Write窗口中显示。

图9为改进后的新节点加入过程。按下按键‘N’,New_Join节点加入网络,此时ABS节点处于Ready Sleep状态,其他三个节点处于Normal Operation状态,所有节点进入Repeat Message状态后,第一次发送的Repeat消息带有标志位,节点根据改进后的节点加入机制进行网络管理状态转换。

4 结论

AUTOSAR网络管理在保障车载网络的安全性和可靠性的同时,网络开销小,通用性强,将成为车载网络主流的网络管理标准,本文通过在CANoe中对改进后的故障检测和新节点加入处理机制进行仿真验证,车载网络能正常良好的通信,表明该方案能实现设计功能。为基于AUTOSAR的FlexRay车载网络管理研究奠定了基础。

参考文献

[1] 刘源杨, 李杨, 乔昕等. 一种改进的电动汽车网络管理方法与实现[J]. 计算机系统应用, 2013, 22(6) : 145-148.

[2] 刘泽, 黄智, 王敏等. 基于OSEK/VDX NM的汽车舒适性控制系统网络管理的研究[J]. 汽车工程, 2013, 35(9) : 145-148.

[3] 王刚, 荣健, 丁天宝. FlexRay网络静态段时间参数优化[J]. 西南交通大学学报, 2012, 47(2) : 318-324.

[4] 顾嫣, 张凤登. FlexRay动态段优化调度算法研究[J]. 自动化仪表, 2009, 30(12) : 25-29.

[5] 张建军, 谢梦如, 张本宏等. FlexRay总线静态段的动态分配调度方法[J]. 电子测量与仪器学报, 2014, 28(6) : 604-609.

[6] 袁昊昀, 陈觉晓, 孙泽昌. 车载FlexRay网络管理策略的初步研究[J]. 单片机与嵌入式系统应用, 2008, 25(5) : 20-21.

[7] 张建军, 田晓, 张本宏等. OSEK NM机制在FlexRay网络中的研究与实现[J]. 电子测量与仪器学报, 2012, 26(12) : 1037-1042.

[8] 姚江云, 孔峰, 吴方圆. FlexRay车载网络管理数据调度的研究[J]. 自动化仪表, 2011, (12) : 43-46.

[9] 韩强, 牛德青, 李林珊等. FlexRay总线动态段传输延迟概率模型[J]. 兵工自动化, 2011, 30(2) : 33-36.

[10] 王刚, 荣健, 丁天宝. FlexRay网络静态段时间参数优化[J]. 西南交通大学学报, 2012, 47(2) : 318-324.

[11] 王跃飞, 张纯鹏, 张利等. 基于最小时间碎片的汽车FlexRay网络设计[J]. 电子测量与仪器学报, 2014, 28(3) : 299-305.

[12] 张建军, 于萍, 张本宏等. 一种改进的AUTOSAR车载网络管理方法[J]. 电子测量与仪器学报, 2013, 27(11) : 1093-1098.

[13] Specification of FlexRay Network Management V5.1.0 R4.1 Rev 2[S]. Germany: AUTOSAR Parnership, Org, 2013.

[14] Specification of Network Management Interface V3.2.0 R4.1 Rev 2[S]. Germany: AUTOSAR Parnership, Org, 2013.

推荐访问:规范 研究 AUTOSAR FlexRayNm