DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_DiagnosticCommunicationManager FIG-cffc7be269f63106 490 × 485 px 1 Release(s)

Figure 7.12: IOSequence 00

SHA-256 Inhalts-Fingerabdruck: cffc7be269f63106dae33767655f6003d219f3c33eb1c8c39c825e4590d53a5b
✦ 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

UML-Sequenzdiagramm (sd IOSequence 00) im Kontext der AUTOSAR Classic Platform (SWS Diagnostic Communication Manager, DCM). Es modelliert die asynchrone Interaktion bei einer Ein-/Ausgabesteuerung (UDS Service 0x2F – InputOutputControlByIdentifier) mit dem Steuerparameter returnControlToECU (0x00) über die Laufzeitumgebung (RTE) zu einer Software-Komponente (SWC) unter Verwendung von Sender-Receiver-Kommunikation mit Aktualisierungs-Flags (IsUpdated).

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Lebenslinien (Akteure/Komponenten):

  • Tester: Externes Diagnose-Prüfgerät (UDS-Client).
  • Dcm: AUTOSAR Diagnostic Communication Manager (BSW-Modul).
  • RTE: AUTOSAR Runtime Environment (Kommunikationsinfrastruktur).
  • SWC: Anwendungs-Software-Komponente (Application Software Component).

Schnittstellen und Datenelemente:

  • Diagnosenachrichten: 2F D001 00 80 (Request), 6F D001 00 1234 (Positive Response).
  • Sender-Receiver-Schnittstellen / RTE-APIs:
    • Write IOControlRequest_{DID} / Datenelement underControl = ~CEMR & underControl
    • Write IOControlRequest_{DID}.IOOperationRequest mit Parametern controlEnableMask = 0x80, inputOutputControlParameter = 0x00 und RTE IsUpdated-Flag
    • Read DataServices_{DID} mit Rückgabewert data = 0x1234
    • Read IOControlRequest_{DID} (Rückgabe underControl)
    • IsUpdatedWriteIOControlRequest_{DID}().IOOperationRequest (Rückgabe status)
    • Read IOControlRequest_{DID}.IOOperationRequest
    • Write IOControlResponse_{DID} mit Parametern IOOperationResponse = 0x00 und {Ack|Nack}
    • Write DataServices_{DID}(data = 0x1234)
  • Lokale Operation: Process IOControlRequest innerhalb der SWC.

3. Dynamisches Verhalten & Sequenzablauf

  1. Der Tester sendet die Diagnoseanfrage 2F D001 00 80 (returnControlToECU, DID 0xD001, Control Enable Mask Record / CEMR 0x80) an das Dcm.
  2. Das Dcm schreibt über die RTE den Zustand underControl = ~CEMR & underControl (Write IOControlRequest_{DID}).
  3. Das Dcm schreibt die Operationsdaten controlEnableMask = 0x80, inputOutputControlParameter = 0x00 via Write IOControlRequest_{DID}.IOOperationRequest in die RTE, wodurch das interne IsUpdated-Flag gesetzt wird.
  4. Im kombinierten Fragment alt pos Response liest das Dcm über Read DataServices_{DID} die aktuellen Daten (0x1234) aus der RTE und sendet die positive UDS-Antwort 6F D001 00 1234 an den Tester.
  5. Zeitlich entkoppelt fragt die SWC über die RTE Read IOControlRequest_{DID} den Wert underControl ab.
  6. Die SWC prüft über IsUpdatedWriteIOControlRequest_{DID}().IOOperationRequest den Aktualisierungsstatus (status).
  7. Im kombinierten Fragment alt check IsUpdated liest die SWC bei gesetztem Flag den Operationsauftrag via Read IOControlRequest_{DID}.IOOperationRequest, verarbeitet die Anforderung (Process IOControlRequest), setzt IOOperationResponse = 0x00 und bestätigt den Empfang über Write IOControlResponse_{DID}({Ack|Nack}).
  8. Abschließend aktualisiert die SWC den Datenwert via Write DataServices_{DID}(data = 0x1234) in der RTE.

4. Normative Relevanz & Entwickler-Hinweise

Das Diagramm veranschaulicht die Entkopplung zwischen synchroner Diagnoseverarbeitung im DCM und asynchroner Ausführung in der SWC bei Verwendung von Sender/Receiver-Kommunikation mit Übertragungsquittierung bzw. IsUpdated-Mechanismus. Entwickler von SWCs und DCM-Konfigurationen müssen sicherstellen, dass:

  • die DCM-Antwort an den Tester unmittelbar nach Aktualisierung der RTE-Puffer und Auslesen der Datenbasis erfolgt, ohne zwingend das Beenden der internen Abarbeitung durch die SWC abzuwarten;
  • die SWC zyklisch oder ereignisgesteuert den IsUpdated-Status pollt bzw. auswertet und die Rückmeldung (Ack|Nack) über die Response-Schnittstelle setzt;
  • die Bitmaskenlogik (underControl = ~CEMR & underControl) bei returnControlToECU die Freigabebits der CEMR in der Steuerungsmaske korrekt zurücksetzt.

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

R19-11 → R20-11 keine inhaltliche Änderung Vorgänger: FIG-46c1fc3695a247ce

Keine inhaltlichen Änderungen erkennbar.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

sd IOSequence 00 | Tester Dcm RTE SWC | 2F D001 00 80 Tester requests IOControl ⦁ DID D001 ⦁ returnControlToECU ⦁ CEMR 0x80 Write IOControlRequest_{DID} ⦁ underControl = ~CEMR & underControl) | Write IOControlRequest_{DID}.IOOperationRequest ⦁ controlEnableMask = 0x80 ⦁ inputOutputControlParameter = 0x00 ⦁ Set IsUpdated Flag | 6F D001 00 1234 | ⦁ IOOperationResponse = 0x00 ⦁ Set IsUpdated Flag | alt pos Response | alt check IsUpdated | [underControl]: | [Write IOControlResponse_{DID}({Ack|Nack}]: | [Process IOControlRequest]: | [Read IOControlRequest_{DID}]: | [positive response]: | [Read DataServices_{DID}]: | [Read IOControlRequest_{DID}.IOOperationRequest]: | [data = 0x1234]: | [status]: | [IsUpdatedWriteIOControlRequest_{DID}().IOOper...]: | [Write DataServices_{DID}(data = 0x1234)]:

Begleitender Spezifikationstext:

Specification of Diagnostic Communication Manager AUTOSAR CP R20-11 Note: The controlState is a separate data elment that it can be optionally processed by a data transformer to transform the byte stream into a composite type (see Figure 7.11: IO-Control with Sender/Receiver interfaces). An example of the Dcm S/R interaction is given in Figure 7.12 and Figure 7.13. For ReturnControlToECU the data from the request is provided to the application, the Dcm will continue to finalize the request after writing the data into the S/R ports. All other sub-functions will wait for the application providing the response 0x00 or an code. sd IOSequence 00 Tester Dcm RTE SWC 2F D001 00 80 Tester requests IOControl ⦁ DID D001 ⦁ returnControlToECU ⦁ CEMR 0x80 Write IOControlRequest_{DID} ⦁ underControl = ~CEMR & underControl) Write IOControlRequest_{DID}.IOOperationRequest ⦁ controlEnableMask = 0x80 ⦁ inputOutputControlParameter = 0x00 ⦁ Set IsUpdated Flag 6F D001 00 1234 ⦁ IOOperationResponse = 0x00 ⦁ Set IsUpdated Flag alt pos Response alt check IsUpdated [underControl]: [Write IOControlResponse_{DID}({Ack|Nack}]: [Process IOControlRequest]: [Read IOControlRequest_{DID}]: [positive response]: [Read DataServices_{DID}]: [Read IOControlRequest_{DID}.IOOperationRequest]: [data = 0x1234]: [status]: [IsUpdatedWriteIOControlRequest_{DID}().IOOper...]: [Write DataServices_{DID}(data = 0x1234)]: Figure 7.12: IOSequence 00 186 of 697 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R20-11 AUTOSAR_SWS_DiagnosticCommunicationManager S. 186 7.12 Figure 7.12: IOSequence 00