VCT NWM在SAIC中速CAN网络中的应用

时间:2022-02-25 04:16:32

VCT NWM在SAIC中速CAN网络中的应用

摘要:随着车辆性能要求的提高,车辆上出现越来越多的电子装置。大量的数据交互和线束安装困难,使得CAN总线成为一种最有效的解决问题的方式。但由于各电器模块之间存差异性以及人们对车辆的性能、功耗等要求越来越高,简单的网络通信已不能完全适应网络需求,网络管理也就越来越受到设计者的重视。本文介绍了vct nwmsaic中速can网络中的应用,通过Labcar和实车试验证明:VCT NWM能安全可靠地运行,并有效地提高网络通信质量,使网络更好地为节点的功能服务。

关键字:VeT,NWM,网络管理,Busoff,帧

1 前言

为了提高车辆动力性、安全性、舒适性、操作性、环保性,电子装置越来越多地被应用到车辆上,此时数据大量交互、线束越来越多。微控制器对复杂的控制决策的约束将越来越小,而网络的实时性则成为进一步提高分布式实时控制系统在汽车控制中的性能的障碍。为了增强系统的可靠性、减少线束和降低成本,基于串行数据传输的网络拓扑结构已成为分布式实时系统的主流方式,在汽车中采用的分布式实时控制系统,受可靠性、空间和成本的约束,无一例外地采用了串行数据传输的网络拓扑结构,如CAN、LIN、MOST、FlexRay。目前应用最广泛且支撑技术和元器件最丰富的是CAN LU。

CAN是20世纪80年代初Bosch公司开发的一种串行通信协议,目前已得到广泛认同和应用,奔驰、宝马、大众、沃尔沃等汽车都将CAN作为控制联网的手段。由于各电器模块存在差异性,如:各模块供电方式可能不完全相同,各模块开始网络通信的条件不完全相同,有些模块需要网络休眠唤醒功能,有些模块不需要休眠唤醒,各模块处理错误机制可能不全相同。为此,SAIC Motor根据项目实际开发需要,中速CAN采用VCTNWM策略。

目前,VCT NWM已应用于SAIC Motor某款车型中速网络,经大量的各类试验证明,VCT NWM是一种比较安全可靠的网络管理策略,它能有效地处理网络中复杂的通信冲突,能有效地实现功能需求,提高总线通信质量。

本文将对VCT NWM在SAIC Motor某款车型上的应用进行阐述。

2 VCT NWM设计

2.1 VOT NWM范围

VCT NWM主要包含以下几个方面的内容:

1)网络开始通信和结束通信的控制策略

2)如何处理通信失效管理策略,如:CANBusoff

3)如何控制所有节点版本一致

4)如何处理同一网络中不同节点的工作模式

VCT NWM是一种主从式的网络管理策略,有备份主节点,也就是当第一主节点失效时,第二主节点可以承接所有的主节点行为。NWM的模型定义了CAN控制器和NWM的关系。当某节点不参与网络通信时,其节点可以继续保留自己的本地功能,而不因为未参与网络通信而停止本地应用软件运行。

图1描述了NWM与应用层、数据链路层、物理层以及Volcano其它模块之间的接口关系。在此,本文将不对非NWM的模块进行阐述。

2.2 节点类型

基于VCT NWM网络管理策略,节点可分为3类:

1)主节点。一个网络中主节点有且仅有1个,该节点须永久性供电(例如:KL.30),并且该节点能获取车辆状态输入(例如:钥匙状态位置:KL.R、KL.15等);主节点可根据该信息判断是否需要休眠或唤醒。

2)从节点。在一个网络中,从节可以有多个。从节点供电方式多样,可以永久性供电,也可以点火开关供电。

3)第二主节点。该节点为可选节点,即在一个网络中,可以有第二主节点,也可以没有。第二主节点供电方式也多样,可以永久性供电,也可以点火开关供电。当主节点失效后,第二主节点将行使主节点所有的网络管理功能,例如:各节点是否与车型相匹配,各节点网络配置版本是否相匹配,维护网络正常通信功能,决定网络进入休眠模式等等。

2.3 VOT NWM网络管理设计

2.3.1 网络开始通信

当主节点收到硬线或从节点请求网络通信的信号时,主节点将对其进行判断,确认该唤醒请求是否有效。如果该唤醒请求由噪音引起,则网络继续处于休眠状态。如果该唤醒请求是真实有效的,主节点将发送值为startup的“NetworkMode”信号,该信号要求其它节点参与网络通信。

2.3.2 网络停止通信

当唤醒源在一段时间内不起作用时,从节点将不要求网络维持通信状态,主节点将发出值为shutdown的“NetworkMode”信号,该信号要求其它节点停止网络通信。从节点在收到该信号后,经过一段时间将停止收发帧,并进入休眠状态。

2.3.3 版本配置控制

同一网络上的节点具有相同的网络配置版本号。如因某种原因误将其它网络的节点或不同车型的节点接入该网络,则该错误须能被识别。网络配置版本控制信号能很好解决该Issue。

当网络开始通信时,主节点将发送configuration signal至网络上,各节点收到该信息后对比,如发现不能与其匹配,将自动停止参与网络通信,如经检测发现与其匹配,将继续参与网络通信。

2.3.4 节点监听

在通信过程中,主节点将定期对网络上所有节点进行监听,判断其它节点是否正常参与网络通信。从节点也需要适时地发送“keep network”信号,通知主节点在线的状态,如果主节点在一定时间内不能收到“keep network”信号,则认为该节点掉线,并发出相应的信息,通知其它节点该节点掉线。

2.3.5 网络失效管理策略

当节点发送Busoff后,该节点需要根据要求进入相应的状态,其状态流程图如图2所示。

节点在进入Busoff状态过程中,伴随有bus-off state,old state,network sleep,bus-off wait state等状态。在节点每次初始化后,BusoffCounter值为0;当网络运行时,网络管理程序定时监测节点,如果在BUSOFF_DECRE―MENT_TIME内未监测到节点达到,且当Busoff eounter值大于1时,则Busoff counter减1,且节点进入发生Busoff状态前的状态,如果Busoff counter值为零则保持保持不变;如果监测到节点达到Busoff,则节点记录发生Busoff前的老状态以及帧老状态,并设置Busoff_timer为0,Busoff counter加1,设置网络进人silentframemode模式,同时节点将进行如下的逻辑运算:节点准备进入Busoff管理模式,此时需判断是否结束silent frame mode模式,如果没有结束,则直接进入Busoff

状态,如果结束了silent framemode模式,则判断是否第一次进入Busoff状态,如果是第一次则调用函数V etl_discon O、V―eft―con O,然后判断当Busoffcounter是否比BUSOFF_Max小;如果不是第一次进入Busoff状态,则直接判断Busoff counter是否比BUSOFF_Max小;如果Busoffcounter不比BUSOFF_Max小,则节点进入Busoff wait状态,并设置Busoff故障码,如果Busoffcounter比BUSOFF_Max小,则Busoff_timer加1;然后判断Busontimer是否小于BUSOFF_TIME,如果不小于,则节点进入network sleep状态,如果小于,则进入Busoff状态。其状态流程图,见图2。

2.3.6 网络唤醒

根据节点处于不同网络状态时,其对唤醒请求处理方式也不一样。以下仅以当网络处于休眠状态中时,从节点发送唤醒请求为例,阐述此种情况下唤醒处理策略。

当网络处于休眠状态时,某从节点发送唤醒请求,其第一帧被忽略,即主节点不能识别第一帧。

从节点唤醒网络则通过调用NWM模块按照一定周期发出请求网络通信需求,以将WakeNetwork信号发送到网络上。主节点在WAKEUP_PENDING_TIME_MASTER内读取到该信号,并开始通信,同时发送“NetworkMode”信号(Startup),要求其它节点参与网络通信。

3 验证

在Labcar上,对基于VCTNWM的网络管理进行测试。

1)网络开始通信和停止通信策略测试。用CANoe仿真主节点,当仿真节点不发送NetworkMode或NetworkMode=Shutdown,从节点不能发出任何帧;当仿真节点发送出NetworkMode=Start-up和Normal后,网络上其它节点均能按照要求开始网络通信。当网络处于正常通信时,仿真节点发送NetworkMode=Shutdown后,其它节点立即进入休眠状态,不发送任何帧。

2)版本控制测试。利用CANoe仿真主节点,主节点的版本信息参数按照信号配置要求设计。当主节点开始发送信息后,其它从节点立即开始通信;当主节点的版本信息与信号配置要求参数不一致,并向网络上发送信息后,从节点不能向网络上发送任何帧。通过诊断工具读取故障诊断码,发现有记录该节点不在线和版本不匹配的故障码。

3)节点监听测试。当移除某一从节点时,CANoe窗口上可以监测某帧的信息,可以发现某帧中的某信号值为Fault。通过诊断工具读取故障诊断码,发现有记录该节点不在线的故障码。

4)Busoff测试。由于工具的限制,无法监测节点从进入Busoff状态到恢复正常通信过程中的所有参数。但利用CANstress和诊断工具,可以大致判断节点对于处理瞬间的Busoff处理结果。根据现有测试结果来看,当短暂的偶发性Busoff后,节点能立即从Busoff状态中恢复到正常通信状态。

5)网络唤醒测试。实车上网络唤醒源很多,很多节点都能唤醒网络。当利用LIN总线唤醒主节点时,主节点能立即发送出唤醒要求,其它节点均能立即参与正常通信;当利用从节点的唤醒源向总线上发送唤醒请求时,主节点和其它从节点均按照要求参与网络正常通信。

4 结论

使用了VCT NWM的网络,它能有效提高客户满意度,减少工程师分析问题的时间,提高工程师解决问题的效率。

实际上VCT NWM在很多方面还有独到之处,例如,通过UpdatBit可以有效地判断出信号是否被更新,应用该信号的节点根据需要做相应的配置即可满足功能要求。

对于使用了Volcano设计理念的网络而言,无疑该网络管理能帮助工程师节省设计成本、提高设计质量,它也便于日后的网络平台维护。

经过大量的Labcar测试以及实车试验,发现基于VCT NWM网络管理的网络运行安全、可靠。

上一篇:泰瑞达:为客户提供高质量\低成本的测试解决方... 下一篇:面向未来移动通信终端的片上网络设计