1. 系列介绍
本系列Autosar 诊断入门介绍,会详细介绍诊断相关基础知识,如您对诊断实战有更高需求,可参见诊断实战系列专栏,快速链接:Autosar诊断实战系列导读
如您MCAL配置,通信,诊断Autosar全栈等实战有更高需求,可以参见AutoSar 实战进阶系列专栏,快速链接:AutoSar实战进阶系列导读
UDS(Unified Diagnostic Services)协议,即统一的诊断服务,是面向整车所有ECU的一种诊断通信方式,是基于ISO 14229规范的规范化诊断服务标准,其位于OSI模型中的应用层,UDS可基于不同的总线实现,如基于CAN总线可再结合ISO1576协议进一步实现传输层,本篇将介绍FIM模块相关内容:
1.1 FIM模块概述
FIM即功能禁止模块,其主要功能为根据DEM模块传入的每个Event的当前及历史故障状态并结合Event与FID之间的mapping关系,输出功能降级标志位,SWC模块根据功能降级标志位的置位情况作出是否功能降级的处理。
2. FIM相关概念
2.1 FID概念
FID即FunctionIdentifier,在FIM实现功能是否允许的计算,计算的对象是SWC或逻辑单元,它们接收信息“授予权限”/“拒绝权限”。在FIM模块中配置这些组件,并通过接口分配FunctionIdentifier来分配这些组件。

根据分配给特定FID对应的EventId计算每个FID的许可状态。然后,计算出的每个FID的许可状态(如FID_K),以确定最终的许可状态。此外,FiM可以轮询monitor状态以重新计算许可状态。轮询由请求其许可状态的功能(SW-C或BSW)或在循环任务中触发。
2.2 FIM数据结构
可配置多个EventId和抑制掩码分配给一个FID。每个FID的EventId和FIM掩码的数量必须对应匹配,以便每个配置的事件都存在相应的禁止掩码,禁止掩码中包含FID的禁止条件。

3. FIM模块作用过程
Step1:Dem模块调用接口FIM_DemTriggerOnMonitorStatus()告知Fim诊断状态发生改变;
Step2:FIM模块调用接口Dem_GetMonitorStatus()读取Event的最新状态;
Step3:SWC调用FIM_GetFunctionPermission()判断是否进行功能禁用/降级。


本文介绍了Autosar诊断入门中的FIM模块,FIM用于根据DEM模块传递的故障状态和Event-FID映射关系,决定功能是否降级。FID是功能标识符,FIM配置EventId和抑制掩码来计算功能许可状态。当诊断状态改变时,Dem模块通知FIM,FIM读取最新状态并由SWC调用来判断功能启用或禁用。

1578

被折叠的 条评论
为什么被折叠?



