网资酷

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 128|回复: 4

Autosar网络管理:网络管理报文的收/发与网络管理时间配置 ...

[复制链接]

3

主题

6

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-9-20 21:35:33 | 显示全部楼层 |阅读模式
如本文标题,本文主要讨论的问题:网络管理报文的收/发与网络管理时间配置参数解析。
************************************************************************************
关注微信公众号“开心果 Need Car”,一起讨论Autosar开发中遇到的那些“坑”!
************************************************************************************
提示:以CAN总线为例
1、主动唤醒和被动唤醒

主动唤醒:上层(比如:ASWC,通俗讲就是算法层)主动请求网络,主动唤醒会使得上层主动调用CanNm_NetworkRequest()接口唤醒网络。常见的主动唤醒源有:KL15信号,定时器、传感器等。

  • 定时器:节点休眠前设定时间,比如:每2h节点主动醒来。
  • 传感器:比如:脚踢门功能。脚踢后备箱,后备箱对应控制器主动唤醒网络,进而执行后备箱开启功能。
某些节点没有KL15硬线连接,可以通过接收特定的信号(KL15信号等),主动请求网络(调用CanNm_NetworkRequest()接口)进入NOS(Normal Operation State)状态。被动唤醒:由其他节点的特定行为触发本节点的唤醒,比如:收到其他节点的有效网络管理报文被动唤醒,调用CanNm_PassiveStartup()接口唤醒网络。注意:不要和网络被动模式混淆,不管节点的网络类型是被动的还是主动的,均可以被动唤醒被动网络节点被动唤醒不会外发网络管理报文,主动网络节点被动唤醒会外发网络管理报文。
2、网络被动节点

网络被动节点的网络管理报文收/发行为及时间参数如下所示:


网络被动节点不会进入NOS(Normal Operation State)状态

  • 网络管理报文的接收(Rx):在RMS(Repeat Message State)、RSS(Ready Sleep State)、PBM(Pre Bus-Sleep Mode)状态下均可以接收网络管理报文。BSM(Bus Sleep Mode)无法接收网络管理报文。
  • 网络管理报文的发送(Tx):在任何状态下均不会发送网络管理报文。
  • 应用报文的发送:在RMS、RSS状态下可以发送应用报文,PBM下停发应用报文(已放入底层硬件缓存区的报文可以发送)。如果不理解底层硬件缓存区,可以参考前文Autosar通信栈:基础问题知多少。
  • Repeat Message Timer:进入RMS状态时,启动该时间,比如:1500ms,当该时间走完,由RMS进入RSS状态。
  • NM-Timeout Timer:进入RMS时,启动该时间,比如:3000ms,在此期间接收到网络管理报文或者超时,重置该时间。进入RSS状态,收到网络管理报文,重置该时间,如果收不到网络管理报文,超时后,进入PBM状态。
  • Wait Bus Sleep Timer:在PBM状态,收不到网络管理报文,该时间超时后进入BSM,比如:4000ms。PBM状态下,如果收到网络管理报文或者网络请求,则重新进入RMS。
3、网络主动节点

网络主动节点的网络管理报文收/发行为及时间参数如下所示:



  • 网络管理报文的接收(Rx):在RMS(Repeat Message State)、NOS(Normal Operation State)、RSS(Ready Sleep State)、PBM(Pre Bus-Sleep Mode)状态下均可以接收网络管理报文。BSM(Bus Sleep Mode)无法接收网络管理报文。
  • 网络管理报文的发送(Tx):网络主动节点的NM Msg发送行为有多种情况:
1.正常发送模式(没有快速发送功能,网络被动唤醒):在RMS以相同的周期发送网络管理报文,eg:500ms,如下所示:


注意:由于网络是被动唤醒(比如:接收到其他节点网络管理报文唤醒),上层没有主动请求网络,网络状态由RMS进入RSS。
2.正常发送模式(没有快速发送功能,网络主动唤醒):在RMS和NOS以相同的周期发送网络管理报文,eg:500ms,如下所示:


3.有快速发送功能(网络主动唤醒):在RMS状态下,先以快发周期发送一定次数的网络管理报文,eg:20ms发送10次,之后以正常周期发送网络管理报文,eg:500ms。上层主动请求网络,进入NOS状态,以正常周期发送网络管理报文,eg:500ms。如下所示:


注意:由于网络主动唤醒,则由RMS进入NOS。

  • 应用报文的发送:在RMS、NOS、RSS状态下可以发送应用报文,PBM下停发应用报文。
  • Repeat Message Timer:进入RMS状态时,启动该时间,比如:1500ms,当该时间走完,由RMS进入NOS/RSS状态(取决于上层是否主动请求网络)。
  • NM-Timeout Timer:进入RMS时,启动该时间,比如:3000ms,在此期间接收/发送网络管理报文或者超时,重置该时间。进入RSS状态,接收/发送网络管理报文,重置该时间,如果收不到网络管理报文,超时后进入PBM状态。进入NOS状态,接收/发送网络管理报文或者超时,重置该时间。
  • Wait Bus Sleep Timer:在PBM状态,收不到网络管理报文,且没有网络请求,该时间超时以后进入BSM;如果收到网络管理报文或者网络请求则重新进入RMS。
************************************************************************************
关注微信公众号“开心果 Need Car”,一起讨论Autosar开发中遇到的那些“坑”!
************************************************************************************
回复

使用道具 举报

0

主题

5

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2022-9-20 21:36:12 | 显示全部楼层
博主,请问有哪些明确的被动唤醒呢,还是不了解概念含义
回复

使用道具 举报

1

主题

6

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2022-9-20 21:36:38 | 显示全部楼层
我的理解:一般由信号触发的称为被动唤醒,比如:网络管理报文;一般由硬线、传感器、定时器等触发的称为主动唤醒源。具体实现时需要和系统确认清楚,不同的ECU,实现可能存在差异
回复

使用道具 举报

3

主题

7

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2022-9-20 21:37:09 | 显示全部楼层
请问博主,啥叫主动节点和被动节点,没听说过[捂脸]
回复

使用道具 举报

2

主题

5

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-9-20 21:37:27 | 显示全部楼层
能发送网络管理报文的节点叫主动节点,不能发送网络管理报文的节点叫被动节点(只接收其他节点的网络管理报文)
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|网资酷

GMT+8, 2025-3-15 07:36 , Processed in 0.107908 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表