AUTOSAR功能抑制管理器
2024-03-25 来源:elecfans
功能抑制管理器(Function Inhibition Manager)负责为软件组件(software component)及其功能(functionality)提供控制机制,通过FIM可以抑制(取消应用程序功能的激活)这些功能,甚至可以在运行时(构建后配置)期间进行配置和修改。
functionality:一个功能可以由具有相同权限/抑制条件集的一个、几个或部分可运行实体(runnable entity)的内容构建。
FID:功能被分配到一个标识符(FID-功能标识符),以及该特定标识符的抑制条件。这些功能在执行之前轮询各自FID的权限状态。如果特定标识符的抑制条件成立,则相应的功能将不再执行。

FIM Core Variables
● Diagnostic Event:“诊断事件”是DEM向特定诊断监视器功能提供的标识符,用于报告错误
● Monitor
Status:“监测状态”是DEM根据监测功能的报告值计算出的状态。可能的值由Dem_MonitorStatusType定义
● Monitored
Component:“被监控组件”是由DEM提供给特定被监控组件(硬件组件或信号)的标识符。“被监控组件”的FAILED状态表示所有分配的监控功能的结果和从其他DEMComponent继承的故障信息
● Summarized
Event:FIM配置应该支持汇总事件。汇总事件由多个单个诊断事件组成;因此,特定的总结事件只是多个诊断事件的代表。Summarized Event可以用作SWC的抑制条件
● Function Identifier:
a. 应保证FIM中的每个functionid是唯一的
b. FIM模块应使用FunctionId直接指向相关的功能信息(权限状态等)
FIM实现了功能权限的计算。这些被计算的对象是SWC或Logic
Unit,每个FID的权限状态是根据分配给特定FID的EventIds计算的。计算出每个EventIds的权限状态,并进行“与”以确定最终的权限状态
● Function Identifier permission
state:FID权限状态包含由其FID表示的功能是否可以执行的信息(True执行/False禁止)。SWC组件通过FIM_GetFunctionPermission访问状态
4.2
FIM Core Functionalities
FIM Data Structure
FIM的配置过程应该在FIM模块中创建数据结构来存储抑制关系(EventID - FID -applicable mask)。
可配置的EventIds数量和抑制掩码被分配给一个FID。每个FID的EventIds和抑制掩码数量必须匹配,以便对于每个配置的事件,都存在相应的抑制掩码。抑制掩码包含FID的抑制条件,前提是相关的EventIds具有特定的状态(Dem_EventStatusExtendedType)。这些掩码定义了FID对事件的哪些状态敏感。
每个FID都有一个抑制掩码,两者都分配给一个特定的FID EventId。如果该事件具有一定的状态,并且如果事件状态与配置的掩码匹配,则对FID的抑制将激活。

Interaction with DEM
FIM模块的功能是基于DEM事件为控制SWC(允许/抑制)提供服务功能当所报告事件的监控状态发生变化时,如果DemTriggerFiMReports是启用的,DEM通过API函数FIM_DemTriggerOnMonitorStatus通知FIM监控状态的变化。在收到监视器状态变化的通知时,FIM使用Dem_GetMonitorStatus来重新计算函数抑制。
每个FID都有一个Inhibition Counter抑制计数器。抑制计数器包含当前抑制的EventIds的数量。如果状态与掩码匹配,则抑制计数器增加;否则,抑制计数器不会更新。这适用 FIM_GetFunctionPermission(如果权限状态必须在查询时计算)和FIM_MainFunction。
若FIM_DemTriggerOnMonitorStatus报告了监视器状态变化,则执行以下操作:
● 如果EventId的状态改变导致释放状态(掩码与监视器状态不匹配),则抑制计数器必须减小
● 如果EventId的状态变化导致抑制状态(掩码与监视器状态匹配),则抑制计数器必须增加
● 如果抑制计数器为》 0,则FID权限状态设置为FALSE,否则FID权限状态设置为TRUE
Interaction with SWC:
对于每个FID,SWC应提供导致FID抑制的events列表和mask掩码FIM模块应同步响应传入的查询来确保对功能的即时控制。FIM模块通过将权限状态存储为状态变量或在权限查询时计算事件状态来实现这一行为如果使用接口FIM_SetFunctionAvailable将一个函数(FID)设置为不可用,它的权限状态FIM_GetFunctionPermission总是返回FALSE。
上一篇:AutoSAR中的诊断模块是什么
下一篇:电动汽车电驱动系统核心技术是什么
- 汽车网络信息安全-AUTOSAR IDS车载入侵检测系统
- 一文搞懂 AUTOSAR 安全三剑客 ——TLS/DTLS、E2E 与 SecOC
- AUTOSAR架构下的传感器驱动开发,从底层BSP到上层应用接口的适配
- 介绍Autosar网络管理NM和其他模块之间的对应关系
- 汽车开放系统架构如何去完善
- AUTOSAR架构深度解析从入门到放弃
- 揭秘RT-Thread上的AUTOSAR CP系统
- 汽车ECU功能安全开发:聚焦AUTOSAR OS与ISO 26262 ASIL-D合规关键
- AUTOSAR标准下CAN网络休眠异常诊断机制的创新研究
- 汽车电子中的AUTOSAR架构实践与问题排查
- 嵌入式的风向变了:2026纽伦堡嵌入式展透露这些趋势
- 高通确认不在GDC 2026发布新款骁龙G系列掌机处理器SoC
- 行业评论 从工具到平台:如何化解跨架构时代的工程开发和管理难题
- 面向嵌入式部署的神经网络优化:模型压缩深度解析
- 摩尔线程MTT S5000全面适配Qwen3.5三款新模型
- Mujoco中添加Apriltag标签并实现相机识别教程
- 英飞凌与宝马集团携手合作,基于Neue Klasse架构塑造软件定义汽车的未来
- 物理AI仿真新突破:摩尔线程与五一视界共建全栈国产化生态
- 阿里达摩院发布玄铁C950,打破全球RISC-V CPU性能纪录
- 爆火的OpenClaw! 告别云端,米尔RK3576开发板本地部署
- 边缘计算主机盒选购指南:五大核心指标解析
- Arm AGI CPU 更多细节:台积电 3nm 制程、Neoverse V3 微架构
- Arm AGI CPU 重磅发布:构筑代理式 AI 云时代的芯片基石
- Arm 拓展其计算平台矩阵,首次跨足芯片产品
- 阿里达摩院发布RISC-V CPU玄铁C950,首次原生支持千亿参数大模型
- 边缘 AI 加速的 Arm® Cortex® ‑M0+ MCU 如何为电子产品注入更强智能
- 阿里达摩院发布玄铁C950,打破全球RISC-V CPU性能纪录
- VPU中的“六边形战士”:安谋科技Arm China发布“玲珑”V560/V760 VPU IP
- 利用锚定可信平台模块(TPM)的FPGA构建人形机器人安全




