DEENESPTFRRUARHIKOZHNL
AUTOSAR_CP_SWS_EthernetStateManager FIG-10414e5815900f9a 890 × 709 px 1 Release(s)

Figure 9.1: Network mode state machine - transition from no to full communication

SHA-256 Inhalts-Fingerabdruck: 10414e5815900f9a431d768cd655d323935e0c64170c24a475114b7f150fe8da
✦ KI-generierte Bildanalyse & technische Beschreibung Modell: gemini-3.8-flash (via agy) · Rezept figure-description@2 · erstellt am 2026-10-07

1. Diagrammtyp & Architektur-Kontext

  • Diagrammtyp: UML-Sequenzdiagramm (Interaktionsdiagramm).
  • Technischer Zweck: Detaillierung des asynchronen Modusübergangs des Ethernet State Managers (EthSM) vom Ruhezustand (ETHSM_STATE_OFFLINE, korrespondierend zu COMM_NO_COMMUNICATION) in den vollen Betriebsmodus (ETHSM_STATE_ONLINE, korrespondierend zu COMM_FULL_COMMUNICATION).
  • Funktionale Einordnung: AUTOSAR Classic Platform (CP), Communication Stack (Ethernet). Dient der orchestrierten Hochlauf-Koordination zwischen System- und Kommunikationsmanagement (ComM, BswM), Netzwerk-/Transport-Stack (TcpIp) und Hardware-Abstraktion (EthIf).

2. Komponenten, Entitäten & Schnittstellen

Module / Akteure («module»)
  • ComM: Communication Manager; fordert den Kommunikationsmodus über ein logisches Netzwerk (NetworkHandle / Channel) an.
  • EthSM: Ethernet State Manager; zentrale Ethernet-Zustandsmaschine.
  • EthIf: Ethernet Interface; Hardware-Abstraktionsschicht für Ethernet-Controller und Transceiver (PHY).
  • TcpIp: AUTOSAR TCP/IP-Stack; verwaltet IP-Adressierung, Routing und Socket-Subsysteme.
  • BswM: Basic Software Mode Manager; empfängt Zustandsindikationen zur systemweiten Modus-Arbitrierung.
Schnittstellen & Funktionsaufrufe
  • EthSM_RequestComMode(NetworkHandle, ComM_Mode): Synchroner Modusaufruf von ComM an EthSM (ComM_Mode := COMM_FULL_COMMUNICATION).
  • EthIf_SetControllerMode(CtrlIdx, CtrlMode): Synchrone Steuerungs-API von EthSM an EthIf (CtrlMode := ETH_MODE_ACTIVE).
  • EthSM_CtrlModeIndication(CtrlIdx, CtrlMode): Asynchroner Bestätigungs-Callback von EthIf an EthSM.
  • EthSM_TrcvLinkStateChg(NetworkHandle, TransceiverLinkState): Asynchrone Link-Statusmeldung von EthIf an EthSM (TransceiverLinkState := ETHTRCV_LINK_STATE_ACTIVE).
  • TcpIp_RequestComMode(CtrlIdx, State): Modusanforderung von EthSM an den TCP/IP-Stack (State := TCPIP_STATE_ONLINE).
  • EthSM_TcpIpModeIndication(CtrlIdx, TcpIpState): Asynchroner Callback von TcpIp an EthSM (TcpIpState := TCPIP_STATE_ONLINE).
  • BswM_EthSM_CurrentState(Network, CurrentState): Modus-Notifikation von EthSM an BswM (Parameter: ETHSM_STATE_WAIT_TRCVLINK, ETHSM_STATE_WAIT_ONLINE, ETHSM_STATE_ONLINE).
  • ComM_BusSM_ModeIndication(Channel, ComMode): Finale Bestätigung des erreichten Bus-Modus an ComM (ComMode := COMM_FULL_COMMUNICATION).

3. Dynamisches Verhalten & Sequenzablauf

  1. Initialer Trigger:
    • Ausgangszustand: EthSM Initial State: ETHSM_STATE_OFFLINE.
    • ComM ruft synchron EthSM_RequestComMode(NetworkHandle, COMM_FULL_COMMUNICATION) auf.
  2. Controller-Aktivierung:
    • EthSM fordert via EthIf_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE) die Aktivierung des Ethernet-Controllers an.
    • EthIf meldet nach erfolgreicher Hardware-Initialisierung/Freigabe asynchron EthSM_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE).
  3. Statuswechsel auf Transceiver-Warten:
    • EthSM wechselt intern in ETHSM_STATE_WAIT_TRCVLINK.
    • Meldung des Zwischenzustands via BswM_EthSM_CurrentState(Network, ETHSM_STATE_WAIT_TRCVLINK).
  4. Transceiver Link-Etablierung:
    • Sobald PHY-seitig der Link steht (z. B. nach Autonegotiation), signalisiert EthIf dies über den Callback EthSM_TrcvLinkStateChg(NetworkHandle, ETHTRCV_LINK_STATE_ACTIVE).
  5. TCP/IP-Stack-Aktivierung:
    • EthSM triggert TcpIp_RequestComMode(CtrlIdx, TCPIP_STATE_ONLINE).
    • EthSM wechselt intern in ETHSM_STATE_WAIT_ONLINE.
    • Meldung des Zwischenzustands via BswM_EthSM_CurrentState(Network, ETHSM_STATE_WAIT_ONLINE).
  6. TCP/IP-Bereitschaft:
    • Nach Zuweisung einer IP-Adresse bzw. Abschluss der Stack-Initialisierung bestätigt TcpIp die Bereitschaft via Callback EthSM_TcpIpModeIndication(CtrlIdx, TCPIP_STATE_ONLINE).
  7. Zustandsabschluss (Vollkommunikation):
    • EthSM wechselt in ETHSM_STATE_ONLINE.
    • Notifikation an BswM via BswM_EthSM_CurrentState(Network, ETHSM_STATE_ONLINE).
    • Abschlussmeldung an ComM via ComM_BusSM_ModeIndication(Channel, COMM_FULL_COMMUNICATION).

4. Normative Relevanz & Entwickler-Hinweise

  • Asynchrone Kaskade & Kontext-Trennung: Der Hochlauf ist streng entkoppelt. Treiber- und Stack-Implementierer dürfen keine blockierenden Polling-Schleifen in den Request-APIs ausführen. Sämtliche Indikationen (CtrlModeIndication, TrcvLinkStateChg, TcpIpModeIndication) müssen aus Task-Kontexten (über die jeweiligen zyklischen *_MainFunction-Aufrufe) oder ISRs erfolgen.
  • Mapping & Adressierungsdomänen:
    • NetworkHandle (ComMChannel / EthSMNetwork) bildet logische Netzwerke ab.
    • CtrlIdx adressiert die konkrete Controller- bzw. EthIf-Instanz.
    • Das Mapping EthSMNetwork → EthSMController → EthIfController muss konsistent über den EcuC konfiguriert sein, da Modusaufrufe zwischen diesen Domänen übersetzt werden.
  • Timeout-Management:
    • Das Verharren in ETHSM_STATE_WAIT_TRCVLINK oder ETHSM_STATE_WAIT_ONLINE muss durch konfigurierbare EthSM-Timer überwacht werden.
    • Bei Ausbleiben des Link-Ups oder der IP-Zuweisung greifen Dem-Fehlereinträge und konfigurierte Recovery-Rückfallebenen zurück nach OFFLINE.
  • BswM-Regelwerk: BswM empfängt jeden Zwischenzustand als BswMModeRequestPort. Entwickler müssen sicherstellen, dass abhängige Protokolle (z. B. SoAd, DoIP, Sd) erst bei CurrentState := ETHSM_STATE_ONLINE freigegeben werden, um PDU-Verwerfungen oder Socket-Fehler während des Link- und IP-Aufbaus zu verhindern.

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

R23-11 → R24-11 redaktionell Nachfolger: FIG-3778f079f65bb21a
  • Lebenslinien-Kopf EthSM: UML-Dekompositionssymbol (zwei verbundene Ovale) in der rechten unteren Ecke ergänzt.

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | TcpIp | «module» | BswM | «module» | ComM | «module» | EthSM | «module» | EthIf |          |     |  |  |   |  |      |  |  |  |             ! |           "  |        "  | EthSM_TcpIpModeIndication(CtrlIdx, TcpIpState := TCPIP_STATE_ONLINE) | EthSM_RequestComMode(NetworkHandle, ComM_Mode := COMM_FULL_COMMUNICATION) | BswM_EthSM_CurrentState(Network, CurrentState := ETHSM_STATE_WAIT_ONLINE) | BswM_EthSM_CurrentState(Network, CurrentState := ETHSM_STATE_WAIT_TRCVLINK) | BswM_EthSM_CurrentState(Network, CurrentState := ETHSM_STATE_ONLINE) | EthSM_CtrlModeIndication(CtrlIdx, CtrlMode := ETH_MODE_ACTIVE) | TcpIp_RequestComMode(CtrlIdx, State := TCPIP_STATE_ONLINE) | EthSM_TrcvLinkStateChg(NetworkHandle, TransceiverLinkState := ETHTRCV_LINK_STATE_ACTIVE) | ComM_BusSM_ModeIndication(Channel, ComMode := COMM_FULL_COMMUNICATION) | EthIf_SetControllerMode(CtrlIdx, CtrlMode := ETH_MODE_ACTIVE)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R23-11 AUTOSAR_CP_SWS_EthernetStateManager S. 39 9.1 Figure 9.1: Network mode state machine - transition from no to full communication