Autosar BSW Mode Manager

Autosar BSW Mode Manager:原文配图 1

BSW模式管理器(BswM)是Autosar BSW软件中用于控制与切换车辆或应用层模式,其职责是基于规则仲裁来自应用层SW-C或其他BSW模块的模式请求,并基于仲裁结果来执行动作。

简单来说就好比法官(BswM),对于任何的诉讼(Request请求),基于当前的法律(Rule规则),来进行宣判(Arbitration仲裁)并执行一系列操作(Action动作)。

Autosar BSW Mode Manager:原文配图 2

BSW Mode Manager基本功能可以描述为两个不同的任务:模式仲裁和模式控制。

Autosar BSW Mode Manager:原文配图 3

模式仲裁

Autosar BSW Mode Manager:原文配图 4

BswM执行的模式仲裁是简单且基于规则的,用于模式仲裁的规则在BswM模块中配置指定。一条仲裁规则是一个逻辑表达式,由一个模式请求条件的集合构成。由于规则是由普通的布尔表达式组成,因此模式仲裁具有较高的执行效率。

仲裁规则

仲裁规则是一组模式请求条件组成的逻辑表达式。当输入模式请求和模式指示被改变时,或在执行BswM_MainFunction期间进行规则评估。评估结果(True或False)用于决定相应模式控制动作列表的执行。

模式条件和逻辑表达式

模式仲裁规则的逻辑表达式可以使用不同的运算符,例如AND,OR,XOR,NOT和NAND。表达式中的每个术语对应于模式请求条件。如果模式条件引用BswMModeRequestPort,则条件将验证所请求或指示的模式在相应模式条件下是EQUAL 还是 NOT_EQUAL。

Autosar BSW Mode Manager:原文配图 5

模式控制

Autosar BSW Mode Manager:原文配图 6

BswM的模式控制是根据模式仲裁的结果执行所对应的操作,这些操作可以组成一个动作列表(Action List)。BswM可能包含多个动作列表,单个动作列表可以包含多个动作。为了减少动作列表的总数,可以将它们关联起来。动作列表的元素可以是具体动作或对另一动作列表的引用。每个动作列表条目都对应有一个标志来表明其类型(动作/引用/规则)。除此之外,在BswM中还支持对以下C-API的直接调用:

• BswMComMAllowCom

• BswMComMModeLimitation

• BswMComMModeSwitch

• BswMDeadlineMonitoringControl

• BswMEcuMGoDown

• BswMEcuMSelectShutdownTarget

• BswMEcuMStateSwitch

• BswMJ1939Rm

• BswMLinScheduleSwitch

• BswMNMControl

• BswMPduGroupSwitch

• BswMPduRouterControl

• BswMRteSwitch

• BswMSchMSwitch

• BswMSwitchIPduMode

• BswMTriggerIPduSend

• BswMUserCallout

Autosar BSW Mode Manager:原文配图 7

在下图中,SW-C向BswM发出模式切换请求,该请求通过RTE传播给BswM。BswM根据配置的布尔规则评估模式请求。根据结果并触发TRUE或FALSE操作列表。在从动作列表执行动作之后,通过RTE向上层(SW-C)给出反馈。

Autosar BSW Mode Manager:原文配图 8
Autosar BSW Mode Manager:原文配图 9

时序调度

Autosar BSW Mode Manager:原文配图 10

在BswM中有两者不同的方式来执行模式仲裁的结果,立即处理(Immediate)或推后仲裁(Deferred),立即处理为当收到模式切换请求后立即进行模式仲裁,而推后仲裁则是在BswM的MainFunction中进行仲裁,类似于轮询的机制。Deferred

Autosar BSW Mode Manager:原文配图 11

Immediate

Autosar BSW Mode Manager:原文配图 12

往期推荐

Autosar BSW Mode Manager:原文配图 13
Autosar BSW Mode Manager:原文配图 15
Autosar BSW Mode Manager:原文配图 16

Autosar · 目录

上一篇 下一篇

Autosar NVM 介绍 Autosar CanNm 网络管理

← 返回文章列表