• 444查看
  • 0回复

[Autosar] AutoSar Can网络管理介绍

[复制链接]


该用户从未签到

发表于 21-1-2024 11:19:16 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


01

网络管理的目的

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

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

02

常见的唤醒方式

AutoSar Can网络管理介绍w1.jpg

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

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

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

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


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

03

NM报文格式

AutoSar Can网络管理介绍w2.jpg

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

AutoSar Can网络管理介绍w3.jpg

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

定时参数

AutoSar Can网络管理介绍w4.jpg

05

状态机转换图

AutoSar Can网络管理介绍w5.jpg

06

状态(跳转)介绍

Bus-Sleep Mode

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

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

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


Bus-Sleep Mode → RepeatMessage State

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

AutoSar Can网络管理介绍w6.jpg

AutoSar Can网络管理介绍w7.jpg

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

AutoSar Can网络管理介绍w8.jpg

AutoSar Can网络管理介绍w9.jpg

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;

AutoSar Can网络管理介绍w10.jpg

AutoSar Can网络管理介绍w11.jpg

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

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

AutoSar Can网络管理介绍w12.jpg

AutoSar Can网络管理介绍w13.jpg

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

配置

AutoSar Can网络管理介绍w14.jpg

如图 ,可以在NM的接收、状态跳转时,设置回调函数,实现一些主机厂的定制化功能。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 1-2-2025 13:09 , Processed in 0.314067 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.