Figure 10: Time Aware Bridge without GTM as Management CPU [Sync/Follow_Up Tx]
00a638f01dcb154175a853dd1fcd42389203021c9864629bbe79e1561563bef4
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_ReturnTypeEthIf_SwitchEnableTimeStamping(return: Std_ReturnType, CtrlIdx: uint8, BufIdx: Eth_BufIdxType, MgmtInfo: EthSwt_MgmtInfoType**): Std_ReturnTypeEthIf_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
- Für PTP-Nachrichtentypen
Type == Sync || Follow_UpfordertEthTSynsynchron einen Sendepuffer beiEthIfüberEthIf_ProvideTxBufferan. - Wenn Schalterverwaltung aktiviert ist (
opt EthIf Tx Switch management info activationmit Guard[EthIfSwitchManagementSupport == ON]), setztEthTSynüberEthIf_SetSwitchMgmtInfodie Schalter-Management-Informationen. - Wenn globale Zeitunterstützung aktiv ist (
opt EthIf Global Time Supportmit Guard[EthIfGlobalTimeSupport == ON]), aktiviertEthTSynüberEthIf_SwitchEnableTimeStampingdas Hardware-Zeitstempeln. - Falls es sich um eine Follow-Up-Nachricht handelt (
[Type == Follow_Up]:), aktualisiertEthTSynintern das Korrekturfeld:correctionField += (T7-T4);. EthTSynstartet das Senden überEthIf_Transmit.- Nach dem Versand ruft
EthIfdie BestätigungEthTSyn_TxConfirmationauf. - Bei aktiviertem Schalter-Management (
opt EthIf Tx Switch management info processingmit Guard[EthIfSwitchManagementSupport == ON]) und für[Type == Sync]:ruftEthTSynsynchronEthIf_GetTxMgmtObjectauf; bei erfolgreicher Rückgabe ([== E_OK]:) speichertEthTSyndie Referenz:sedTxMgmtObjectPtr = *MgmtObjectPtr;. - In einem weiteren Block
opt EthIf Tx Switch management info processingruftEthTSynzyklisch die interne FunktionEthTSyn_MainFunction()auf. - 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). - Anschließend gibt
EthTSyndas 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.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.