您是否想浏览中国自主品牌出口车型,可以为您切换到易车国际站。
1.网络管理概述
网络管理的重要任务是保证网络通信的安全可靠。网络管理可以实现初始化ECU资源;启动网络;检测、处理、通知网络和节点的状态;协调各节点同步进入休眠等功能。
2.ECU的类型
根据ECU是否需要在IGN_OFF后工作,网络中的节点可分为如下两类:
A类:
ECU只在IGN_ON时工作,如EMS,TCU;
B类:
ECU不仅在IGN_ON时工作,还需要在IGN_OFF后工作,如BCM,PEPS。
3.B类ECU的网络通信管理
3.1网络需求与网络释放的定义
A.网络需求状态
所有需要CAN通信的状态都被称为网络需求状态。
对于处于休眠模式的ECU,当本地事件发生时ECU应恢复至网络运行模式。
如果该ECU需要其它节点配合工作,则应进入网络需求状态。
所有B类ECU必须支持CAN总线远程唤醒功能。例如:车身控制器在制动灯亮或者车门开启时需要唤醒组合仪表。
本地事件通常包括如下几种情况:
1)处于未供电状态的ECU重新接通电源;
2)ECU复位;
3)监测到本地事件发生;
4)监测到远程事件发生;
在网络开发过程中,ECU进入网络需求状态的条件必须和供应商讨论并在ECU规范中明确。
B.网络释放状态
所有不需要CAN通信的状态都被称为网络释放状态。
通常ECU在IGN_OFF时进入网络释放状态。
当符合总线休眠条件时,ECU进入总线休眠模式,处于休眠模式时ECU功耗应降低到尽可能小,CAN收发器应设置为低功耗模式。
在网络开发过程中,ECU进入网络释放状态的条件必须和供应商讨论并在ECU规范中确定。
3.2网络通信管理规则
本网络管理规范是基于AUTOSAR直接网络管理策略制定,这意味着每一个网络节点在通信系统内部的接收和发送行为均取决于总线上是否有网络管理报文(PDU)。
在同一个网络管理集群中网络管理报文通过广播形式传输并被所有节点接收。接收到网络管理报文表明发送节点要保持网络管理集群处在唤醒状态。
如果任何节点准备进入休眠模式,将停止发送网络管理报文,但只要节点接收到来自其他节点的网络管理报文,它会推迟进入总线休眠模式。
如果在一个特定的定时器超时后没有收到网络管理报文,所有节点都将转换到总线休眠模式。
如果网络管理集群中的任何节点需要总线通信,则可以通过发送网络管理报文唤醒网络。
网络管理算法主要有以下两个关键要求:
A.在网络管理集群中的每个节点只要需要总线通信,就需要周期发送网络管理报文;否则应停止发送网络管理报文。
3.3AUTOSAR网络管理模式
AUTOSAR网络管理包含三种工作模式:网络运行模式、总线预休眠模式和总线休眠模式。
网络运行模式由三个内部状态组成:重复消息状态、正常运行状态和准备休眠状态。
从总线休眠模式、总线预休眠模式进入网络运行模式时,默认情况下网络管理模块将进入重复消息状态。
进入网络运行模式,网络管理模块将启动网络管理超时定时器(CANNM_TIMEOUT_TIMETimer)。
在网络运行模式下,成功接收到网络管理报文,网络管理模块将重新启动网络管理超时定时器(CANNM_TIMEOUT_TIMETimer)。
在网络运行模式下,当成功发送一帧网络管理报文,网络管理模块将重新启动网络管理超时定时器(CANNM_TIMEOUT_TIMETimer)。
CAN网络管理在每次启动和重启时应重启网络超时定时器(CANNM_TIMEOUT_TIMETimer)。
当ECU被本地事件唤醒或接收到网络管理报文被唤醒时,ECU应该进入网络运行模式,默认情况下网络管理模块应该进入重复消息状态,开始发送第一帧网络管理报文。
3.3.1重复消息状态
从总线休眠状态、总线预休眠状态、正常操作状态进入重复消息状态时,网络管理模块应该启动发送网络管理报文。
当网络管理模块转出重复消息状态后,如果网络需要,则网络管理模块应进入正常操作状态;如果网络被释放,则网络管理模块应进入准备休眠状态。
当网络管理模块转出重复消息状态后,应清除重复消息标志位。
在重复消息状态中,如果NM-PDU的传输已经启动,则节点应使用节点特定参数(CANNM_MSG_CYCLE_OFFSET)启动CAN网络管理消息定时器,无论是通过本地唤醒事件还是收到重复消息需求而进入重复消息状态,节点应以CANNM_MSG_CYCLE_TIME为周期发送。
3.3.2正常操作状态
正常操作状态应确保节点有网络需求时可以使网络管理集群保持唤醒状态。
从重复消息状态、准备休眠状态进入正常操作状态,网络管理模块应该以CANNM_MSG_CYCLE_TIME为周期发送网络管理报文。
在正常操作状态下CANNM_TIMEOUT_TIME定时器超时,网络管理模块应该重启CANNM_TIMEOUT_TIME定时器。
当前状态是正常操作状态且网络被释放,则网络管理模块应该进入准备休眠状态。
在正常操作状态下,如果重复消息标志位被置位,网络管理模块应该进入重复消息状态。
在正常操作状态下,出现重复消息需求,网络管理模块应该进入重复消息状态,并置位重复消息标志位。
3.3.3准备休眠状态
从重复消息状态或正常操作状态进入准备休眠状态时,网络管理模块应停止发送网络管理报文。
在非休眠状态下CANNM_TIMEOUT_TIME定时器超时,则网络管理模块应该进入总线预休眠状态。
当前状态是准备休眠状态,节点需要网络通信时,网络管理模块应该进入正常操作状态。
在准备休眠状态下收到重复消息标志位被置位的网络管理消息时,网络管理模块应该进入重复消息状态。
在准备休眠状态出现重复消息请求时,网络管理模块应该置位重复消息标志位。
3.4Autosar网络管理状态机
从单节点的角度看,网络管理状态机应包含网络管理状态、转换路径和触发条件。
Autosar网络管理共有三个工作模式,分别为:网络工作模式,总线预休眠模式,总线休眠模式。网络管理状态转换图详见图1。
图1Autosar网络管理状态转换图
3.4.1网络状态转换条件和行为
网络状态转换条件和行为详见图2、图3。
图2网络管理状态转换条件
图3网络管理状态转换行为
3.5网络管理控制帧格式
图5网络管理控制帧格式
3.6控制位向量的格式
图6控制位向量格式
3.7Userdata0的格式
图7Userdata0定义
第一个用户数据字节(Userdata0=NM-PDU的字节2)表示用户数据的实现功能。该值将作为版本号,用于说明如何解释剩余的五个用户数据字节(Userdata1,Userdata2,...,Userdata5)的内容。对于给定的软件版本,此值始终是常量。
3.8Userdata1的格式
当网络处于活跃状态时,每个支持网络管理的ECU的应用都应在Userdata1中提供唤醒原因和活跃原因。
ECU发送导致CAN网络唤醒的应用原因。当CAN通信导致ECU唤醒时,唤醒原因应为“网络唤醒”。ECU应在ECU启动时将此唤醒原因设置为“NETWORK_WAKEUP”。
如果Userdata0=0x00,则为每个NM节点预定义下表中的唤醒原因。使用ECUSPEC_WAKEUP可以发出特定的唤醒原因信号。
图8Userdata1中节点唤醒原因
ECU应传输阻止ECU释放网络的所有当前应用原因。
只要ECU没有释放网络,它就应该传输保持总线在Userdata1中永久唤醒的原因。
如果Userdata0=0x00,则可以使用ECUSPEC_AWAKE指示每个NM节点预定义(图9)中的StayAwake原因。
图9Userdata1中节点活跃原因
3.9网络管理控制帧标识符(ID)
网络管理帧ID安排在从0x400-0x4FF区域,网络管理ID=网络控制帧基础地址+ECU地址,所有参与网络管理的ECU都必须遵守这个规则详见图10。网络管理控制帧基础地址详见图11。
图10网络管理控制帧标识符定义
图11网络管理控制帧基地址
3.10各网络管理模式下收发报文状态描述
图12各网络管理模式下收发报文状态描述
3.11网络管理错误处理
A.如果总线不可用并且节点没有准备休眠,网络管理模块不应该使本节点进入总线休眠模式。
B.如果总线不可用且节点准备进入休眠,网络管理模块应该使本节点进入休眠模式。
C.如果总线不可用且节点改变自己的状态准备休眠,网络管理模块应该使本节点进入总线休眠模式。
D.如果总线不可用且节点改变自己的状态不准备休眠,网络管理模块不应该使本节点进入总线休眠模式。
上述四条规则是为了确保节点在没有准备好休眠之前,网络不进入总线休眠模式,如果节点准备好休眠,则网络应进入总线休眠模式。
网络管理错误处理机制不适用于已经进入总线休眠模式的节点。