AUTOSAR_SWS_DiagnosticEventManager
FIG-7cc5097eeb9a251e
784 × 519 px
1 Release(s)
Figure 7.14: Example of a logical Dem event memory layout
SHA-256 Inhalts-Fingerabdruck:
7cc5097eeb9a251e7352e988d1f2b13b7c54f1de05cdfc217b85bf73dd9ff20a
✦
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: Konzeptionelles Speicherlayout- und Datenstruktur-Diagramm (logisches RAM/NVM-Speicherabbild) des AUTOSAR Classic BSW-Moduls
Dem(Diagnostic Event Manager). - Funktionale Einordnung: Dargestellt ist die Dekomposition des AUTOSAR-Fehlerspeichers (
Event Memory) in logische Speicherbereiche sowie die interne Strukturierung eines einzelnen Ereigniseintrags (Event Memory Entry). Das Modell definiert, wie Diagnoseereignisse (EventId), Umgebungsdaten (Freeze Frames/ Snapshot Data gem. UDS 0x19 0x04) und statistische Statusdaten (Extended Datagem. UDS 0x19 0x06) im flüchtigen Caching-Bereich organisiert und für die NVRAM-Persistierung viaNvM(Non-Volatile Memory Manager) bereitgestellt werden (Ref: SWS_Dem_00162, SWS_Dem_00548).
2. Komponenten, Entitäten & Schnittstellen
- Hierarchische Ebenen & Speicherbereiche:
Event Memory(Wurzelentität): Partitioniert in verschiedene funktionale Speicher:primary(Pflicht): Primärer Ereignisspeicher für standardmäßige On-Board-Diagnose.mirror(Optional): Spiegelspeicher für Entwicklungs-, Shadow- oder Werkstatt-Zwecke....(Erweiterbar): Permanent-DTC-Speicher (z. B. für OBD-II/WWH-OBD) oder herstellerspezifische User-Defined-Event-Memories (DemUserDefinedEventMemory).
Event Memory Layout(Instanzebene):event counter: Globaler Verdrängungs- bzw. Belegungszähler zur Protokollierung der Speicherhistorie und Auflösung von Verdrängungsstrategien (Displacement).1st entrybisnth entry: Bounded Array von Speicherplätzen ([1..DemMaxNumberEventEntry]).
- Detaillierter Eintrag (
Event Memory Entry):EventId: Primärschlüssel (Dem_EventIdType) zur Adressierung des konfigurativ zugeordneten DTCs.Freeze Frame 1,Freeze Frame 2*(Snapshot Data): Datensätze mit Erfassungszeitpunkt-Telemetrie. Beinhaltet Standard-Headerdaten wiemilage(Kilometerstand) undabs. time(Systemzeitstempel) sowie Nutzdaten-DIDs (FF Data 1bisFF Data m). Das Suffix*indiziert die Unterstützung multipler Snapshots pro Ereignis (DemMaxNumberFreezeFrameRecords).Extended Data: Zustands- und Verlaufsdaten wiecondition byte(interner Zustandsvektor),frequency counter 1(Fehlerauftrittszähler / Occurrence Counter), Fault Detection Counter (FDC) und Aging Counter.
- Heterogenität (
ev. rel. data o/p): Die Einträge2nd entrybisnth entryadaptieren das Layout des ersten Eintrags, besitzen jedoch ereignisindividuelle Datenbreiten und Record-Zusammenstellungen (DemExtendedDataRecordClass,DemFreezeFrameRecordClass).
3. Dynamisches Verhalten & Sequenzablauf
- Qualifikation & Allokation:
- Ein Monitor meldet ein Fehlerereignis via
Dem_SetEventStatus(EventId, DEM_EVENT_STATUS_FAILED). - Nach internem Debouncing setzt das Dem das UDS-Statusbyte (Bit 0
testFailed, Bit 2pendingDTC, Bit 3confirmedDTC). - Ist das Ereignis speicherrelevant und noch kein Eintrag vorhanden, alloziiert das Dem einen freien Slot im RAM. Sind alle n Slots belegt, triggert der Verdrängungsalgorithmus basierend auf DTC-Priorität (
DemDTCPriority), Alter (event counter) und Status (SWS_Dem_00548).
- Ein Monitor meldet ein Fehlerereignis via
- Datenerfassung (Freeze Frame & Extended Data):
- Snapshot Capture (SWS_Dem_00329): Dem triggert synchron über R-Ports (CS-Interface
DataServices_<DataElement>) oder C-Callbacks das Auslesen der konfigurierten DIDs aus den Applikations-SWCs / Sensoren und serialisiertFF Data 1..min den Puffer. - Extended Data Update (SWS_Dem_00330): Inkrementierung des
frequency counterund Aktualisierung herstellerspezifischer Zähler direkt im RAM-Block.
- Snapshot Capture (SWS_Dem_00329): Dem triggert synchron über R-Ports (CS-Interface
- Persistierung (NvM-Interaktion):
- Der Eintrag wird als modifiziert markiert (
dirty). Die Übergabe an denNvMerfolgt asynchron im zyklischen Taskkontext (Dem_MainFunction) überNvM_WriteBlockoder gebündelt beim Shutdown (Dem_Shutdown).
- Der Eintrag wird als modifiziert markiert (
4. Normative Relevanz & Entwickler-Hinweise
- Dimensionierung & Worst-Case-Sizing:
- Im Standard-AUTOSAR-Design existiert pro Event Memory ein einheitlicher Slot-Pool. Um Fragmentierung zu vermeiden, muss jeder RAM-/NVM-Slot statisch auf die maximal mögliche Bytegröße (Worst-Case über alle zugeordneten Events hinsichtlich DID- und Extended-Data-Längen) ausgelegt werden, sofern kein proprietäres Packing/Serializing im BSW-Stack konfiguriert ist.
- Konfigurationsparameter (ARXML / BSW-Konfigurator):
- Speichergröße:
DemMaxNumberEventEntryPrimary,DemMaxNumberEventEntryMirror. - Freeze Frames:
DemFreezeFrameRecordClass,DemDidClass,DemCaptureEventClass. - Extended Data:
DemExtendedDataRecordClassmit Zuordnung derDemExtendedDataNumber(0x01–0xEF gem. ISO 14229-1).
- Speichergröße:
- Laufzeit- & Echtzeitrestriktionen:
- Da DID-Read-Callbacks für Freeze Frames im Kontext der Fehlerqualifikation aufgerufen werden, dürfen die zugrunde liegenden SWC-Runnables keine blockierenden Operationen ausführen.
- Hohe Fehlerfrequenzen mit ständigen NVRAM-Writes bedrohen die Flash-Endurance; Entwickler müssen NVM-Schreibfilter (
DemNvRamBlockId,DemImmediateNvStorage) restriktiv parametrieren.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.