• 194查看
  • 0回复

[Autosar] FIM模块及配置介绍

[复制链接]


该用户从未签到

发表于 8-5-2024 19:45:53 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


1 模块介绍

1.1 功能介绍
FIM(Function Inhibition Manager)允许查询SWC和其内部的功能模块的允许或者禁止状态.在FIM模块中使用一个单独的FID(function identifier)来标识一个应用的功能及其禁止条件.功能模块在运行前需要轮询它们的FID状态,假如此时是禁止状态,那么就不能执行响应功能.通俗来说,FIM模块就是根据实际需求汇总或融合所需要的故障信息,并对应用SWC提供查询的接口。
FIM模块及配置介绍w1.jpg

FIM使用示例假如前左防夹传感器SWC通过DEM的接口(Dem_SetEventStatus)设置防夹的event为Failed(故障)然后通知到FIM模块.前左车窗升降的SWC通过FIM的接口读取到了防夹传感器异常,此时就禁止车窗关闭。
1.2 FID与DEM中的Event的关系

FIM模块及配置介绍w2.jpg

FID、EVENT与Inhibit mask的关系图
如上图所示,一个FID可能由多个event共同作用(combined)而成,同时每个FID还配置了一个Inhibit Mask(掩码),当事件状态和掩码状态相匹配时,FID就会激活(DEM就会调用FIM的接口通知事件状态发生了变化)。
1.3 调用时序

FIM模块及配置介绍w3.jpg

FIM与Dem、SWC的函数调用关系
1 当DEM检测到故障时(Failed),DEM调用FiM_DemTriggerOnMonitorStatus通知FIM此时这个事件状态发生了改变;2 SWC通过调用FIM的FiM_GetFunctionPermission函数(第一个形参为FID,第二个形参为表示是否允许(Permission)的指针)来读取这个FID的状态(FIM会生成响应的PPort接口,我们就可以为SWC建立RPort接口连在一起,即可通过Rte读取FID状态),如果Permission为True表示功能可以运行,否则不允许执行这个动作。
2 配置

FIM模块及配置介绍w4.jpg

FIM模块配置项总览

2.1 FiMConfigSet
配置项目中需要的FID。
FIM模块及配置介绍w5.jpg

FiMInhInhibitionMask:配置Inhibition Mask。

1FIM_LAST_FAILED:UDS中DTC状态位的TestFailed置位;

2FIM_NOT_TESTED:UDS中DTC状态位的testNotCompletedThisOperationCycle置位;

3FIM_TESTED:UDS中DTC状态位的testNotCompletedThisOperationCycle未置位;

4FIM_TESTED_AND_FAILED:UDS中DTC状态位的TestFailed置位同时testNotCompletedThisOperationCycle未置位。

FIM模块及配置介绍w6.jpg

根据状态信息来计算FID的允许状态

FiMInhEventRef:引用DEM中配置的事件。

FiMInhFunctionIdRef:引用配置的FIMID。

2.2 FiMGeneral

FIM模块及配置介绍w7.jpg

FiMMainFunctionPeriod(FiMTaskTime):Main函数运行周期。

FiMEventUpdateTriggeredByDem:FIM获取事件状态的方式。

1TRUE:事件状态发生变化时DEM通知FIM模块;

2FALSE:FIM去轮询DEM中的事件状态。

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 27-12-2024 10:54 , Processed in 0.226518 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.