全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 接口/总线/驱动 >

详解AUTOSAR CAN网络管理协议

时间:2023-03-24 18:06

人气:

作者:admin

标签: AUTOSAR  网络通信  CAN协议 

导读:当CAN网络中没有远程唤醒或者本地唤醒请求时,ECU应处于睡眠模式(Bus-Sleep Mode),将功耗降低至最低水平,这种模式是ECU启动时的起始状态或者是ECU睡眠时的最终状态。...

AUTOSAR CAN网络通信中有三种模式和三种状态,如下图所示:

87c230a6-ca2a-11ed-bfe3-dac502259ad0.png

3种运行模式:

睡眠模式(Bus-Sleep Mode);

预睡眠模式(Prepare Bus-Sleep Mode);

网络模式(Network Mode)。

睡眠模式(Bus-Sleep Mode)

当CAN网络中没有远程唤醒或者本地唤醒请求时,ECU应处于睡眠模式(Bus-Sleep Mode),将功耗降低至最低水平,这种模式是ECU启动时的起始状态或者是ECU睡眠时的最终状态。

在该模式下,网络管理报文和应用报文都禁止发送,但是可以被网络上的报文唤醒。

CAN收发器应当支持设定唤醒帧(如果有CAN收发器的情况下),ECU只会接受到特定的NM报文才会正常唤醒,否则就会一直处于休眠状态,能够不受网络上应用报文的干扰。

睡眠模式(Prepare Bus-Sleep Mode)

ECU进入预睡眠模式(Prepare Bus-Sleep Mode)后禁止网络管理报文的发送,允许接收网络管理报文。应用报文已经在buffer中的一般允许继续发送,进入到预睡眠模式(Prepare Bus-Sleep Mode)计时器CanNmWaitBusSleepTime就会启动,一旦计时器CanNmWaitBusSleepTime超时,就会进入到睡眠模式(Bus-Sleep Mode)。

87d34b52-ca2a-11ed-bfe3-dac502259ad0.png

本项目AUTOSAR配置中设定计时器CanNmWaitBusSleepTime为2秒。

网络模式(Network Mode)

当CAN网络处于开启或者工作情况下会进入网络模式,ECU进入网络模式(Network Mode)后计时器CanNmTimeoutTime就会启动,只要成功接收到来自CAN总线上的网络管理报文或者成功发送至CAN总线网络管理报文,都会将计时器CanNmTimeoutTime重置。

87e72e9c-ca2a-11ed-bfe3-dac502259ad0.png

本项目AUTOSAR配置中设定计时器CanNmTimeoutTime为2秒,所以0X505网络管理报文的发送周期要在2秒内,超时会进入预睡眠模式(Prepare Bus-Sleep Mode)。

88165c44-ca2a-11ed-bfe3-dac502259ad0.png

网络模式(Network Mode)包含3种状态:

报文重复状态(Repeat Message State);

常规运行状态(Normal Operation State);

准备睡眠状态(Ready Sleep State)。

报文重复状态(Repeat Message State)

当ECU从其他模式进入网络模式(Network Mode)时,默认进入报文重复状态(Repeat Message State)。该阶段是CAN网络正式开始工作前的准备阶段,用来等待CAN网络中所有相关节点进行网络通信的准备时间。

该模式下计时器CanNmRepeatMessageTime规定了重复发送网关管理报文的时间,CanNmImmediateNmTransmissions规定了发送网络管理报文的次数。

在报文重复状态(Repeat Message State)ECU使用计时器CanNmMsgCycleTime周期时间发送网络管理报文。

88278424-ca2a-11ed-bfe3-dac502259ad0.png

883c8cb6-ca2a-11ed-bfe3-dac502259ad0.png

本项目AUTOSAR配置中发送网络管理报文的周期是640毫秒,重复次数为5,总时常3.2秒。

884836e2-ca2a-11ed-bfe3-dac502259ad0.png

常规运行状态(Normal Operation State)

ECU进行正常CAN通信时会处于常规运行状态(Normal Operation State),该阶段中,节点要按照计时器CanNmMsgCycleTime时间周期发送网络管理报文。每次成功发送或者接收CAN网络报文计时器CanNmTimeoutTime就会重置。

在常规运行状态(Normal Operation State)下的网络管理报文和应用报文都应该正常收、发通信。

准备睡眠状态(Ready Sleep State

在准备睡眠状态(Ready Sleep State)ECU应当停止发送网络管理报文,每次成功接受到来自CAN网络上的网络管理报文,计时器CanNmTimeoutTime就会重置,一旦CanNmTimeoutTime超时,就会进入预睡眠模式(Prepare Bus-Sleep Mode)。

在AUTOSAR中规定了各种模式和状态下计时器的默认时间:

8859ffc6-ca2a-11ed-bfe3-dac502259ad0.png

配置参数在AUTOSAR代码中体现如下所示:

887005f0-ca2a-11ed-bfe3-dac502259ad0.png

下图梳理了所有网络管理的模式转换情况,通常控制器的状态转换如蓝色箭头所示:

88875f20-ca2a-11ed-bfe3-dac502259ad0.png








审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信