首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

《AUTOSAR谱系分解(ETAS工具链)》之BswM

  • 23-11-14 08:42
  • 2141
  • 5686
blog.csdn.net

《AUTOSAR谱系分解(ETAS工具链)》之BswM

文章目录

  • 《AUTOSAR谱系分解(ETAS工具链)》之BswM
    • BswM
      • BswMConfig
      • BswMGeneral

BswM

在这里插入图片描述

BswMConfig

  • BswMArbitration【模式仲裁】

    • BswMLogicalExpressions【逻辑表达式】

      • BswMLogicalOperator

        • BSWM_AND
        • BSWM_NAND
        • BSWM_OR
        • BSWM_XOR
      • BswMArgumentRef

      • EXP:

        • EXP:包含模式仲裁的逻辑表达式可以使用不同的操作符,比如AND,OR,XOR,NAND。每一个逻辑表达式(Logic Expression)对应一个模式请求条件。这请求或者指示的模式会被判断是EQUAL或者NOT_EQUAL特定的模式。上图中展示了有两个条件的模式Rule,
          Rule和可用逻辑操作集被定义为ECU 配置的一部分。
        • 在这里插入图片描述
    • BswMModeConditions【模式条件】

      • BswMConditionType

        • EQUALS
        • EQUALS_NOT
      • BswMConditionMode

      • EXP:

        • 在这里插入图片描述
    • BswMModeRequestPorts【模式请求】

      • BswMModeRequestSource

        • BswMModeInitValue
        • BswMBswModeNotification
        • BswMSwcModeRequest
      • BswMRequestProcessing

        • Immediate
        • Deferred
      • EXP:

        • EXP:
          BswM模块接收来自SWC的模式请求(Mode Request)和来自于其他Bsw模块的模式指示Mode indication)作为输入进入模式条件执行模式仲裁。一般来说,模式请求是来自于应用层SWC,但是也有可能来自于Bsw模块,比如DCM模块。模式指示总是由他BSW模块发出,比如不同的总线管理器,比如EcuM,WdgM等模块。
          处理模式仲裁有两种方式,一种是有模式需求或者是模式指示时,立即处理;另一种是有模式需求或者是模式指示时,使用main轮询处理。
          如果是“Immediate”需求,是通过函数调用执行的。在软件系统集成时,应该保证动作列表在执行时不会影响到整个控制器的系统性能,适用于模式请求来源数据变化不大,较为稳定的场合。
          如果是“轮询遍历”方式,BswM模块会在模块中MainFunction中主动查询模式请求和模式指示的状态,适用于模式请求和模式指示变化较快的情况,这两种仲裁方式可以通过参数BswMRequestProcessing配置。
        • 在这里插入图片描述
    • BswMRules【模式规则】

      • BswMRuleInitState

        • BSWM_FALSE
        • BSWM_TURE
        • BSWM_UNDEFINED
        • EXP:
        • EXP:模式规则可以设置逻辑表达式的初始值为TRUE或者FASLE,以便执行默认的Action List。 模式仲裁在初始化后的运行是由配置参数BswMModeInitValue的值决定的。BswMRequestProcessing的参数在BswMModeRequestPort的配置中体现。
          当BswMModeInitValue没有配置初始值时,BswM应该将相应的模式视为未定义,因此意味着BswM在完成初始化后默认就会执行一次。
          当BswMModeInitValue有配置初始值时,BswM模块应该使用初始值作为第一次模式仲裁时的状态。
      • BswMRuleExpressionRef

      • BswMRuleFalseActionList

      • BswMRuleTrueActionList

      • EXP:

        • EXP:
          BswM 执行的Mode Arbitration是基于规则(rule-based)的而且很简单。所以模式规则中有两部分:模式表达式以及相应的模式动作。
          为了知道模式控制中的哪些动作需要执行,需要BswM模块评判先前模式仲裁的结果与当前模式仲裁的结果的变化。
        • 在这里插入图片描述
  • BswMModeControl【模式控制】

    • BswMActionLists【模式行为List】

      • BswMActionListItem

        • BswMAbortOnFail
        • BswMActionListItemIndex
        • BswMActionListItemRef
      • EXP:

        • 在这里插入图片描述

        • 在这里插入图片描述

    • BswMActions【模式行为触发方式】
      —BswMAvailableActions—

      • BswMSchMSwitch

        • BswMSchMModeDeclarationGroupRef
        • BswMSchMSwitchedMode
        • EXP:
          /AUTOSAR_BswM/ModeDeclarationGroups/MDG_ECUM_STATE/

ECUM_STATE_STARTUP_ONE
ECUM_STATE_STARTUP_TWO
ECUM_STATE_RUN
ECUM_STATE_APP_RUN
ECUM_STATE_POST_RUN
ECUM_STATE_PREP_SHUTDOWN
ECUM_STATE_SHUTDOWN
。。。

  • EXP:

    • 在这里插入图片描述
  • BswMRteModeRequestPort

    • EXP:

      • 在这里插入图片描述
  • BswMSwitchPort【模式通知】

    • EXP:

      • 在这里插入图片描述
  • EXP:

    • EXP:

      • EXP:模式控制就是根据模式仲裁的结果执行相应的Action List,而操作列表(Action List)是BswM在模式仲裁后触发的序列动作。

模式控制可以分为三类,以SWC的模式控制为例:
(1)调用其他BSW模块或者RTE接口,
(2)链接其他Action List从而调用其他Action List,
(3)执行模式仲裁规则。当动作列表执行时,就会执行相应的模式规则。

  • BswMDataTypeMappingSets

    • ECUM STATE Mapping

      • EXP:

        • 在这里插入图片描述
  • EXP:

    • EXP:

      • EXP:

        • EXP:BswM模块的功能可以分为两个部分,分别为:
          (1)模式仲裁:模式请求(Mode Request)、模式条件(Mode Condition)、模式表达式(Mode Logic Expression)。
          (2)模式控制:模式动作(Mode ActionList)、模式通知(Mode Switch)

        • 在这里插入图片描述

        • 在这里插入图片描述

        • 在这里插入图片描述

BswMGeneral

  • BswMRbGenericReqUsers

    • BswMRbGenericReqUser
  • BswMUserIncludeFiles

    • EcuM.h

    • CanSM.h

    • CanIf.h

    • ComM.h

    • Com.h

    • PduR.h

    • 。。。。。。

    • EXP:

      • EXP:

        • 在这里插入图片描述
  • BswMCanSMEnabled

  • BswMRbComEnabled

  • BswMComMEnabled

  • BswMDcmEnabled

  • BswMDevErrorDetect

  • BswMEcuMEnabled

  • BswMEthIfEnabled

  • BswMEthSMEnabled

  • BswMFrSMEnabled

  • BswMGenericRequestEnabled

  • BswMJ1939DcmEnabled

  • BswMJ1939NmEnabled

  • BswMLinSMEnabled

  • BswMLinTPEnabled

  • BswMMainFunctionPeriod

    • 0.01
  • BswMNmEnabled

  • BswMNvMEnabled

  • BswMRbDebugEnable

  • BswMRbIntrptQueueMaxSize

    • 5
  • BswMRbMaxNumOfRules

    • 30
  • BswMSchMEnabled

  • BswMSdEnabled

  • BswMVersionInfoApi

  • EXP:

    • EXP:

      • EXP:

        • 在这里插入图片描述

        • 在这里插入图片描述

《AUTOSAR谱系分解(ETAS工具链)》之总目录

注:本文转载自blog.csdn.net的PlutoZuo的文章"https://blog.csdn.net/PlutoZuo/article/details/131089163"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top