AUTOSAR中EcuM、ComM和CanNm的关联

2024-05-07 17:12
文章标签 关联 autosar comm ecum cannm

本文主要是介绍AUTOSAR中EcuM、ComM和CanNm的关联,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ComM的内外部唤醒

ComM可以通过NM保持网络的唤醒,同时也可以通过SM激活通信,总之就像一个通信的总管。
下面通过两种唤醒源来解释ComM的状态机。

1、内部唤醒

在这里插入图片描述
① 当ComM上电初始化时会首先进入NO COMMUNICATION状态,在该状态下ComM会持续循环判断是否有本地唤醒请求。
② 如果检查到有本地通信请求API执行(本地请求可以由SWC,DCM或者BSWM发起,API为Rte_Call_UR_XXX_RequestComMode()或者ComM_RequestComMode()),状态则将往FULL COMMUNICATION迁移(过程中ComM会Allow通信通道,让CanSM打开Transceiver和Controller,BswM启动收发IPDU),网络被激活。
③ 进入FULL COMMUNICATION后,由于是本地唤醒,NM首先会进入Network Requested,执行正常的报文收发,能一直主动去保持Network的唤醒状态。
④ 一旦本地ComM释放后,则Network进入Ready Sleep状态,NM PDU停发。
⑤ 如果这时其它ECU也都不需要通信,等收到NM Prepare-Bus-Sleep的指示后,Network进入Prepare Bus Sleep状态并停止发送Tx IPDUs。ComM进入SILENT COMMUNICATION状态。
⑥ 在SILENT COMMUNICATION状态下如果收到了NM Message,则ComM又回到FULL COMMUNICATION中,并重新开始发送Tx IPDUs。
⑦ 在SILENT COMMUNICATION状态下如果没有收到NM Message,并且这时收到了NM Bus-Sleep的指示,则让CanSM去关闭通道(包括切换Transceiver和Controller的状态,停止接收Rx IPDUs),然后ComM进入NO COMMUNICATION状态。

2、外部唤醒

在这里插入图片描述
如果被外部唤醒,NM会进入被动状态(Passive)。然后当ComM进入Full Communication后也会默认往Ready Sleep状态里面去跑,除非持续收到外部的唤醒,否则不会去保持Network的唤醒状态

EcuM、ComM和CanNm的状态关联

① 在ComM处于NO COMMUNICATION状态时,由BswM来管理通信的允许与禁止。
② 只有当EcuM处于UP状态下才能保持ComM的FULL COMMUNICATION状态和SILENT COMMUNICATION状态。
③ ComM的FULL COMMUNICATION状态对应着CanNm的Normal/Repeat/Ready Sleep三个子状态。
④ EcuM负责验证ECU的唤醒事件,然后发送指示给ComM,ComM请求ComM模式变更,但是需要由EcuM和BswM一起来配合执行。
⑤ 可以请求ComM切换通信模式的用户有SWC、DCM、BswM;DCM在诊断通讯激活DCM_ActiveDiagnostic时可以请求ComM进入FULL COMMUNICATION状态,BswM可以根据用户配置的行为列表请求ComM执行相应通信请求。
⑥ 用户只能请求FULL或者NO COMMUNICATION,SILENT模式及其子状态只是为了同步AUTOSAR NM。
在这里插入图片描述

CanNm状态机

在这里插入图片描述

这篇关于AUTOSAR中EcuM、ComM和CanNm的关联的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/967897

相关文章

MYSQL关联关系查询方式

《MYSQL关联关系查询方式》文章详细介绍了MySQL中如何使用内连接和左外连接进行表的关联查询,并展示了如何选择列和使用别名,文章还提供了一些关于查询优化的建议,并鼓励读者参考和支持脚本之家... 目录mysql关联关系查询关联关系查询这个查询做了以下几件事MySQL自关联查询总结MYSQL关联关系查询

C++ STL关联容器Set与集合论入门

1. 简介 Set(集合)属于关联式容器,也是STL中最实用的容器,关联式容器依据特定的排序准则,自动为其元素排序。Set集合的底层使用一颗红黑树,其属于一种非线性的数据结构,每一次插入数据都会自动进行排序,注意,不是需要排序时再排序,而是每一次插入数据的时候其都会自动进行排序。因此,Set中的元素总是顺序的。 Set的性质有:数据自动进行排序且数据唯一,是一种集合元素,允许进行数学上的集合相

基于Hypervisor智能驾舱的AUTOSAR解决方案

MENTOR嵌入式管理程序 目前,通常使用两种类型的管理程序(图6): Type 1本机管理程序:一种在硬件上本机运行的管理程序,因为它充当核心中的操作系统。Type 2托管虚拟机监控程序:此类型的虚拟机监控程序必须由另一个操作系统托管,并且仅负责使用主机操作系统可用的资源来虚拟化客户操作系统。 图6:虚拟机管理程序 虚拟化的工作原理是从硬件上运行的应用程序中抽象出物理硬件和设备。虚拟化流程管理

关联规则(一)Apriori算法

此篇文章转自 http://blog.sina.com.cn/s/blog_6a17628d0100v83b.html 个人觉得比课本上讲的更通俗易懂! 1.  挖掘关联规则 1.1   什么是关联规则 一言蔽之,关联规则是形如X→Y的蕴涵式,表示通过X可以推导“得到”Y,其中X和Y分别称为关联规则的先导(antecedent或left-hand-side, LHS)和后

【数据库实战】1_Oracle_命中关联人或黑名单或反洗钱客户

一、字段名称 1、CST_ID :客户编号 2、IDV_LGL_NM :客户姓名 3、关联方标志 RELPARTY_IND,0-否 未命中,1-是 命中 4、TBPC1010表,RSRV_FLD1_INF(备用字段)中的 第6位:黑名单标志,0无,1是。 第10位:反洗钱风险等级1-5。 反洗钱风险等级5级: 1级-低风险客户 2级-较低风险客户 3级-中风险客户 4级-较高风险客户 5级-高风

Autosar(Davinci) --- 创建一个S/R类型的port(下)

前言:         前面章节我们讲解了S/R类型的Port如何创建,这一章节,我们着重讲一下生成的代码,以及我们如何添加代码让这些门与灯之间的关系产生连接。 一、CtSaDoor.c 在【Rte.c】的【IO_TASK】中我们可以看到,反复的判断Rte_Ev_Cyclic_IO_Task_0_200ms这个条件是否成立,当200ms到达时,调用RCtSaDoorReadDoor函数,去读

ManyToMany双向外键关联(基于注解)的映射案例(简单版)

学生和老师就是多对多的关系,一个学生有多个学生,一个老师也有多个学生,这里的多对多映射采用中间表连接的映射策略,建立中间表的映射策略,建立中间表分别引入俩边的主键作为外键。通过中间表映射俩个表之间的关系。 下面就以学生类和老师类为例介绍多对多的映射关系的实例 Students类 package mtm_bfk;import java.io.Serializable;import java.

ISO26262和Aspice之间的关联

ASPICE 介绍: ASPICE(Automotive Software Process Improvement and Capability dEtermination)是汽车软件过程改进及能力评定的模型,它侧重于汽车软件的开发过程。ASPICE 定义了一系列的过程和活动,包括需求管理、软件设计、软件实现、软件测试、软件集成、软件配置管理、软件质量保证等方面。其目的是通过评估和改进汽车软件的

Flink重点难点:维表关联理论和Join实战

点击上方蓝色字体,选择“设为星标” 回复”面试“获取更多惊喜 在阅读本文之前,你应该阅读过的系列: 《Flink重点难点:时间、窗口和流Join》《Flink重点难点:网络流控和反压》 Flink官方文档中公开的信息 1 Join 的概念 在阅读之前请一定要先了解: 数据流操作的另一个常见需求是对两条数据流中的事件进行联结(connect)或Join。Flink DataStream API中

VS Code与SVN关联

VS Code是一款轻量级的集成开发环境,可通过安装插件与SVN进行关联。以下是将VS Code与SVN关联的步骤: 安装SVN插件:在VS Code中打开Extensions(快捷键:Ctrl+Shift+X),搜索并安装"svn"插件。 安装SVN命令行工具:在计算机上安装SVN命令行工具,确保在命令行中可以运行svn命令。 配置SVN路径:在VS Code中打开用户设置(快捷键:Ct