AUTOSAR_SWS_DiagnosticEventManager
FIG-b1c520f28266c4bb
784 × 288 px
1 Release(s)
Figure 7.38: Example to use Dem_PrestoreFreezeFrame to prestore freeze frame data
SHA-256 Inhalts-Fingerabdruck:
b1c520f28266c4bbc44cc0300c8303412eb67e224f1b411e03a211a8a3ac5c39
✦
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.
- Ausführende Diagnosefunktion (
- 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).
- Service-Interface
Dem_SetEventStatus(Dem_EventIdType EventId, Dem_EventStatusType EventStatus):- Meldet das finale Testergebnis (
DEM_EVENT_STATUS_PASSEDoderDEM_EVENT_STATUS_FAILED).
- Meldet das finale Testergebnis (
- (Begleitend gemäß Spezifikation)
Dem_ClearPrestoredFreezeFrame(Dem_EventIdType EventId):- API zur manuellen Freigabe des Prestore-Puffers bei Abbruch der Auswertung (
SWS_Dem_00807).
- API zur manuellen Freigabe des Prestore-Puffers bei Abbruch der Auswertung (
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) |
- 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).
- Die Überwachungsfunktion läuft (
- 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.
- Zweig
4. Normative Relevanz & Entwickler-Hinweise
- Konfigurationspflichten (
DemPrestoreFreezeframe):- Das Feature muss im Dem-Parameter
DemPrestoreFreezeframepro Event explizit aufTRUEkonfiguriert sein (SWS_Dem_00261). WirdDem_PrestoreFreezeFramefür ein unkonfiguriertes Event aufgerufen, erzeugt der Dem im Entwicklungsmodus einen DET-Fehler (DEM_E_PARAM_DATA/SWS_Dem_00969) und ignoriert den Aufruf.
- Das Feature muss im Dem-Parameter
- 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).
- Wird ein Freeze Frame gepuffert, der Monitor bricht die Verifikation jedoch ab (z. B. Fahrzyklusende, ungültige Betriebsbedingungen ohne
- Synchronizität & Task-Laufzeit:
Dem_PrestoreFreezeFrameliest 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.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.