AUTOSAR_CP_SWS_EthernetStateManager
FIG-3778f079f65bb21a
890 × 709 px
1 Release(s)
Figure 9.1: Network mode state machine - transition from no to full communication
SHA-256 Inhalts-Fingerabdruck:
3778f079f65bb21a6828fe0fe415525f52d3984f1923719ee3316bcde29f9677
✦
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
- Diagrammtyp: UML-Sequenzdiagramm (Interaktionsdiagramm).
- Technischer Zweck: Detaillierung des asynchronen Modusübergangs des Ethernet State Managers (
EthSM) vom Ruhezustand (ETHSM_STATE_OFFLINE, korrespondierend zuCOMM_NO_COMMUNICATION) in den vollen Betriebsmodus (ETHSM_STATE_ONLINE, korrespondierend zuCOMM_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 vonComManEthSM(ComM_Mode := COMM_FULL_COMMUNICATION).EthIf_SetControllerMode(CtrlIdx, CtrlMode): Synchrone Steuerungs-API vonEthSManEthIf(CtrlMode := ETH_MODE_ACTIVE).EthSM_CtrlModeIndication(CtrlIdx, CtrlMode): Asynchroner Bestätigungs-Callback vonEthIfanEthSM.EthSM_TrcvLinkStateChg(NetworkHandle, TransceiverLinkState): Asynchrone Link-Statusmeldung vonEthIfanEthSM(TransceiverLinkState := ETHTRCV_LINK_STATE_ACTIVE).TcpIp_RequestComMode(CtrlIdx, State): Modusanforderung vonEthSMan den TCP/IP-Stack (State := TCPIP_STATE_ONLINE).EthSM_TcpIpModeIndication(CtrlIdx, TcpIpState): Asynchroner Callback vonTcpIpanEthSM(TcpIpState := TCPIP_STATE_ONLINE).BswM_EthSM_CurrentState(Network, CurrentState): Modus-Notifikation vonEthSManBswM(Parameter:ETHSM_STATE_WAIT_TRCVLINK,ETHSM_STATE_WAIT_ONLINE,ETHSM_STATE_ONLINE).ComM_BusSM_ModeIndication(Channel, ComMode): Finale Bestätigung des erreichten Bus-Modus anComM(ComMode := COMM_FULL_COMMUNICATION).
3. Dynamisches Verhalten & Sequenzablauf
- Initialer Trigger:
- Ausgangszustand:
EthSM Initial State: ETHSM_STATE_OFFLINE. ComMruft synchronEthSM_RequestComMode(NetworkHandle, COMM_FULL_COMMUNICATION)auf.
- Ausgangszustand:
- Controller-Aktivierung:
EthSMfordert viaEthIf_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)die Aktivierung des Ethernet-Controllers an.EthIfmeldet nach erfolgreicher Hardware-Initialisierung/Freigabe asynchronEthSM_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE).
- Statuswechsel auf Transceiver-Warten:
EthSMwechselt intern inETHSM_STATE_WAIT_TRCVLINK.- Meldung des Zwischenzustands via
BswM_EthSM_CurrentState(Network, ETHSM_STATE_WAIT_TRCVLINK).
- Transceiver Link-Etablierung:
- Sobald PHY-seitig der Link steht (z. B. nach Autonegotiation), signalisiert
EthIfdies über den CallbackEthSM_TrcvLinkStateChg(NetworkHandle, ETHTRCV_LINK_STATE_ACTIVE).
- Sobald PHY-seitig der Link steht (z. B. nach Autonegotiation), signalisiert
- TCP/IP-Stack-Aktivierung:
EthSMtriggertTcpIp_RequestComMode(CtrlIdx, TCPIP_STATE_ONLINE).EthSMwechselt intern inETHSM_STATE_WAIT_ONLINE.- Meldung des Zwischenzustands via
BswM_EthSM_CurrentState(Network, ETHSM_STATE_WAIT_ONLINE).
- TCP/IP-Bereitschaft:
- Nach Zuweisung einer IP-Adresse bzw. Abschluss der Stack-Initialisierung bestätigt
TcpIpdie Bereitschaft via CallbackEthSM_TcpIpModeIndication(CtrlIdx, TCPIP_STATE_ONLINE).
- Nach Zuweisung einer IP-Adresse bzw. Abschluss der Stack-Initialisierung bestätigt
- Zustandsabschluss (Vollkommunikation):
EthSMwechselt inETHSM_STATE_ONLINE.- Notifikation an
BswMviaBswM_EthSM_CurrentState(Network, ETHSM_STATE_ONLINE). - Abschlussmeldung an
ComMviaComM_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.CtrlIdxadressiert die konkrete Controller- bzw. EthIf-Instanz.- Das Mapping
EthSMNetwork→EthSMController→EthIfControllermuss konsistent über den EcuC konfiguriert sein, da Modusaufrufe zwischen diesen Domänen übersetzt werden.
- Timeout-Management:
- Das Verharren in
ETHSM_STATE_WAIT_TRCVLINKoderETHSM_STATE_WAIT_ONLINEmuss 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.
- Das Verharren in
- BswM-Regelwerk: BswM empfängt jeden Zwischenzustand als
BswMModeRequestPort. Entwickler müssen sicherstellen, dass abhängige Protokolle (z. B.SoAd,DoIP,Sd) erst beiCurrentState := ETHSM_STATE_ONLINEfreigegeben werden, um PDU-Verwerfungen oder Socket-Fehler während des Link- und IP-Aufbaus zu verhindern.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.