Autosar之BswM模块

本文详细介绍了BswM在基础软件模式管理中的作用,涉及模式仲裁的规则、条件、输入源,以及模式控制的执行过程。通过逻辑表达和工具链配置的视角,展示了如何在ISOLAR等工具中配置模式管理以响应模式请求和指示。
摘要由CSDN通过智能技术生成

1、简介

        BswM是基础软件模式管理的简称(BSW Mode Manager),属于Autosar架构下系统服务层的一个模块。它的职责是根据简单的规则仲裁来自应用层SW-C或其他BSW模块的模式请求,并根据仲裁结果执行操作。简单理解它的功能为仲裁执行

2、模式仲裁(Mode Arbiration)

        由BswM执行的模式仲裁简单且基于规则。规则是由一般的布尔表达式组成。

2.1、仲裁规则(Arbiration Rules)

        规则是由一组模式请求条件组成的逻辑表达式。当输入模式请求和模式指示发生变化时,或者在执行BswM主函数期间,对规则进行评估。评估的结果(True或False)用于决定是否执行相应的模式控制动作列表。

2.2、模式条件和逻辑表达(Mode Conditions and Logical Expressions)

        包含模式仲裁规则的逻辑表达式可以使用不同的操作符,如AND、OR、XOR、NOT和NAND。表达式中的每个项对应于一个模式请求条件。如下图所示:当MyModeRequestPort == MODE_A并且ComMInitiateReset == IS_SET时,执行True执行列表,否则执行False执行列表。

2.3、模式仲裁输入源

        BswM接受模式请求和模式指示作为模式仲裁的输入。模式请求通常来自应用程序SW-C,但也可能来自其他BSW模块,如DCM。模式指示总是由其他BSW模块发布,例如不同总线特定的状态管理器和EcuM。

2.4、立即和延时操作

        模式仲裁有两种处理方式:一种是模式请求(或指示)发生,立刻进行仲裁;一种是延迟等到BswM主函数再进行仲裁。

3、模式控制(Mode Control)

        模式控制是根据模式仲裁的结果来执行一系列的动作,这些动作在动作列表(Action List)中。动作有三种:

  • 操作其他Bsw模块或Rte
  • 链接到其他动作列表
  • 用户自定义

4、模式请求流程

        模式请求的流程如下图所示:

  1. SW-C通过其发送端请求模式A。RTE分发请求,BswM通过Receiver Port接收请求。
  2. BswM根据收到的模式仲裁请求评估其规则,或者在执行BswM主要功能期间周期性地评估其规则。
  3. 根据所选的执行方法执行相应的动作列表。

5、流程总结

       

6、工具链配置

        上面的描述基本都是基于AUTOSAR文档总结而来,可能读起来是不是有点懵?AUTOSAR规范将整个模式管理模块更标准化,术语话,但可能理解起来不是那么白话。下面咱们以工具链配置的角度去理解,以ISOLAR为例:主要配置包括:

  • 仲裁:逻辑表达(LE),模式条件(MC),模式请求Port(MRP),规则(AR);
  • 执行:动作列表(AL),动作(AI)。

假如系统状态机请求跳转到PreRun模式,此时的流程图是这样的:

配置如下:

1. 配置Port口

2. 配置条件

3. 逻辑表达

需要2中配置的两个条件都满足

4. 规则

 5. 动作列表

6. 动作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值