DEENESPTFRRUARHIKOZHNL
AUTOSAR_SWS_TimeSyncOverEthernet FIG-56fd887422d1ce6b 439 × 899 px 1 Release(s)

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

SHA-256 Inhalts-Fingerabdruck: 56fd887422d1ce6b94d2d395cae721be94f336549ac170124bcf66c32e8e6dc3
✦ 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, Result: Std_ReturnType)
  • 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(CtrlIdx: uint8, BufIdx: Eth_BufIdxType, Result: Std_ReturnType) 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)

R19-11 → R20-11 normative Änderung Vorgänger: FIG-00a638f01dcb1541
  • 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] | [(*MgmtInfoPtr->SwitchIdx == usedTxMgmtObjectPtr->MgmtInfo.SwitchIdx) && (*MgmtInfoPtr->SwitchPortIdx == usedTxMgmtObjectPtr->MgmtInfo.SwitchPortIdx) && (usedRxMgmtObjectPtr->Ownership == ETHSWT_MGMT_OBJ_OWNED_BY_<UPPER_LAYER>)]: | EthIf_GetTxMgmtObject(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, | **MgmtObjectPtr: EthSwt_MgmtObjectType*) | EthIf_SetSwitchMgmtInfo(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, | MgmtInfoPtr: EthSwt_MgmtInfoType*): Std_ReturnType | [Type == Sync]: | 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*) | EthTSyn_MainFunction() | EthIf_SwitchEnableTimeStamping(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: | Eth_BufIdxType, MgmtInfo: EthSwt_MgmtInfoType**): Std_ReturnType | sedTxMgmtObjectPtr = *MgmtObjectPtr; [== E_OK]: | usedTxMgmtObject timestamps ready to use | EthTSyn_TxConfirmation(CtrlIdx: uint8, BufIdx: Eth_BufIdxType, Result: Std_ReturnType) | EthIf_ProvideTxBuffer(BufReq_ReturnType, uint8, Eth_FrameType, uint8, | Eth_BufIdxType**, uint8***, uint16**) | Get Port egress timestamp T7 | [Type == Sync]: | Type == Sync || Follow_Up | correctionField += (T7-T4); | [Type == Follow_Up]:

Vorkommen in AUTOSAR-Releases (1)

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