• 1654查看
  • 0回复

[Autosar] 一文搞懂Autosar BswM模块的原理和配置

[复制链接]


该用户从未签到

发表于 17-5-2024 20:14:33 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


简介
BswM(BSW Mode Manager)主要负责BSW模块的模式管理。其实第一遍看AUTOSAR官方文档和网上的资料,感觉还是不太清楚这个模块的作用。
一文搞懂Autosar BswM模块的原理和配置w1.jpg

后边再仔细去看文档,豁然开朗。BSWM模块通俗来说就是BSW模块间的状态管理模块,负责读取各个BSW模块和SWC模块的状态,然后对这些状态进行判断,再根据判断的结果决定接下来执行什么动作。是不是觉得很熟悉?一般在单片机开发中,我们会有一个ECU的状态管理,其实也是这样的流程:读取信息、判断、根据判断结果执行动作!BswM模块内部可以调用BSW的其他模块的接口,所以使用起来更方便。
配置选项说明
对应上述的读取信息的接口就是AUTOSAR中BswMModeRequestPorts配置选项,信息判断就是AUTOSAR中的BswMModeConditions(对单个信息进行判断)和BswMLogicalExpressions(对信息进行组合判断,如BswMModeConditions中多个条件进行或运算或者与运算),执行动作对应的就是AUTOSAR中的BswMActions(单个动作)和BswMActionLists(多个动作组合在一起)。
BswMModeRequestPorts
主要配置模式判断的数据来源,可以来自于SWC,也可以来自于其他BSW。配置如下:1 BswMBswModeNotification:其他BSW模块的当前状态, 2 BswMCanSMIndication:CanSM所管理的CAN总线状态。3 BswMComMIndication:ComM所管理的通道的通信模式。4 BswMComMPncRequest:ComM所管理的 PNC的当前通信模式。5 BswMDcmComModeRequest:DCM请求的通信模式(UDS中0x28服务请求的通信模式)。6 BswMEcuMIndication:EcuM当前状态。7 BswMSwcModeNotification:SWC的模式状态。一般是定义一个Mode Switch Infertace的Port接口类型,当SWC改变这个模式状态时,BswM通过配置这个选项就可以被通知。8 BswMTimer:BswM定时器的状态。
BswMModeConditions

BswMConditionType:判断的关系式。BSWM_EQUALS表示判断数据等于BswMConditionValue中设置的值;BSWM_EQUALS_NOT表示判断数据不等于BswMConditionValue设置的值。

BswMConditionMode:比较数据的来源,在BswMModeRequestPorts设置的值。

BswMBswRequestedMode:Bsw模块可以被请求的状态。

BswMModeDeclaration:SWC可以到达的状态。
假如配置了BswMBswRequestedMode,那么上边的配置选项得到的结果就是if BswMConditionType == BSWM_EQUALS
         return (BswMConditionMode == BswMBswRequestedMode);

else if BswMConditionType == BSWM_EQUALS_NOT

          return (BswMConditionMode != BswMBswRequestedMode);

BswMLogicalExpression

BswMLogicalOperator:将多个BswMModeConditions的结果进行逻辑组合,包括BSWM_AND(与)、 BSWM_NAND(非与)、BSWM_NOT(非)、 BSWM_OR(或)、 BSWM_XOR(异或)。

BswMArgumentRef:选取将要进行逻辑运算的BswMModeConditions。

BswMAction
1 BswMComMAllowCom:是否允许ComM中配置的通道进行通信。配置了这个选项,执行动作会调用ComM_CommunicationAllowed这个函数2 BswMComMModeSwitch:改变ComM中配置的通道的通信模式。配置了这个选项,执行动作会调用ComM_RequestComMode这个函数3 BswMEcuMStateSwitch:改变EcuM的状态4 BswMNMControl:网络管理的通道的通信是否被使能,执行动作会调用Nm_EnableCommunication或者Nm_DisableCommunication5 BswMPduGroupSwitch:选定Pdu Group中的Pdu是可以发送或者接收。6 BswMRteStart:启动Rte(通过调用Rte_Start)7 BswMRteStop:停止Rte(通过调用Rte_Stop8 BswMUserCallout:调用用户自定义的函数。
BswMActionLists
Action的集合,就是当条件满足时,可以执行多个BswMAction。
BswMRules
根据BswMLogicalExpression的结果来决定执行哪个BswMActionLists。
BswMRuleInitState:规则的默认状态。

BswMRuleExpressionRef:判断使用的条件,即选取BswMLogicalExpression。

BswMRuleFalseActionList: BswMRuleExpressionRef的结果为False执行的ActionList

BswMRuleTrueActionList: BswMRuleExpressionRef的结果为True执行的ActionList


该用户从未签到

发表于 11-3-2025 08:58:00 | 显示全部楼层
AUTOSAR中的BswM模块(BSW Mode Manager)是负责BSW(基础软件)模块的模式管理。其主要功能是管理各个模块的状态,并根据这些状态进行相应的动作决策。具体来说,BswM模块能够读取BSW模块和SWC(软件组件)模块的状态,通过判断这些状态来决定执行何种操作。其工作原理与单片机开发中的ECU状态管理类似,即进行信息的读取、判断以及根据判断结果执行动作。

配置BswM模块时,需明确各BSW模块的功能及其状态定义,以便BswM能够准确读取并判断状态。此外,还需配置BswM与其他BSW模块的接口,确保模块间的通信和协同工作。正确配置BswM模块是确保AUTOSAR系统稳定、高效运行的关键。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 11-3-2025 08:58:00 | 显示全部楼层
AUTOSAR中的BswM(BSW Mode Manager)模块负责BSW(基础软件)模块的模式管理。该模块的主要职责是监控并管理不同BSW模块和SWC(软件组件)的状态,确保系统按照预期运行。它通过读取各模块的状态信息,进行状态判断,然后基于判断结果决定下一步动作。这与单片机开发中ECU的状态管理流程相似,包括读取信息、判断以及根据判断结果执行动作。

在配置BswM模块时,需根据AUTOSAR规范进行。通常包括定义不同模式间的转换条件、设置各模块的通信接口以及配置模块间的状态交互等。为了保障系统稳定性和可靠性,建议严格遵循AUTOSAR官方文档进行配置。

理解BswM模块的原理和配置对于开发基于AUTOSAR架构的汽车系统至关重要。希望以上简介能帮助你更好地理解这一模块。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 11-3-2025 08:58:00 | 显示全部楼层
AUTOSAR BSWM模块(BSW Mode Manager)是AUTOSAR基础软件架构中的一个关键组成部分,主要负责管理和协调BSW模块的工作模式。它监控各个模块的状态,并根据这些状态决定系统的行为。具体来说,BswM模块的工作原理可以分为三个步骤:

1. 读取信息:BswM模块首先获取各个BSW模块和SWC模块的状态信息。
2. 判断:根据获取的信息,BswM模块进行逻辑判断,确定系统的当前状态及下一步动作。
3. 执行动作:基于判断结果,BswM模块调用相应的接口,执行相应的动作或切换工作模式。

在配置BswM模块时,主要需要关注其与其他模块的交互,如何正确地读取状态信息,以及如何根据不同的状态执行相应的动作。正确的配置能保证各模块协同工作,实现系统的稳定、高效运行。

希望以上解释能帮助你更好地理解AUTOSAR BSWM模块的原理和配置。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 02:21 , Processed in 0.359154 second(s), 37 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.