中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

搜索附件  

AutoSar Can网络管理介绍w13.jpg

 

AutoSar Can网络管理介绍:
01

网络管理的目的

1.通过 协调ECU的网络正常通信和睡眠模式转换,在用户需要请求相关功能时,参与该功能的相关ECU节点才需要工作。

2.为了更好的去利用整车的能源,防止出现不必要的蓄电池电量浪费,网络管理便可以很好的解决此类问题,最大可能的高效利用整车电池能源,节约用车成本,延长电池使用寿命。

02

常见的唤醒方式



    Type A:连接蓄电池电,网络管理唤醒;

    Type B:连接蓄电池电、网络和点火电唤醒;

    Type C:连接蓄电池电,点火电唤醒;

    Type D:只连点火电,这种模式下不需要网络管理,下电即断电。


目前接触的项目中,如仪表、mp5、tbox在车辆ACC状态仍需要工作的ECU,一般使用Type B;而某些非点火状态不需要工作的ECU则可以使用Type D。

03

NM报文格式



网络管理的报文格式如上图,CBV即Control Bit Vector,具体定义如下:



Repeat Message Request Bit 默认置 0。当 ECU 自身有 Repeat Message Request, 进入 Repeat Message State,后续发送的 NM PDU 中 CBV 的 Repeat Message Request Bit 置 1,直到重新进入 Normal
Operation State 或 Ready Sleep State 后再置 0。

通过本地唤醒进入 Repeat Message State, Active Wakeup Bit 必须置 1。
通过远程唤醒进入 Repeat Message State, Active Wakeup Bit 必须置 0。

04

定时参数



05

状态机转换图



06

状态(跳转)介绍

Bus-Sleep Mode

    ECU上电并初始化完成后,默认进入Bus-Sleep Mode。

    Bus-Sleep Mode目的是在ECU无网络请求时减少ECU的功率损耗,网络管理报文和应用报文都被禁止发送。

    在检测到有效的唤醒源(本地或网络唤醒)后再唤醒节点。


Bus-Sleep Mode → RepeatMessage State

    从处于睡眠状态的ECU被唤醒到进入NetworkMode,发送第一帧网络管理报文,这个过程应该在T_WakeUp(200ms)时间内完成;





2.在 T_Start_App_Tx(20ms)内需要发送第一帧应用报文;





Repeat Message State

    用于检测网络在线的ECU。

    进入Repeat Message State,必须重新开始周期性发送NM PDU并持续发送CANNM_REPEAT_MESSAG

    _TIME(1500ms)周期。

当以远程唤醒进入Repeat Message State,

NM以CANNM_MSG_CYCLE_TIME(50ms)周期发送,且 wakeup位置0;





当以本地唤醒进入 Repeat Message State,

§NM以CanNMImmediateNMCycleTime为周期发送CanNmImmediateNmTransmissions次数,之后以CANNM_MSG_CYCLE_TIME(50ms)周期发送,且 wakeup位置1;





Normal Operation State

1.在Normal Operation State, ECU 应以 CANNM_MSG_CYCLE_TIME(50ms) 周期发送 NM PDU, 并正常发送应用报文。

2.接收到§Repeat Message Request Bit置1的NM PDU,进入 Repeat Mseeage State。

Ready Sleep State

    当ECU网络释放(无本地唤醒事件) ,而其他ECU仍有网络请求时(网络中仍存在 NM PDU) , 则该ECU保持 Ready Sleep StateECU 应停止发送网络管理报文,但应用报文必须正常发送。

    当 CANNM_TIMEOUT_TIME (2s)定时器超时, ECU 离开 Ready Sleep State,进入 Prepare Bus-Sleep Mode。


Prepare Bus-Sleep Mode

    启动CANNM_WAIT_BUS_SLEEP_TIME定时;

    CANNM_WAIT_BUS_SLEEP_TIME超时后, ECU离开Prepare Bus-Sleep Mode,进入Bus-Sleep Mode。



07

诊断报文处理

    控制器处于睡眠模式(BusSleepMode或者PreBusSleepMode),则不能被诊断报文唤醒;当控制器处于诊断会话模式下(网络管理处于                 NetworkMode) ,节点不能进入睡眠模式(SleepMode)。

    当控制器在准备睡眠状态(RSS),接收到诊断报文,诊断软件模块需要向网络管理模块发送网络
    请求(Network Request)使其向正常工作状态(NOS)转换。在诊断应用程序中,它将启动一个计时器TWait_DiagReq,当TWait_DiagReq超时后,诊断应用程序应向网络管理模块发送网络释放(NetworkRelease)函数使其向准备睡眠状态(RSS)转换。

    这里的TWait_DiagReq跟会话保持的S3 time很是类似,在收到诊断报文之后就会重置计时器。



08

配置



如图 ,可以在NM的接收、状态跳转时,设置回调函数,实现一些主机厂的定制化功能。
AutoSar Can网络管理介绍w13.jpg
         同一主题附件:
    AutoSar Can网络管理介绍w1.jpg
    AutoSar Can网络管理介绍w2.jpg
    AutoSar Can网络管理介绍w3.jpg
    AutoSar Can网络管理介绍w4.jpg
    AutoSar Can网络管理介绍w5.jpg
    AutoSar Can网络管理介绍w6.jpg
    AutoSar Can网络管理介绍w7.jpg
    AutoSar Can网络管理介绍w8.jpg
    AutoSar Can网络管理介绍w9.jpg
    AutoSar Can网络管理介绍w10.jpg
    AutoSar Can网络管理介绍w11.jpg
    AutoSar Can网络管理介绍w12.jpg
    AutoSar Can网络管理介绍w13.jpg
    AutoSar Can网络管理介绍w14.jpg

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 26-8-2024 18:14 , Processed in 0.161804 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.