DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_TimeSyncOverEthernet FIG-00a638f01dcb1541 439 × 899 px 1 Release(s)

Figure 10: Time Aware Bridge without GTM as Management CPU [Sync/Follow_Up Tx]

SHA-256 Inhalts-Fingerabdruck: 00a638f01dcb154175a853dd1fcd42389203021c9864629bbe79e1561563bef4
✦ 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 zur Darstellung des Sendevorgangs von PTP/gPTP-Zeitstempelnachrichten (Sync und Follow_Up) über ein Ethernet-Interface bei einer Time-Aware Bridge ohne GTM als Management-CPU innerhalb der AUTOSAR-Classic-Architektur. Es zeigt die Interaktion zwischen dem zeitsynchronisierenden Modul EthTSyn und der Abstraktionsschicht EthIf.

2. Komponenten, Entitäten & Schnittstellen

Beteiligte Entitäten sind die Software-Module EthTSyn und EthIf (jeweils mit dem Stereotyp «module») als UML-Lebenslinien. Schnittstellen und Operationen:

  • EthIf_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_FrameType, uint8, Eth_BufIdxType**, uint8***, uint16**)
  • EthIf_SetSwitchMgmtInfo(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, MgmtInfoPtr: EthSwt_MgmtInfoType*): Std_ReturnType
  • EthIf_SwitchEnableTimeStamping(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, MgmtInfo: EthSwt_MgmtInfoType**): Std_ReturnType
  • EthIf_Transmit(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, FrameType: Eth_FrameType, TxConfirmation: boolean, LenByte: uint16, PhysAddrPtr: const uint8*)
  • EthTSyn_TxConfirmation(CtrlIdx: uint8, BufIdx: Eth_BufIdxType)
  • EthIf_GetTxMgmtObject(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, **MgmtObjectPtr: EthSwt_MgmtObjectType*)
  • EthTSyn_MainFunction()

Zugehörige Notiz: Switch-Port specific handling.

3. Dynamisches Verhalten & Sequenzablauf

  1. Für PTP-Nachrichtentypen Type == Sync || Follow_Up fordert EthTSyn synchron einen Sendepuffer bei EthIf über EthIf_ProvideTxBuffer an.
  2. Wenn Schalterverwaltung aktiviert ist (opt EthIf Tx Switch management info activation mit Guard [EthIfSwitchManagementSupport == ON]), setzt EthTSyn über EthIf_SetSwitchMgmtInfo die Schalter-Management-Informationen.
  3. Wenn globale Zeitunterstützung aktiv ist (opt EthIf Global Time Support mit Guard [EthIfGlobalTimeSupport == ON]), aktiviert EthTSyn über EthIf_SwitchEnableTimeStamping das Hardware-Zeitstempeln.
  4. Falls es sich um eine Follow-Up-Nachricht handelt ([Type == Follow_Up]:), aktualisiert EthTSyn intern das Korrekturfeld: correctionField += (T7-T4);.
  5. EthTSyn startet das Senden über EthIf_Transmit.
  6. Nach dem Versand ruft EthIf die Bestätigung EthTSyn_TxConfirmation auf.
  7. Bei aktiviertem Schalter-Management (opt EthIf Tx Switch management info processing mit Guard [EthIfSwitchManagementSupport == ON]) und für [Type == Sync]: ruft EthTSyn synchron EthIf_GetTxMgmtObject auf; bei erfolgreicher Rückgabe ([== E_OK]:) speichert EthTSyn die Referenz: sedTxMgmtObjectPtr = *MgmtObjectPtr;.
  8. In einem weiteren Block opt EthIf Tx Switch management info processing ruft EthTSyn zyklisch die interne Funktion EthTSyn_MainFunction() auf.
  9. Wenn Switch-Index, Switch-Port-Index und Eigentümerschaft übereinstimmen ([(*MgmtInfoPtr->SwitchIdx == usedTxMgmtObjectPtr->MgmtInfo.SwitchIdx) && (*MgmtInfoPtr->SwitchPortIdx == usedTxMgmtObjectPtr->MgmtInfo.SwitchPortIdx) && (usedRxMgmtObjectPtr->Ownership == ETHSWT_MGMT_OBJ_OWNED_BY_<UPPER_LAYER>)]:) und die Zeitstempel bereitstehen (usedTxMgmtObject timestamps ready to use), wird für [Type == Sync]: der Port-Egress-Zeitstempel T7 ausgelesen (Get Port egress timestamp T7).
  10. Anschließend gibt EthTSyn das Management-Objekt frei: usedTxMgmtObject->Ownership = ETHSWT_MGMT_OBJ_UNUSED.

4. Normative Relevanz & Entwickler-Hinweise

Die Zeitstempelbehandlung und Pufferüberwachung für Switches stützt sich auf Management-Objekte (EthSwt_MgmtObjectType). Zeitstempel werden nicht über Callback-Indikationen bezogen, sondern über EthIf_GetTxMgmtObject referenziert und in der zyklischen Hauptfunktion EthTSyn_MainFunction nach Prüfung von Port-Matching und Besitzrechten (Ownership) verarbeitet sowie anschließend wieder freigegeben.

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

R4.3.1 → R19-11 normative Änderung Vorgänger: FIG-508a02085b68cef7
  • Stereotyp «module» über den Lebenslinien EthTSyn und EthIf ergänzt.
  • Methoden-Signaturen formal überarbeitet: Rückgabetyp als erstes Argument return: ... bzw. Signaturform angepasst (EthIf_ProvideTxBuffer, EthIf_SetSwitchMgmtInfo, EthIf_SwitchEnableTimeStamping, EthIf_Transmit mit PhysAddrPtr: const uint8*).
  • Datentyp von MgmtInfo in EthIf_SwitchEnableTimeStamping von EthSwt_MgmtInfoType zu EthSwt_MgmtInfoType** geändert.
  • Neuer synchroner Abruf EthIf_GetTxMgmtObject(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, **MgmtObjectPtr: EthSwt_MgmtObjectType*) innerhalb des optionalen Blocks opt EthIf Tx Switch management info processing ([EthIfSwitchManagementSupport == ON]) unter Bedingung [Type == Sync]: mit Zuweisung [== E_OK]: sedTxMgmtObjectPtr = *MgmtObjectPtr;.
  • Ersetzung der asynchronen Callback-Meldungen EthTSyn_SwitchIngressTimeStampIndication und EthTSyn_SwitchEgressTimeStampIndication (ehemals im Block opt EthSwt Global Time Support) durch zyklische Abfrage via EthTSyn_MainFunction() im Block opt EthIf Tx Switch management info processing ([EthIfSwitchManagementSupport == ON]).
  • Interne Synchronisations- und Freigabeschritte in EthTSyn ergänzt: Prüfung auf passende Switch-/Port-Zuordnung und Eigentümerschaft (usedRxMgmtObjectPtr->Ownership == ETHSWT_MGMT_OBJ_OWNED_BY_<UPPER_LAYER>), Auswertung usedTxMgmtObject timestamps ready to use und Freigabe usedTxMgmtObject->Ownership = ETHSWT_MGMT_OBJ_UNUSED.
  • Kommentar-Notiz Switch-Port specific handling bindet an zusätzliche/geänderte Interaktionsfragmente an.
R19-11 → R20-11 normative Änderung Nachfolger: FIG-56fd887422d1ce6b
  • Signatur von EthTSyn_TxConfirmation um den Rückgabewert-Parameter Result: Std_ReturnType erweitert (EthTSyn_TxConfirmation(CtrlIdx: uint8, BufIdx: Eth_BufIdxType, Result: Std_ReturnType)).

Zugeordnete Anforderungen

Diese Angaben zeigt der Versions-Explorer.

Aus dem Dokument extrahierter Text & Kontext

Beschriftungen im Schaubild:

«module» | EthIf | «module» | EthTSyn | opt EthIf Tx Switch management info activation | [EthIfSwitchManagementSupport == ON] Switch-Port specific handling | opt EthIf Global Time Support | [EthIfGlobalTimeSupport == ON] | opt EthIf Tx Switch management info processing | [EthIfSwitchManagementSupport == ON] | opt EthIf Tx Switch management info processing | [EthIfSwitchManagementSupport == ON] | Type == Sync || Follow_Up | [(*MgmtInfoPtr->SwitchIdx == usedTxMgmtObjectPtr->MgmtInfo.SwitchIdx) && (*MgmtInfoPtr->SwitchPortIdx == usedTxMgmtObjectPtr->MgmtInfo.SwitchPortIdx) && (usedRxMgmtObjectPtr->Ownership == ETHSWT_MGMT_OBJ_OWNED_BY_<UPPER_LAYER>)]: | EthIf_SwitchEnableTimeStamping(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: | Eth_BufIdxType, MgmtInfo: EthSwt_MgmtInfoType**): Std_ReturnType | EthIf_SetSwitchMgmtInfo(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, | MgmtInfoPtr: EthSwt_MgmtInfoType*): Std_ReturnType | EthIf_GetTxMgmtObject(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, | **MgmtObjectPtr: EthSwt_MgmtObjectType*) | EthTSyn_TxConfirmation(CtrlIdx: uint8, BufIdx: Eth_BufIdxType) | usedTxMgmtObject->Ownership = ETHSWT_MGMT_OBJ_UNUSED | EthIf_Transmit(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, FrameType: | Eth_FrameType, TxConfirmation: boolean, LenByte: uint16, PhysAddrPtr: const uint8*) | EthIf_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_FrameType, uint8, | Eth_BufIdxType**, uint8***, uint16**) | usedTxMgmtObject timestamps ready to use | EthTSyn_MainFunction() | sedTxMgmtObjectPtr = *MgmtObjectPtr; [== E_OK]: | [Type == Sync]: | Get Port egress timestamp T7 | [Type == Sync]: | correctionField += (T7-T4); | [Type == Follow_Up]:

Vorkommen in AUTOSAR-Releases (1)

Release Dokument Seite Nr. Bildunterschrift im Dokument
R19-11 AUTOSAR_SWS_TimeSyncOverEthernet S. 53 10 Figure 10: Time Aware Bridge without GTM as Management CPU [Sync/Follow_Up Tx]