DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_DiagnosticEventManager FIG-0f98030fe32727f0 784 × 286 px 4 Release(s)

Figure 7.37: Example to use Dem_PrestoreFreezeFrame to prestore freeze frame data

SHA-256 Inhalts-Fingerabdruck: 0f98030fe32727f078f12051ee9ea33fe4ff39a1e1307b8396d5823a86f39184
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-series@1 · erstellt am 2026-10-08

1. Diagrammtyp & Architektur-Kontext

  • Klassifikation: Zeitverlaufs- bzw. Ausführungsflussdiagramm (Timing/Process Flow Diagram) entlang einer diskreten Zeitachse t.
  • Technischer Zweck: Visualisierung des zweistufigen Fehlererfassungs- und Pufferungsmechanismus (Prestorage of Freeze Frames) im Diagnostic Event Manager (Dem) der AUTOSAR Classic Platform.
  • Funktionale Einordnung: Temporale Entkopplung zwischen der initialen Symptomerkennung (physikalischer Fehlerzeitpunkt) und der endgültigen Fehlerqualifikation (Dem_SetEventStatus). Es verhindert, dass flüchtige Umgebungsdaten (Freeze Frames/DIDs) durch nachgelagerte Entprellzeiten (Debouncing) oder fehlende Freigabebedingungen verfälscht oder überschrieben werden.

2. Komponenten, Entitäten & Schnittstellen

  • Diagnostic Monitor / SW-C (oder BSW-Treiber):
    • Ausführende Diagnosefunktion (Monitor function), die das Fehlersymptom erkennt, Verifikationsbedingungen überwacht und den Status qualifiziert.
  • Diagnostic Event Manager (Dem):
    • Kernmodul der System Service Layer (BSW). Verwaltet Event-Status, Entprellung und Diagnosespeicher.
    • Enthält zwei Speicherbereiche:
      • Prestore Freeze Frame Buffer: Temporärer flüchtiger RAM-Puffer für vorab abgetastete Schnappschüsse.
      • Event Memory: Persistenter Fehlerspeicher (Primär-/Sekundärspeicher) für qualifizierte DTC-Einträge.
  • Schnittstellen (APIs / Ports):
    • Dem_PrestoreFreezeFrame(Dem_EventIdType EventId):
      • Service-Interface DiagnosticMonitor (C-API / RTE-Operation).
      • Löst die synchrone Erfassung der Umgebungsdaten für das spezifizierte Event aus (SWS_Dem_00050).
    • Dem_SetEventStatus(Dem_EventIdType EventId, Dem_EventStatusType EventStatus):
      • Meldet das finale Testergebnis (DEM_EVENT_STATUS_PASSED oder DEM_EVENT_STATUS_FAILED).
    • (Begleitend gemäß Spezifikation) Dem_ClearPrestoredFreezeFrame(Dem_EventIdType EventId):
      • API zur manuellen Freigabe des Prestore-Puffers bei Abbruch der Auswertung (SWS_Dem_00807).

3. Dynamisches Verhalten & Sequenzablauf

Monitor Function                   Dem (Prestore Buffer)             Dem (Event Memory)
      |                                      |                                |
      |--- Step 1: Symptom erkannt --------->|                                |
      |    Dem_PrestoreFreezeFrame(EventId)  | (Freeze Frame synchron lesen   |
      |                                      |  und im Puffer sichern)        |
      |                                      |                                |
      |--- Step 2: Wartezeit / Debounce ---->|                                |
      |    (Status Evaluation)               |                                |
      |                                      |                                |
      |--- Dem_SetEventStatus(FAILED) ------>|                                |
      |                                      |--- Daten transferieren ------->|
      |                                      |    (Puffer freigeben)          |
      |                                 - ODER -                              |
      |--- Dem_SetEventStatus(PASSED) ------>|                                |
      |                                      | (Puffer verwerfen/freigeben)   |
  1. Schritt 1 – Symptomerkennung & Prestorage:
    • Die Überwachungsfunktion läuft (Monitor function running) und detektiert ein potenzielles Fehlersymptom ("maybe 'event failed' detected").
    • Der Monitor ruft unmittelbar Dem_PrestoreFreezeFrame(EventId) auf.
    • Der Dem fragt synchron die konfigurierten DID-Daten ab und speichert das Snapshot-Abbild im flüchtigen Prestore-Puffer ab (SWS_Dem_00461).
  2. Schritt 2 – Fehlerqualifikation & Evaluation:
    • Der Monitor verifiziert zusätzliche Bedingungen ("waiting for other additional conditions", z. B. Monitor-internes Debouncing, Bestätigungszyklen, Spannungs-/Drehzahlfenster).
    • Nach Abschluss der Evaluation ("Event Status evaluation") erfolgt der Aufruf von Dem_SetEventStatus:
      • Zweig FAILED (SWS_Dem_00464): Das Event qualifiziert als defekt. Der Dem übernimmt die zuvor gesicherten Daten aus dem Prestore-Puffer in den Event-Speicher und gibt den Prestore-Pufferplatz frei. Es findet keine erneute Datenerfassung zum späten Qualifikationszeitpunkt statt.
      • Zweig PASSED (SWS_Dem_00465): Das Event wird als fehlerfrei bewertet. Der Dem verwirft die gepufferten Freeze-Frame-Daten und gibt den Prestore-Puffer unverzüglich frei.

4. Normative Relevanz & Entwickler-Hinweise

  • Konfigurationspflichten (DemPrestoreFreezeframe):
    • Das Feature muss im Dem-Parameter DemPrestoreFreezeframe pro Event explizit auf TRUE konfiguriert sein (SWS_Dem_00261). Wird Dem_PrestoreFreezeFrame für ein unkonfiguriertes Event aufgerufen, erzeugt der Dem im Entwicklungsmodus einen DET-Fehler (DEM_E_PARAM_DATA / SWS_Dem_00969) und ignoriert den Aufruf.
  • Ressourcenallokation & Pufferlimitierung (DemMaxNumberPrestoredFF):
    • Die Anzahl der Prestore-Puffer ist im BSW-RAM statisch beschränkt. Mehrere zeitgleich unqualifizierte Events konkurrieren um dieselben Pufferplätze.
    • Entwickler müssen Überlaufstrategien beachten: Ist der Puffer erschöpft, wird ein neuer Prestore-Aufruf je nach Konfiguration verworfen oder ersetzt vorhandene Daten (SWS_Dem_00461).
  • Verhinderung von Pufferlecks (Deadlocks):
    • Wird ein Freeze Frame gepuffert, der Monitor bricht die Verifikation jedoch ab (z. B. Fahrzyklusende, ungültige Betriebsbedingungen ohne Dem_SetEventStatus), bleibt der Prestore-Puffer blockiert.
    • Der Monitor muss in solchen Fällen zwingend Dem_ClearPrestoredFreezeFrame(EventId) aufrufen, um den Pufferplatz für andere Events freizugeben (SWS_Dem_00808).
  • Synchronizität & Task-Laufzeit:
    • Dem_PrestoreFreezeFrame liest DIDs (z. B. via RTE-Ports) synchron im Kontext der aufrufenden Monitor-Task ein. Komplexe Freeze-Frame-Layouts belasten die WCET (Worst-Case Execution Time) der Monitor-Task unmittelbar im Schritt 1.

Versionsvergleich KI-generiert · gemini-3.8-flash (via agy)

R4.2.2 → R4.3.1 keine inhaltliche Änderung Vorgänger: FIG-b1c520f28266c4bb

Keine inhaltlichen Änderungen erkennbar.

R19-11 → R20-11 keine inhaltliche Änderung Nachfolger: FIG-e0914578f5a0b6f1

Keine inhaltlichen Änderungen erkennbar.

R23-11 → R24-11 keine inhaltliche Änderung Vorgänger: FIG-e0914578f5a0b6f1

Keine inhaltlichen Änderungen erkennbar.

R24-11 → R25-11 keine inhaltliche Änderung Nachfolger: FIG-430af12ff7b9a5d9

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Erkannte Spezifikationsbelege & Anforderungen auf dieser Seite

Vorkommen in AUTOSAR-Releases (4)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.3.1 AUTOSAR_SWS_DiagnosticEventManager S. 128 7.40 Figure 7.40: Example to use Dem_PrestoreFreezeFrame to prestore freeze frame data
R18-10_R4.4.0_R1.5.0 AUTOSAR_SWS_DiagnosticEventManager S. 127 7.40 Figure 7.40: Example to use Dem_PrestoreFreezeFrame to prestore freeze frame data
R19-11 AUTOSAR_SWS_DiagnosticEventManager S. 123 7.40 Figure 7.40: Example to use Dem_PrestoreFreezeFrame to prestore freeze frame data
R24-11 AUTOSAR_CP_SWS_DiagnosticEventManager S. 142 7.37 Figure 7.37: Example to use Dem_PrestoreFreezeFrame to prestore freeze frame data