[AutoSar]状态管理(三)单核BswM(一)


  

关键词

嵌入式、C语言、autosar、BswM

平台说明

项目Value
OSautosar OS
autosar厂商vector
芯片厂商TI
编程语言C,C++
编译器HighTec (GCC)

在这里插入图片描述
>>>>>回到总目录<<<<<<

一、BswM在架构中的位置

在这里插入图片描述

二、 BswM的主要功能

  1.对来自SWC或者其他BSW模块的模式请求进行仲裁并根据仲裁结果执行相应动作。
  2.BswM主要分为模式仲裁(Mode Arbitration)和模式控制(Mode Control)两部分,前者用来判断处于哪种模式,后者则用来执行相应的动作。

三、关联的模块

在这里插入图片描述

3.1 3.1EcuM

  EcuM Flex可以向BswM通知唤醒源的状态,BswM可以发送休眠到EcuM。

3.2 ComM

  BswM请求ComM切换通信模式。

3.3Rte

  SWC之间的模式传递。

3.4 Com

  控制Com中的 I-PDU group的使能。

3.5 PduR

  禁止和使能I-PUD router group 功能。

3.6 CanSM

  来自CanSM的模式切换指示可以通过BswM进一步传播到SW-C

3.7LinSM

  LinSM中LIN调度表(LIN Schedule Tables)的切换,和来自LinSM的模式切换指示可以通过BswM进一步传播到SWC。

3.8 FrSM

  通过BswM将来自FrSm的模式转换传递到SWC。

3.9 ETHSM

  通过BswM将来自ETHSM的模式转换传递到SWC。

3.10 DCM

  DCM模块会根据所接收到的诊断请求,向BswM执行相应地模式请求。

3.11 NM

  BswM调用Nm_EnableCommunication和Nm_DisableCommunication来控制基于当前模式的NM通信。
Nm模块可以使用BswM_Nm_CarWakeUpIndication来指示整车被唤醒。

3.12 NVM

  向BswM报告NvM数据状态,被BswM调用write和read。

3.13 OS

四、Init

  1.在EcuM初始化后再初始化BswM。
  2.如果再多核系统中对应多核Partition,应注意对每个Partition都 初始化,但是BswM_PreInit只能初始化一次。

五、状态机

5.1 BSWM_INIT

  BswM已初始化,并为立即模式仲裁请求做好准备。延迟模式仲裁在循环调用的函数BswM_MainFunction MainFunction中完成。

5.2 BSWM_WAIT_IMMEDIATE_REQUEST

  在该状态中等待仲裁请求,如果请求了立即模式仲裁或者BswM_MainFunction 函数被调用完成的时候会保持在该状态。

5.3 BSWM_MAIN_FUNCTION

  这个状态在BswM MainFunction被调用时进入。在BswM MainFunction中完成延迟模式仲裁。在执行BswM MainFunction期间发生的立即模式仲裁请求将排队,并将在BswM MainFunction结束时执行,此时所有延迟模  式仲裁和控制都已完成。“强制立即”类型的模式仲裁请求不排队,并中断延迟模式仲裁。延迟模式和立即模式下文中会有详细介绍。

5.4 BSWM_MODE_ARBITRATION_AND_CONTROL

  在此状态下,完成配置模式规则仲裁,并执行true- action /false-action列表。“立即”类型的新模式仲裁请求排队,“强制立即”类型的仲裁请求立即仲裁。

5.5 BSWM_EMPTY_QUEUE

  在此状态下,执行排队模式仲裁请求。

5.6 BSWM_DEINIT

  这个状态在函数BswM_Deinit被调用时进入。不接受任何模式仲裁请求,也不进行任何模式处理。这个状态只能在调用BswM_Init函数时保留。

在这里插入图片描述

六、配置名称和内容定义

6.1 Mode Source

  用于触发模式仲裁,触发源可以是SWC或BSW 或者BswM_MainFunction()请求。

6.2 Mode Rule

在这里插入图片描述
  如图所示,Mode Rule主要由LogicalExpressions、TrueActionList、FalseActionList和RuleInitState 组成。其中LogicalExpressions 为用户自定义,根据判定结果决定最终执行TrueActionList还是FalseActionList。RuleInitState用来定义规则的初始状态。 逻辑表达式由参数(ArgumentRef)和运算符(LogicalOperator)构成,参数一般为ModeCondition,也可以是LogicalExpression,运算符包括AND(与)、OR(或)、XOR(异或)、NOT(非)及NAND(与非)。
在这里插入图片描述

6.3 Mode Arbitration

&emsp;&emsp;当模式源触发器发生时,BswM将在BswM_MainFunction() MainFunction()中立即或延迟仲裁特定于模式的规则。

6.4 Mode Actions

&emsp;&emsp;根据仲裁结果执行的操作。

6.5 ModeRequestPorts

  模式请求端口中定义了请求的源头,例如CanSM、ComM、Dcm等。

七、Immediate、Forced、Deferred Mode Handling

在这里插入图片描述

7.1 Immediate Mode Handling

&emsp;&emsp;在模式请求的上下文中立即执行。如果在此期间有新的模式请求,BswM会将新的请求放入队列,当该模式仲裁完成后请求队列会被清空。

7.2 Forced Immediate Mode Handling

  在模式请求的上下文中打断其他的Immediate Mode或者 deferred Mode请求并立即执行。
注意,在使用 Immediate Mode Handling 或者Forced Immediate Mode Handling的时候应避免危及系统性能(performance)或一致性(consistency)。

在这里插入图片描述

7.2 Deferred Mode Handling

  延迟模式仲裁在BswM_MainFunction() MainFunction()的执行中循环完成。在执行MainFunction期间如果收到模式请求,BswM会推迟处理,直到MainFunction执行结束,如果推迟的是IMMEDIATE请求,当MainFunction执行结束时会立刻处理,如果推迟的是DEFERRED请求,那么要等到下一次执行MainFunction时再处理。
在这里插入图片描述

八、ActionList

在这里插入图片描述
  ActionLists可以由Action、ActionList以及Rule组成,通常都使用Action来构建ActionLists。
  ActionList有两种执行方式:TRIGGER和CONDITION,TRIGGER是在规则(Rule)评估结果发生变化时执行,CONDITION则是在每次规则(Rule)评估时执行。例如:如果把TrueActionList(FalseActionList),设为TRIGGER方式,当规则评估结果从FALSE(TRUE)变为TRUE(FALSE)时才会执行,如果设为CONDITION方式,那么每次规则评估结果为TRUE(FALSE)时均会执行。
   Action可以设置AbortOnFail,如果action在执行过程中返回E_NOT_OK的话可以终止ActionList的执行。
在这里插入图片描述

九、 配置和BswM 处理流程

  后续更新

>>>>>回到总目录<<<<<<

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: autosar中的网络管理(Network Management)模块是用来管理车辆电子控制单元(ECU)之间的通信网络的状态配置的。而NM(Network Management)管理状态是指ECU从网络管理模块获取的关于网络状态的信息。 NM管理状态包括节点状态、网络状态和链路状态。节点状态表示ECU的连接状态,包括是否在线、是否处于激活状态等。节点状态的变化可以告诉其他ECU该节点的可用性。网络状态表示整个网络的状态,包括网络的拓扑结构、网络的通信速率等。网络状态的变化可以使ECU意识到网络拓扑的改变,并相应调整自身的通信行为。链路状态表示ECU与其他ECU之间的通信链路的状态,包括链路是否可靠、链路的通信速率等。链路状态的变化可以告诉ECU该链路的可用性,从而选择合适的通信链路。 NM管理状态对于实现车辆内部的通信功能很重要。通过获取和更新NM管理状态,ECU可以及时了解网络的变化和状态,从而进行相应的通信行为。例如,当某个ECU的节点状态变为离线时,其他ECU可以感知到该节点的不可用性,从而自动切换到可用的节点进行通信,保证车辆内部的通信功能的可靠性和稳定性。 总之,NM管理状态是指autosar中的ECU从网络管理模块获取的关于网络状态的信息,包括节点状态、网络状态和链路状态。通过获取和更新NM管理状态,ECU可以及时了解网络的变化和状态,并做出相应的通信行为,以维持车辆内部的通信功能的可靠性和稳定性。 ### 回答2: Autosar NM(网络管理)是一个用于汽车通信网络管理的开放标准。它定义了一套规范和接口,用于管理汽车网络中的节点和通信。NM管理状态是指车辆节点在通信过程中的不同状态。 NM管理状态主要包括两种:通信使能状态和通信不使能状态。 在通信使能状态下,车辆节点可以正常发送和接收网络消息。它可以与其他节点建立通信连接,传输数据并接收远程命令。同时,它也会监控网络的状态,并及时更新节点的状态信息。当节点处于通信使能状态时,它可以被其他节点检测到,并与其进行通信。 而在通信不使能状态下,车辆节点无法进行正常的通信。它不能发送或接收网络消息,无法与其他节点建立连接或传输数据。这种状态通常是由于网络故障或节点自身故障引起的,比如网络中断、节点故障或配置错误等。在此状态下,节点将不会被其他节点检测到,也无法与其他节点进行通信。 为了确保系统的稳定和正常运行,Autosar NM通过监控、控制和管理节点的状态来实现网络的稳定和节点的通信。在发现节点进入通信不使能状态时,Autosar NM会尝试恢复通信,并通过故障诊断和处理来解决问题。 综上所述,Autosar NM管理状态是指车辆节点在网络通信中可能出现的两种状态:通信使能状态和通信不使能状态。通过对节点状态的监控和管理Autosar NM确保系统的稳定性和节点间的正常通信。 ### 回答3: Autosar NM(Network Management)是一种用于汽车电子网络的管理状态协议。它用于管理网络中各个节点的通信和连接状态,确保网络正常运行。 Autosar NM管理状态包括两个重要的方面:通信管理和连接管理。 在通信管理方面,Autosar NM可以识别网络中的节点,并确保节点之间能够正常通信。它通过监测节点的活动状态和连接状态来实现通信管理。当一个节点启动或停止时,Autosar NM会发送相应的消息给其他节点,以便其他节点也能够更新其通信状态。同时,Autosar NM还支持节点之间的心跳机制,以确保节点之间的连接始终保持有效,并能够及时检测和处理节点的故障。 在连接管理方面,Autosar NM负责管理网络中各个节点之间的连接状态。它可以检测到节点之间的连接断开、重连或变更,并通知其他节点进行相应的处理。如果一个节点从网络中断开,Autosar NM会确保其他节点知道这个变化,并及时进行相应的调整。此外,Autosar NM还支持节点之间的链路监测,以确保网络连接的质量和稳定性。 总的来说,Autosar NM管理状态是为了确保汽车电子网络正常运行的一种管理机制。它通过通信管理和连接管理来监测和控制网络中各个节点的状态,以确保节点能够正常通信和连接,并能够及时处理节点故障和变化。这种管理状态机制的实施有助于提高汽车电子网络的可靠性和稳定性,从而提升整个车辆系统的性能和安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老灰╮(╯-╰)╭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值