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

相关文章

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

如何高效移除C++关联容器中的元素

《如何高效移除C++关联容器中的元素》关联容器和顺序容器有着很大不同,关联容器中的元素是按照关键字来保存和访问的,而顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的,本文介绍了如何高效移除C+... 目录一、简介二、移除给定位置的元素三、移除与特定键值等价的元素四、移除满足特android定条件的元

mysql关联查询速度慢的问题及解决

《mysql关联查询速度慢的问题及解决》:本文主要介绍mysql关联查询速度慢的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql关联查询速度慢1. 记录原因1.1 在一次线上的服务中1.2 最终发现2. 解决方案3. 具体操作总结mysql

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.