打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
AUTOSAR BswM介绍

BswM模块属于模式管理的一部分,其主要功能为模式仲裁、模式控制。

模式仲裁

模式仲裁是接收来自SWC或其他BSW模块的模式请求和通知,根据简单的规则作出模式切换。其分为仲裁规则、模式条件和逻辑表达式和模式请求接口三部分

1、模式请求接口

模式请求接口用于确定模式的请求源、模式仲裁方式以及初始值。其中模式请求源是指模式通知的来源。

模式仲裁方式是指立即处理(Immediate)或推后仲裁(Deferred),立即处理为当收到模式切换请求后立即进行模式仲裁,而推后仲裁则是在BswM的MainFunction中进行仲裁,类似于轮询的机制,其调用区别请参考图1。

图1 Immediate和Deferred的区别

初始值的配置是在BswMModeInitValue选项,如果初始值没有配置,BswM中的模式控制中将其视为未定义,只有当SWC或其他BSW模块有模式请求时才会更新模式。

2、模式条件和逻辑表达式

模式条件是指模式请求是否EQUAL(等于)或NOT_EQUAL(不等于)某种预先设置的模式。逻辑表达式是将不同的模式条件通过逻辑标识符AND,OR,XOR,NAND组合起来。

如图2所示,Normal_Mode==True和Ifc1_Bus_Off==false是两个简单的模式条件,通过&&的方式组合成一个逻辑表达式。

 图 2 简单的规则示例

3、仲裁规则

仲裁规则是将逻辑表达式与实际执行动作有序的组合在一起,如图1所示,当逻辑表达式为True时执行theTrue Action List,当为False时执行theFalse Action List。

模式控制

模式控制部分用于开发实际的执行动作,当模式仲裁完成后,会触发不同的动作序列(Action List),动作序列由不同的动作(Action)组成,如图3所示对于动作有以下三种类型:

<1、调用预设的动作,包括调用其他BSW模块或RTE;

<2、链接到其他动作序列;

<3、模式仲裁规则,当相关的动作序列运行,这些规则会被评估。

图3 Action List和Action

另外对于动作序列的执行有Triggered和Conditional两种方式,其中Triggered表示只有当规则仲裁的结果发生改变才会执行该动作序列,Conditional则是每次规则仲裁完都执行该动作序列。

最后分享两张图,该图能很好的帮助理解BswM模块。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Autosar EcuM:APP由RUN到POST_RUN浅析
模式—Wolfram 语言参考资料
ECU的上下电都在做什么
判断结构select...case语句
Perl 元字符
外连接
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服