Teil 1 dieser Serie hat kaskadierte Switch-Topologien in Zonal-Architekturen nur angerissen. Dieser Post zeigt die zwei konkreten AUTOSAR-Mechanismen dahinter: portspezifische Hardware-Zeitstempel und die Uhrensynchronisation zwischen direkt verbundenen Switches.
Der |
Switch Management Support: die Grundlage für EthTSyn
Kapitel 7.1.7.3 der SWS beschreibt Switch Management Support als Funktionalität, die es erlaubt, ein Ethernet-Frame bezüglich Switch-Port-spezifischer Ingress-/Egress-Behandlung sowie eines Port-spezifischen Zeitstempels zu steuern. Das ist laut SWS "essenziell für andere BSW-Module, insbesondere `EthTSyn`", das portspezifische Informationen zu einem Zeitsynchronisations- oder Laufzeitmessungs-Frame benötigt.
Die zugehörige API-Gruppe (aktiv, wenn EthSwtManagementSupportApi auf
TRUE steht): EthSwt_EthRxProcessFrame, EthSwt_EthRxFinishedIndication,
EthSwt_EthTxAdaptBufferLength, EthSwt_EthTxPrepareFrame,
EthSwt_SetMgmtInfo, EthSwt_EthTxProcessFrame,
EthSwt_EthTxFinishedIndication.
Ein wichtiges Detail für die Implementierung: |
Hardware-Zeitstempel je Port
Hardware-Zeitstempel werden je Port über EthSwtPortTimeStampSupport
aktiviert. Zur Laufzeit steuert EthSwt_PortEnableTimeStamp(PortIdx) die
tatsächliche Aktivierung — vorausgesetzt, EthSwtPortTimeStampSupport ist
für diesen Port auf TRUE gesetzt.
Uhrensynchronisation zwischen kaskadierten Switches
Einige Switch-Chips können ihre interne Uhr direkt mit einem benachbarten
Switch synchronisieren, wenn sie über einen Uplink-Port verbunden sind. Ist
EthSwtClockSynchronizationSupport aktiviert, muss die
Laufzeitverzögerung (Path Delay) zwischen den beiden verbundenen
Uplink-Ports nicht mehr separat gemessen werden — die Uhren laufen
bereits synchron.
Backbone-Switch Zonal-Switch
┌─────────────────────┐ Uplink-Port ┌─────────────────────┐
│ interne Uhr │◄───────────────►│ interne Uhr │
│ EthSwtClockSync... │ Uhren bereits │ EthSwtClockSync... │
│ Support = TRUE │ synchron │ Support = TRUE │
└─────────────────────┘ └─────────────────────┘
▲ ▲
│ EthSwtPortTimeStampSupport EthSwtPortTimeStampSupport
│ nur an Nicht-Uplink-Ports nur an Nicht-Uplink-Ports
externe Ports externe Ports
(Kameras, ECUs, ...) (Kameras, ECUs, ...)Die beiden Konfigurationsregeln im Detail
Die SWS formuliert zwei sich ergänzende Constraints:
EthSwtPortTimeStampSupportdarfTRUEsein, wennEthSwtClockSynchronizationSupportdeaktiviert ist (klassischer Fall: einzelner Switch, Zeitstempel an jedem Port nötig)EthSwtPortTimeStampSupportdarf auchTRUEsein, wennEthSwtClockSynchronizationSupportaktiviert ist — aber nicht für Ports mitEthSwtPortRole = ETHSWT_UP_LINK_PORT. Uplink-Ports werden in diesem Fall bei der Laufzeit-Kompensation bewusst ausgenommen, weil die Uhrensynchronisation die Messung dort bereits überflüssig macht
Praktische Faustregel: Ist die Uhrensynchronisation zwischen zwei
kaskadierten Switches aktiv, braucht der Uplink-Port selbst keinen
eigenen Zeitstempel mehr — nur die externen Ports (zu Kameras,
Zonal-ECUs etc.) an beiden Switches benötigen weiterhin
|
Zusammenfassung
| Aspekt | Kernaussage |
|---|---|
Switch Management Support | Portspezifisches Frame-Handling für EthTSyn, kein
Konfigurationskanal — |
Hardware-Zeitstempel | Je Port über |
Uhrensynchronisation |
|
Wechselwirkung | Zeitstempel und Uhrensynchronisation schließen sich an Uplink-Ports gegenseitig sinnvoll aus |