车载网络 - Autosar网络管理 - 跳转状态

news2024/12/23 22:21:56

 

四、Autosar网络管理跳转状态

        网络模式对应报文状态

        Autosar网络管理报文各个状态对应的网络管理报文和应用报文的发送和接收状态。

网络模式

网络管理报文

应用报文

收发类型

发送报文

接收报文

发送报文

接收报文

总线睡眠模式(BSM)

No

Yes

No

NA

准备总线睡眠模式(PBSM)

No

Yes

No

No

网络模式

重复报文状态(RMS)

Yes

Yes

Yes

Yes

网络模式

常规运行状态(NOS)

Yes

Yes

Yes

Yes

网络模式

准备睡眠状态(RSS)

No

Yes

Yes

Yes

 Yes:表示网络管理节点发送或者接收报文

 No:表示网络管理节点停止发送或者接收报文

应用报文:通信报文、诊断报文、标定报文

NA:这个根据实际情况决定,有些节点支持任意报文唤醒,此时这里就是Yes;如果仅支持网络管理报文唤醒,则此处就是No

No:需要将缓存中的报文发出后,将不在发出应用报文

        网络管理跳转图

CanNm_Init: CAN网络管理模块初始化 CanNm_PassiveStartUp:接收到被动唤醒事件后ECU请求网络,即远程唤醒

KL15 ON || IG ON:触发本地唤醒事件后ECU请求网络,即本地唤醒

KL15 OFF || IG OFF:释放网络,由于ECU不必在总线上进行通信。

NM Msg: 为总线上接下来发送的NM 报文设置重复消息请求位。

各状态描述

 总线睡眠模式 - Bus Sleep Mode

        当总线上没有CAN通信需求,为了电池能够使用的更久并且防止车辆馈电,需要减少对电池电量的消耗,但是在总线睡眠模式,节点依然保留唤醒机制,等待在需要的时候被唤醒。该模式下,一般来说是一定对网络管理报文有Ack应答,如果没有任意报文唤醒的需求,一般不对应用报文进行ack应答,当节点给出ack应答后,如果没有唤醒需求,几秒后会再次进入低功耗模式。

总线预休眠模式 - Prepare Bus Sleep Mode

        在该模式下,所有的应用报文和网络管理报文都已经停止,总线活动处于停止状态(已将所有缓存中的所有报文发出)。进入该模式后,立即启动定时器 - T_Wait_Bus_Sleep,在该定时器溢出后,节点离开Prepare Bus Sleep Mode,并进入总线睡眠模式(Bus Sleep Mode)。

        在该模式下,接收到本地唤醒请求时,将会进入到网络模式中的重复报文状态。

        在该模式下,接收到远程唤醒请求时,将会进入到网络模式中的重复报文状态。

网络模式 - Network Mode

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

        2)常规运行状态(NormalOperation State)

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

        在进入到网络模式后,首先会进入到重复报文状态,并重启T_NM_TimeOut定时器,当节点成功接收或者发送一帧NM Msg报文,T_NM_TimeOut定时将会被重置。从总线睡眠模式到网络模式中,节点发出第一帧NM报文,时间必须小于T_Wake_UP。

重复报文状态 - Repeat Message State

        一旦进入到重复报文状态,无论睡眠条件是否满足,都会保持在该状态一段时间,直到定时器T_Repeat_Message超时。超时后,如果有网络通信需求,则会进入到常规运行状态,如果没有则会进入到睡眠就绪状态。

        重复报文状态结束后,网络管理报文中的重复报文请求指示位需要清零。

        节点进入到重复报文状态后,根据规范要求是否启动快发机制,进行总线通信的恢复。

        如果规范要求有快发机制,快发NM Msg的数量需要与规范要求一致。

        重复报文状态结束后,如果后网络通信需求,网络管理报文应以dbc定义周期发送。

        当节点从准备总线睡眠模式、常规运行状态、睡眠就绪状态接收到网络通信需求,需要在T_Start_NM_Tx时间内发出第一帧网络管理报文。

常规运行状态 - Normal Operation State

        常规运行状态下,网络管理报文需以一定的周期发送(周期需要跟dbc保持一致,偏差在10%以内)。

        常规运行状态下,需要有网络通信的保持源存在;网络管理报文和应用报文发送接收正常。

        常规运行状态下,节点每发出一帧网络管理报文,定时器T_Nm_TimeOut将会重置一次。

        常规运行状态下,接收到重复报文请求状态位为1的网络管理报文,节点将进入到重复报文状态。

        常规运行状态下,满足本地睡眠条件,将停止发送网络管理报文,准备进入到睡眠就绪状态

睡眠就绪状态 - Ready Sleep State

        睡眠就绪状态下,节点停止发送网络管理报文,但是应用报文正常发送。

        睡眠就绪状态下,定时器T_NM_TimeOut溢出后,进入到准备睡眠模式。

        睡眠就绪状态下,发送本地唤醒事件,直接进入到常规运行状态。

        睡眠就绪状态下,接收到重复报文请求指示位为1的网络管理报文,则需要在T_Start_NM_Tx时间内进入到重复报文状态。

实例总结部分

1、Power on(KL.30上电)后初始化完成CanNM模块后进入睡眠状态。

2、在睡眠状态中触发被动唤醒事件,ECU进入重复报文状态(简称RMS)。在RMS状态中,NM报文Repeat Message Request位始终置1,Active Wakeup Bit位置0。如果是触发本地唤醒事件唤醒ECU,在RMS状态中NM报文Repeat Message Request和Active Wakeup Bit位都置1。ECU进入重复报文状态后启动Repeat Message Timer和NM-Timeout Timer。在重复报文状态ECU以CanNmMsgCycleTime为周期发送NM报文。

3、当Repeat Message Timer超时后,如果ECU有维持本地唤醒事件(例如KL15上电/IgnON),则进入正常工作状态(简称NOS)。ECU仍以CanNmMsgCycleTime为周期发送NM报文。

4、在NOS状态, ECU接收到某个节点发送Repeat Message Request位置1的NM报文时要返回到RMS状态。

5、在NOS状态,ECU请求释放网络会进入进入准备睡眠状态(简称RSS)。此时ECU不发送自身NM报文,但会接收其他节点发送的NM报文。NM-Timeout Timer重启,维持在RSS状态。

测试关注

1. NM报文的格式是否符合厂商的定义,源地址和ID是否对应

2. CBV每一位的置位情况是否正确,如主要唤醒时(KL15 上电)Active wakeup bit是否置1

3. CBV每一位的初始化或重置是否正确。在上电初始化时CVB各位默认都为0

4.各模式、状态的切换是否符合义AUTOSAR标准或厂商的定义

5.各模式、状态切换时的时间参数是否符合厂商的定义

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/442423.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

探索Whisper语音识别

问题一:python多版本切换 背景:有了anaconda环境 还有一个c盘的不知道什么东西 我准备下载一个python3.9.9 去官网 然后安装,安装之前一定要把原来的python卸载干净。 3.9.9安装不上,我用3.10 切换的话,就是去环境…

总结828

学习目标: 4月(复习完高数18讲内容,背诵21篇短文,熟词僻义300词基础词) 学习内容: 暴力英语:回环诵读之前的文章,背150个单词,背《冰与火之歌》-守夜人誓词 高等数学&…

《Effective C++》读书笔记(二):构造/析构/赋值运算(条款05~条款12)

目录 1. 条款05:了解C默默编写并调用哪些函数 2. 条款06:若不想使用编译器自动生成的函数,就该明确拒绝 3. 条款07:为多态基类virtual析构函数 4.条款08:别让异常逃离析构函数 5.条款09:绝不在构造和析…

Vue CLI 服务

使用命令 在一个 Vue CLI 项目中,vue/cli-service 安装了一个名为 vue-cli-service 的命令。你可以在 npm scripts 中以 vue-cli-service、或者从终端中以 ./node_modules/.bin/vue-cli-service 访问这个命令。 这是你使用默认 preset 的项目的 package.json&…

2023红明谷杯部分WP

0x00 签到 一直点就能得到flag 0x01 Dreamer 拿到题感觉有点儿懵 先下发靶机看一眼 梦想家CMS,好嘛,我直接一手查找官网 直接一手演示中心碰运气 哎嘿嘿,运气不错进去了,突然想起之前有位大佬写的关于Dreamer CMS的代码审…

【Linux网络设置】

目录 一、查看网络接口信息1.1、查看所有活动的网络接口信息1.2、查看指定网络接口信息 二、查看主机名称2.1、hostname命令2.2、永久设置主机名 三、查看路由表条目route命令 四、查看网络连接情况4.1、netstat命令4.2、ss命令 五、测试网络连接ping命令 6、跟踪数据包tracerr…

CorelDRAW2023最新版本配置及新功能介绍

从简单的线框到令人称叹的水平,使用CorelDRAW Graphics Suite 2023开始您的设计之旅:一套完整的专业图形设计应用程序,用于矢量插图、布局、照片编辑等。CorelDRAW平面设计软件通常也被叫做CDR,CDR广泛应用于排版印刷、矢量图形编…

关于电脑出厂时间查询工具的构思

在做一个单位的计算机盘点、管理的时候,很容易遇见需要知道电脑的采购时间,或者出厂时间。这个信息能够帮助管理人员决定电脑是否该按定期报废制度进行报废或更换。 目前为止,作者接触过的各类电脑,没有看到过哪台电脑有专门的一…

windows系统中安装目标检测平台detectron2

更多内容,欢迎访问老五笔记 detectron2是Facebook研发并开源的目标检测平台,包含了大量业内最具代表性的目标检测、图像分割、关键点检测算法等。Detectron2基于新版的Pytorch进行更新,包含了更大的灵活性与扩展性。​ 笔者将在本文中介绍如…

IS220UCSAH1A利用电子和空穴两种载流子导电的,所以叫做双极型电路

IS220UCSAH1A利用电子和空穴两种载流子导电的,所以叫做双极型电路 美国的通用电气公司(General Electric Company,以下简称 GE)想要称霸整个工业互联网,但却失败了。为什么呢? 多年来,GE 一直在…

关于CSDN文章内嵌视频自动播放问题

关于CSDN文章内嵌视频自动播放问题 1. 源由2. 分析3. 反馈4. 沟通5. 总结6. 附录-Firefox配置7. 附录-Microsoft Edge配置 1. 源由 这个问题是4月初发现的,主要现象就是页面上的视频一起自动播放了。 鉴于笔者有不少帖子都是文字、表格、图片、视频结合的。视频是…

机器学习:opencv案例——人脸检测

目录标题 实验数据实验原理实验步骤实验结果 实验数据 lena.jpg face3.jpg video.mp4 实验原理 (1)图片灰度转换 OpenCV 中有数百种关于在不同色彩空间之间转换的方法。 当前, 在计算机视觉中有三种常用的色彩空间: 灰度、 BG…

redis lpush rpop List消息队列实现

List 队列: 生产者存入消息: LPUSH queue2 msg1 LPUSH queue2 msg2 LPUSH queue2 msg3 消费者消费消息: RPOP queue2 RPOP queue2 RPOP queue2写个死循环消费: while true://没消息阻塞等待,3秒超时返回null,设置0时没消息一直浪…

JavaSE学习进阶day07_02 异常

第三章 异常 3.1 异常概念 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是: 异常 :指的是程序在执行过程中,出现的非正常的情况&#xff0…

Android---屏幕适配

为什么要适配 由于 Android 系统的开放性,任何用户、开发者、OEM 厂商、运营商都可以对 Android 进行定制,于是导致运行 Android 的设备多种多样,它们有着不同的屏幕尺寸和像素密度。尽管系统可以通过基本的缩放和调整大小功能使界面适应不同…

【LeetCode: 53. 最大子数组和 | 暴力递归=>记忆化搜索=>动态规划 | 分治法 】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

抽象类,内部类,匿名类

java学习第十天 抽象类 1.用abstract关键字来修饰一个类时,这个类就叫抽象类 访问修饰符 abstract 类名 { } 2.用abstract关键字来修饰一个方法时,这个方法就是抽象方法访问修饰符abstract返回类型方法名(参数列表);//没有方法体 3.抽象类的价值更多作用是在于设计,是设计者…

ROS学习第十四节——参数服务器控制小乌龟

1.使用命令修改参数服务器 单独使用命令启动小乌龟节点,不是用lanuch文件,不启动键盘控制节点 rosrun turtlesim turtlesim_node 使用命令打印参数服务器参数列表 rosparam list 修改小乌龟节点的背景色 rosparam set /turtlesim/background_b 自定…

网络安全:一次艰难的 WAF 绕过

0x00:前言 做之前没想过有这么难 0x01:后缀绕过 首先看一下 waf 咋工作的,当数据包匹配到 waf 规则后,数据包就会被丢弃掉,就像这样 waf 是拦截后缀的,首先 fuzz 一波换行 失败 多个等于号 失败 单双引号…

入门Pytorch时的一些报错

Anaconda是一个很好的可以管理python环境的工具,推荐大家结合pycharm使用。 我入门时是参照up我的土堆的Pytorch教程来安装学习的,其中也遇到了一些问题。 1. torch.cuda.is_available结果显示False import torch torch.cuda.is_available 用anacon…