DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_EthernetInterface FIG-e9cc4258f9d6866c 875 × 332 px 1 Release(s)

Figure 9.7: Link State Change

SHA-256 Inhalts-Fingerabdruck: e9cc4258f9d6866cb39587b58f691e3cf669397d68cbe3d8d3277402b179fab5
✦ 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 (Interaction Diagram).
  • Architektur-Kontext: AUTOSAR Classic Platform (Release R4.0.3), Communication Stack, Ethernet-Subsystem (BSW).
  • Funktionale Einordnung: Dargestellt wird die zyklische Überwachung und Propagierung von Link-Statusänderungen (Ethernet PHY Link Up/Down) mittels Polling über das Ethernet Interface (EthIf) an übergeordnete Schichten (Upper Layer, typischerweise EthSM). In Release R4.0.3 ist dieser Polling-Mechanismus architekturell innerhalb der Empfangs-Hauptfunktion (EthIf_MainFunctionRx) verankert.

2. Komponenten, Entitäten & Schnittstellen

Akteure & Lifelines
  • UL (Upper Layer): Generische Repräsentation der übergeordneten BSW-Schicht, primär der Ethernet State Manager (EthSM), optional Netzwerkmanagement oder IP-Stack (TcpIp).
  • «module» :EthIf: BSW-Schicht Ethernet Interface (HAL-Abstraktion). Kapselt Controller- und Transceiver-Hardwaretreiber und verwaltet Controller-Indizes (CtrlIdx).
  • «module» :EthTrcv: MCAL-/Hardwareabstraktions-Treiber Ethernet Transceiver Driver. Bedient die Hardwareschnittstelle zum physischen Ethernet-PHY (z. B. via MDIO/SMI).
Schnittstellen & Aufrufsignaturen
  • EthIf_MainFunctionRx():
    • Typ: Schedulable Entity / zyklische BSW-Hauptfunktion (Aufruf über BSW-Scheduler / SchM).
    • Kontext: Führt im R4.0.3-Standard neben dem Frame-Empfang auch das Polling des Transceiver-Link-Status aus.
  • EthTrcv_GetLinkState(Std_ReturnType, uint8, EthTrcv_LinkStateType**):
    • Typ: Synchrone MCAL-Treiber-API (EthTrcv_GetLinkState(uint8 TrcvIdx, EthTrcv_LinkStateType* LinkStatePtr)).
    • Parameter: TrcvIdx (Index des Transceivers), Zeiger auf Ergebnisvariable vom Typ EthTrcv_LinkStateType (ETHTRCV_LINK_STATE_ACTIVE, ETHTRCV_LINK_STATE_DOWN).
    • Rückgabewert: Std_ReturnType (E_OK, E_NOT_OK).
  • UL_LinkStateChange(CtrlIdx, LinkState):
    • Typ: Konfigurierbarer synchroner Callback/Notification-Callout.
    • Implementierung: Typischerweise EthSM_TrcvLinkStateChg(uint8 CtrlIdx, EthTrcv_LinkStateType TransceiverLinkState).
    • Parameter: CtrlIdx (logischer EthIf-Controller-Index), LinkState (neuer Transceiver-Status).

3. Dynamisches Verhalten & Sequenzablauf

  1. Zyklischer Trigger: Der BSW Scheduler (OS Task) ruft die periodische Funktion EthIf_MainFunctionRx() auf der Instanz :EthIf auf.
  2. Synchrones Transceiver-Polling: EthIf iteriert über die konfigurierten Transceiver und ruft synchron EthTrcv_GetLinkState(...) auf :EthTrcv auf, um den aktuellen PHY-Status über die Hardwareschnittstelle (MII/MDIO) abzufragen.
  3. Zustandsprüfung / Filterung: :EthTrcv liefert den Status zurück. EthIf vergleicht das Ergebnis mit dem intern gecachten Link-Status des jeweiligen Controllers/Transceivers.
  4. Ereignis-Notification: Weicht der ausgelesene Status vom vorherigen Status ab (Flankenwechsel Link Up ↔ Link Down), transformiert EthIf den TrcvIdx auf den zugeordneten CtrlIdx und meldet die Statusänderung synchron via UL_LinkStateChange(CtrlIdx, LinkState) an den UL (EthSM).
  5. Rückkehr: Nach Abarbeitung der Statusänderung im State Manager kehrt der Kontrollfluss zu EthIf zurück und EthIf_MainFunctionRx() schließt ihren Ausführungszyklus ab.

4. Normative Relevanz & Entwickler-Hinweise

  • Kopplung an Rx-Task (R4.0.3-Spezifikum): In R4.0.3 erfolgt das Polling innerhalb von EthIf_MainFunctionRx. Entwickler müssen beachten, dass langsame Hardware-Zugriffe (z. B. blockierendes MDIO-Bitbanging oder synchrone SMI-Transfers in EthTrcv_GetLinkState) direkte Jitter- und Latenzeffekte auf das Rx-Packet-Processing haben können. (Hinweis: In späteren AUTOSAR-Releases wurde dies in separate State-MainFunctions wie EthIf_MainFunctionState entkoppelt).
  • Konfigurationsparameter (ECUC):
    • Verknüpfung der Callbacks über EthIfDispatchNotification bzw. EthIfTrcvLinkStateChgNotificationFunction (statische Bindung auf EthSM_TrcvLinkStateChg).
    • Zuordnung der Entitäten über EthIfEthTrcvRef und Zuordnung des logischen EthIfCtrl zum physischen EthTrcv.
  • Link-Prellen & Flapping: Der Treiber muss ein Prellen des physikalischen Links (z. B. während der Auto-Negotiation) berücksichtigen. Statuswechsel sollten erst signalisiert werden, wenn der Hardware-Link stabil ist, um kaskadierende Zustandswechsel im EthSM (Mode-Request-Kaskaden, IP-Adressfreigaben im TcpIp) zu verhindern.
  • Fehlerbehandlung: Schlägt EthTrcv_GetLinkState mit E_NOT_OK fehl, darf EthIf keine Zustandsänderung an den UL melden; es erfolgt eine Meldung an das DET (ETHIF_E_INV_TRCV_IDX bzw. Laufzeitfehler je nach Spezifikationsstand).

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

R4.0.3 → R4.1.3 normative Änderung Nachfolger: FIG-ecaee22910a6e665
  • EthTrcv_GetLinkState: Parameter EthTrcv_LinkStateType** korrigiert zu EthTrcv_LinkStateType* (einfacher Zeiger statt Doppelzeiger).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

UL «module» | :EthIf | «module» | :EthTrcv | EthIf_MainFunctionRx() | EthTrcv_GetLinkState(Std_ReturnType, uint8, EthTrcv_LinkStateType**) | UL_LinkStateChange(CtrlIdx, LinkState)

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R4.0.3 AUTOSAR_SWS_EthernetInterface S. 49 9.7 Figure 9.7: Link State Change