一、EcuM架构位置
二、EcuM功能介绍
三、EcuM状态机
1.STARTUP阶段
2、UP状态
3、shutdown状态
4、休眠状态
5、OFF状态
一、EcuM架构位置
EcuM模块位于系统服务层,如下图红色方框里;
二、EcuM功能介绍
EcuM本身它管理着ECU在STARTUP, RUN,OFF,SLEEP,WAKEUP状态之间的相互切换。
责所有BSW的初始化以及去初始化
和ComM协作来管理网络状态,在需要时关闭ECU
管理所有的唤醒事件,并且在需要时
吨ECU 的启动顺序由 ECU 管理器模块或 EcuM 处理。EcuM 负责整个 ECU 的初始化和取消初始化。在执行微控制器的启动文件后,这是在启动期间执行的第一个模块。
-根据 AUTOSAR 规范,ECU 包括 BSW Manager (BswM)、Autosar OS 和 Scheduler Manager (SchM) 模块。因此,EcuM 负责 BswM、SchM 和 Autosar OS 模块的初始化和去.
先从字面意思上猜测一下:标准化AUTOSAR接口是不是AUTOSAR接口的一种特殊实现?标准化接口是不是没有符合AUTOSAR具体的要求?
从上面图上看,RTE与服务之间使用…
请移步至https://download.csdn.net/download/xianghuaizi/10650646 下载演示程序(需积分)
一、开发方法
WPF4.0 + C#
二、开发步骤
1、利用 Microsoft SDKs\Windows\v7.0A\bin\xsd.exe工具,将AUTOSAR_MMOD_XMLSchema中 AUTOSAR_4-0-3.xs…
首先,问大家几个问题,你清楚:
为什么要引入网络管理呢?上电同时启动,下电同时关闭,它不香吗?
你知道车上的ECU节点可以分为哪几种类型吗?
汽车启动时,ECU之间怎么保持同步唤醒的呢?
下电时,ECU又是怎样协同罢工的呢?
汽车熄火后,什么样的ECU会继续工作呢?
这篇,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:
正文
网络节点类型
汽车上ECU节点千千万万,不可能ignition On时所有ECU都正常工作,而是当用户需要请求相关功能时,参与该
前言
你清楚以下几个问题吗?
当系统发生故障时,系统应该怎样
前言
你清楚以下几个问题吗?
当系统发生故障时,系统应该怎样做出反应呢?
如何实现当故
你知道BswM是做甚的吗?
常说的APP Mode或者System状态机与BswM关系又是如何的呢?
BswM模块作为AUTOSAR的一个标准模块,内部工作机制如何实现?
BswM与各SW-C以及各个BSW模块又是如何交互的呢?
。。。
今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:
正文
总体设计框架
顾名思义,BswM全称为基础软件管理模块(即Bsw Management)。该模块根据来自BSW或者SW
AUTOSAR CanNM的核心思想主要归纳为以下两条:
1. 如果节点需要保持通信,则节点需要周期的发送NMPDUs,否则停止发送NMPDUs
2. 如果总线上的所有节点不需要使用总线,那么总线上过了一段时间没有NMPDUs时,则会进入Bus-Sleep Mode。
工作模式和状态
CanNm一共有三个工作模式
1. Network Mode
2. PrepareBus-Sleep Mode
3. Bus-Sleep Mode
模式的改变应该通过回调函数通知上层。
下面单独说每种模式
(1)Network Mode
Network Mode又包括三个内部状态
①Repeat Message State
这个模式被用来确保从Bus-Sleep or Prepare Bus-Sleep到Network Mode的节点被总线上面其他节点发现。这个状态可以用来检测总线上的节点。
当进入Repeat Message State时,节点应该开始传送NMPDUs。
在Repeat Message State时,当NM-Timeout Timer溢出,CanNm模块应该重载Timer。
CanNm模块应该在Repeat Message State 下保持一段时间,这段时间可以通过CANNM_REPEAT_MESSAGE_TIME来进行配置。
当离开Repeat Message State的时候,如果节点需要通信,则进入Normal Operation State;如果节点不需要通信,则进入Ready Sleep State。并且清空Repeat Message Bit。
②Normal Operation State
这个状态可以保持总线处于唤醒状态。从Ready sleep state进入这个状态的时候应该发送NMPDUs。
在Normal Operation State当NM-Timeout Timer溢出,CanNm模块应该重载Timer。
如果节点不需要使用通信,则网络应该被释放,节点应该进入Ready Sleep State。
如果节点接收到Repeat Message Request Bit,则节点进入Repeat Message State。如果节点自身需要进入Repeat Message State,则该节点进入Repeat Message State并且设置Repeat Message Request Bit。
③ReadySleep State
这个状态是为了如果本节点已经准备释放总线,而其他节点还需要使用总线的时候,在这个状态下等待其他总线上的节点进入Perpere Bus-Sleep Mode。进入这个状态之后,CanNm模块应该停止NMPDUs的传送。
如果NM-Timeout Timer溢出,节点将会进入Prepare Bus-Sleep Mode。
如果该节点需要使用总线,则节点进入Nomal Operation State。
如果节点接收到Repeat Message Request Bit,则节点进入Repeat Message State。如果节点自身需要进入Repeat Message State,则该节点进入Repeat Message State并且设置Repeat Message Request Bit。
(2)PrepareBus-Sleep Mode
这个状态是为了等待总线上的所有节点能够在进入Bus-Sleep Mode之前,有时间停止节点的active状态如清空队列中为发送的报文。在Prepare Bus –Sleep Mode下,所有节点都静默下来。
当节点进入PrepareBus Mode时,应该通知上层应用。通过配置CANNM_WAIT_BUS_SLEEP_TIME参数,可以改变节点在PrepareBus-Sleep Mode停留的时间,在这段时间之后节点将会进入其他状态。
在Prepare Bus-Sleep Mode下面接收到NMPDU或者被上层应用请求通信时,节点将进入Network Mode中的Normal operation State。
(3)Bus-SleepMode
Bus-Sleep Mode的目的是当没有消息被传送的时候可以减少能量的消耗。在Bus-Sleep Mode下面,节点可以被唤醒(如本地唤醒源和CAN线唤醒源)。CANNM_TIMEOUT_TIME+CANNM
一. ISOLAR工具简介
ISOLAR工具主要包含ISOLAR-A,RTA-BSW,RTA-OS,RTA-RTE
…
Carpon1: N_Cs: 表示发送方请求数据链路层发送帧的连续帧内在最大时间间隔 (N_Cs + N_As)<(0.9倍N_Cr timeout);
汽车小T: 感谢,后面有机会补上,请问你也是做汽车电子方向吗?
小娟娟zj: 博主缺个图3-1