Ora

What is fim in AUTOSAR?

Published in AUTOSAR Function Inhibition 4 mins read

The Function Inhibition Manager (FIM) in AUTOSAR is a crucial Basic Software Module of the Diagnostic Services responsible for controlling the execution of software components based on the occurrence of specific events. It ensures that certain functionalities or monitoring activities are inhibited under predefined conditions, maintaining system integrity and preventing erroneous behavior.

Understanding FIM in AUTOSAR

The FIM plays a vital role in the robust operation of automotive electronic control units (ECUs) by acting as a gatekeeper for function execution. It stands for the evaluation and assignment of events to the required actions for Software Components. These actions commonly include the inhibition of specific "Monitors" or other software functions.

Core Functionality of FIM

At its heart, the FIM manages the inhibition of functions. This involves:

  • Event Evaluation: The FIM constantly receives information about the status of various events from other AUTOSAR modules, particularly the Diagnostic Event Manager (DEM). These events can range from detected diagnostic trouble codes (DTCs) to sensor failures or specific operating conditions.
  • Condition Checking: Based on predefined rules and configurations, the FIM evaluates whether these events necessitate the inhibition of one or more functions. These rules define inhibition conditions (e.g., "if event X is active and event Y is not active, then inhibit function Z").
  • Action Assignment: If an inhibition condition is met, the FIM assigns the required action, which is typically to inhibit a specific software component or a part of its functionality (e.g., a "Monitor").
  • Providing Inhibition Status: Software components (SWCs) can query the FIM to determine if their specific functions are currently inhibited. This allows SWCs to dynamically adjust their behavior.

Why FIM is Essential

The FIM module provides several key benefits to an AUTOSAR system:

  • System Integrity: Prevents the execution of functions under unsafe or erroneous conditions, protecting the vehicle and its occupants.
  • Controlled Degradation: Allows for graceful degradation of functionality rather than abrupt failure. For instance, if a sensor fault is detected, the FIM might inhibit an advanced driver-assistance system (ADAS) feature that relies on that sensor, while other basic vehicle functions remain operational.
  • Resource Management: Helps in optimizing ECU performance by selectively disabling non-critical functions when resources are scarce or when specific diagnostic events require focused processing.
  • Compliance: Contributes to meeting functional safety standards by providing a mechanism to manage potential hazards arising from faulty components or unexpected operating conditions.

FIM's Role within Diagnostic Services

As part of the AUTOSAR Diagnostic Services, the FIM works closely with other modules:

  • Diagnostic Event Manager (DEM): The DEM reports the status of diagnostic events (e.g., 'failed', 'passed', 'tested'). The FIM uses this event status as input for its inhibition logic.
  • Diagnostic Communication Manager (DCM): While not directly interacting for inhibition logic, the DCM handles diagnostic communication, which might trigger or clear events that the FIM processes.
  • Software Components (SWCs): SWCs declare which functions can be inhibited and query the FIM for their current inhibition status using dedicated FIM ports.

Key Responsibilities of FIM

Feature Description Example Use Case
Event Evaluation Monitors the status of diagnostic events and other software conditions. Detecting a 'Brake Fluid Low' event reported by the DEM.
Inhibition Logic Applies predefined rules to determine if a function should be inhibited. If 'Brake Fluid Low' is active, inhibit the 'Cruise Control' function.
Status Provision Provides inhibition status to requesting Software Components. A 'Cruise Control' SWC queries FIM to check if it's allowed to activate.
Function Control Prevents execution of specific monitors or entire functions dynamically. Stopping a specific diagnostic monitor from running if its required sensor is faulty.

Practical Example of FIM in Action

Consider a vehicle equipped with an automatic parking assist system. If a parking sensor on the vehicle malfunctions (an event reported by the DEM), the FIM might be configured to:

  1. Receive Event: The DEM reports that "Parking Sensor Front-Left" has failed.
  2. Evaluate Condition: The FIM evaluates its internal rules. One rule states: "If any parking sensor fails, inhibit the 'Automatic Parking Assist' function."
  3. Inhibit Function: The FIM sets the inhibition status for the "Automatic Parking Assist" function to 'inhibited'.
  4. Inform SWC: When the "Automatic Parking Assist" SWC tries to activate, it queries the FIM. Receiving an 'inhibited' status, the SWC informs the driver that the function is unavailable and does not attempt to operate.

This process ensures that the vehicle does not attempt to park automatically with faulty sensor data, preventing potential damage or accidents.

In essence, the FIM serves as a critical safety and reliability mechanism within the AUTOSAR architecture, dynamically managing the operational state of software components based on the current health and status of the vehicle system.