Dieser Post baut auf der EthTrcv-Serie auf, insbesondere auf EthTrcv Teil 1 — Grundlagen & Einordnung und Teil 4 — WakeUp-Handling & Diagnose. Er nimmt einen einzelnen Parameter unter die Lupe, der in kaum einer EthTrcv-Konfiguration fehlt, aber selten wirklich verstanden wird: die Master/Slave-Rolle des 100BASE-T1-PHYs.

Wer schon einmal vor einem Steuergerät saß, bei dem partout kein Ethernet-Link zustande kommt, obwohl Kabel, Stecker und Spannungsversorgung geprüft sind, hat mit hoher Wahrscheinlichkeit genau dieses Problem gehabt — nur meist nicht sofort erkannt.

Warum braucht 100BASE-T1 überhaupt eine Master/Slave-Rolle?

Kein getrenntes Sende-/Empfangspaar

Der Hardware Deep Dive dieser Serie hat es bereits gezeigt: 100BASE-T1 überträgt Senden und Empfangen gleichzeitig auf demselben verdrillten Aderpaar.

100BASE-TX:   ──[TX+/TX-]──  ──[RX+/RX-]──   (2 Paare, getrennte Richtungen)
100BASE-T1:   ──[T1+/T1-]──                   (1 Paar, beide Richtungen gleichzeitig)

Bei 100BASE-TX ist die Sache klar: Jede Seite hat ihr eigenes Sendepaar mit eigenem Takt. Es gibt keine Notwendigkeit, sich auf einen gemeinsamen Zeitgeber zu einigen — jede Seite sendet einfach mit ihrem eigenen, freilaufenden Oszillator.

Bei 100BASE-T1 funktioniert das nicht. Weil beide Seiten gleichzeitig auf demselben Paar senden und empfangen, muss der PHY das eigene Sendesignal vom Empfangssignal trennen — per Echo-Cancellation, wie im Hardware-Post beschrieben. Diese Echo-Cancellation ist ein adaptives digitales Filter, und adaptive Filter funktionieren nur zuverlässig, wenn Sender und Empfänger auf derselben Taktfrequenz laufen.

Ein gemeinsamer Takt für beide Seiten

Zwei unabhängige, freilaufende Quarze auf beiden Seiten der Leitung driften zwangsläufig minimal auseinander — selbst bei enger Toleranz (z. B. ±50 ppm). Für eine unidirektionale Leitung wie bei 100BASE-TX ist das unproblematisch, weil jede Übertragungsrichtung ihren eigenen Taktkreis hat. Bei 100BASE-T1 würde dieser Frequenzunterschied jedoch das Echo-Cancellation-Filter systematisch stören: Das Filter geht implizit davon aus, dass das eigene Sendesignal exakt mit der gleichen Frequenz läuft wie das, was es aus dem Empfangssignal herausrechnen soll.

Die Lösung: Eine Seite der Verbindung — der Master — erzeugt den Übertragungstakt aus einem eigenen, freilaufenden Quarzoszillator. Die andere Seite — der Slave — synchronisiert sich auf diesen Takt, indem sie ihn aus dem empfangenen Signal zurückgewinnt (Clock Recovery) und denselben, zurückgewonnenen Takt auch für die eigene Sendeseite verwendet (Loop-Timing).

MASTER                                    SLAVE
┌─────────────┐                       ┌─────────────┐
│  Quarz-PLL   │                      │              │
│  (freilaufend)│                      │  Clock       │
│      │       │                      │  Recovery    │
│      ▼       │                      │  (CDR)       │
│  TX-Takt     │──── T1+/T1- ────────►│      │       │
│              │                      │      ▼       │
│  RX ◄────────┼─── (zurückgesendet) ─┤  TX-Takt =   │
│  (mit lokalem │                      │  RX-Takt     │
│   Takt korr.) │                      │  (Loop-Timing)│
└─────────────┘                       └─────────────┘

Loop-Timing bedeutet: Der Slave hat keinen eigenen freilaufenden Übertragungstakt. Sein Sendetakt ist exakt der aus dem Empfangssignal zurückgewonnene Takt des Masters. Dadurch laufen beide Seiten der Verbindung zwangsläufig auf derselben Frequenz — unabhängig von Bauteiltoleranzen der jeweiligen Quarze.

Ohne diese Rollenverteilung müsste jeder PHY ständig eine Frequenzdifferenz zum Partner ausgleichen. Das äußert sich in der Praxis als Elastic-Buffer- Über- oder Unterlauf (Pufferspeicher zum Taktausgleich läuft voll oder leer) und als schlechtere Performance des Echo-Cancellation-Filters — im schlimmsten Fall ein Link, der zwar kurz aufbaut, dann aber sporadisch wieder abreißt.

Eine nützliche Eselsbrücke: Der Master gibt den Takt vor, der Slave folgt ihm. Bei 1000BASE-T1 und den meisten 1000BASE-T-Kupfervarianten gilt dasselbe Prinzip — nur dass dort (bei 1000BASE-T, nicht bei 100BASE-T1) die Rolle zusätzlich per Auto-Negotiation ausgehandelt werden kann. Mehr dazu weiter unten.

Wer ist Master, wer ist Slave?

Eine Rolle pro Segment, keine Ausnahme

Jedes 100BASE-T1-Segment verbindet exakt zwei Teilnehmer: einen Master und einen Slave. Es gibt bei 100BASE-T1 kein Multidrop-Segment und keinen gemeinsam genutzten Bus mit mehreren Teilnehmern — anders als bei klassischem 10BASE-T-Koax oder CAN. Jede physische Verbindung ist strikt Punkt-zu-Punkt.

Gültig:                                Ungültig (nicht spezifiziert):

  Master ──────────── Slave              Master ──┬──────── Slave A
  (ein Segment,                                    └──────── Slave B
   zwei Teilnehmer)                     (Multidrop — bei 100BASE-T1
                                          nicht vorgesehen)

Netzwerke entstehen durch Switches, nicht durch Multidrop

Weil ein einzelnes Segment nur zwei Teilnehmer kennt, entstehen größere Fahrzeugnetzwerke ausschließlich durch Aneinanderreihung von Punkt-zu-Punkt-Segmenten über Switches (EthSwt). Das Ergebnis ist netzwerktopologisch meist eine Sterntopologie um einen zentralen Switch oder ein Gateway, gelegentlich auch mehrstufig (Baum-Topologie über mehrere kaskadierte Switches).

                        ┌───────────────┐
                        │  Zentral-Switch │
                        │   / Gateway     │
                        └───┬───┬───┬────┘
                    Master  │   │   │  Master
                       ┌────┘   │   └────┐
                       │        │        │
                    Slave     Slave    Slave
                  ┌───────┐ ┌───────┐ ┌───────┐
                  │Kamera │ │ Radar │ │  ECU  │
                  └───────┘ └───────┘ └───────┘

Jedes einzelne Segment (Switch-Port zu Endgerät) ist für sich genommen eine gewöhnliche Punkt-zu-Punkt-Verbindung mit fester Master/Slave-Zuordnung — die Sterntopologie entsteht erst durch die Anzahl der Switch-Ports, nicht durch eine Eigenschaft von 100BASE-T1 selbst.

ElementTypische RolleBegründung

Zentraler Switch / Gateway

Master (auf allen Ports)

Ein Chip mit vielen Ports lässt sich einfacher als durchgängiger Taktgeber projektieren; reduziert Variantenvielfalt in der Switch-Firmware

Peripheres Steuergerät (Kamera, Radar, einfache ECU)

Slave

Übernimmt den Takt vom Switch; keine eigene Taktreferenz für den Link nötig

Zwei gleichrangige Steuergeräte ohne Switch dazwischen

Projektspezifisch festzulegen

Es gibt keine „natürliche" Rolle — die Zuordnung muss im Netzwerk-Lastenheft explizit definiert werden

Es gibt keine allgemeingültige IEEE- oder AUTOSAR-Regel, die festlegt, welches Gerät in einer bestimmten Konstellation Master und welches Slave sein muss. Die Rollenzuordnung ist eine Projektentscheidung, die typischerweise im OEM-spezifischen Netzwerk- oder Physical-Layer-Lastenheft dokumentiert wird — meist als Tabelle mit ECU-Typ oder Steckverbinder-Pin-Zuordnung zu Master/Slave. Ohne diese Vorgabe zu kennen, kann ein Zulieferer die Rolle nicht korrekt konfigurieren.

Konfiguration im PHY

Zugriff über MDIO

Wie im Hardware Deep Dive beschrieben, läuft die PHY-Konfiguration über den MDIO-Bus. Die Master/Slave-Rolle ist dabei kein Sonderfall — sie ist schlicht ein weiteres Bit oder Registerfeld, das EthTrcv_Init beim Hochfahren des PHYs setzt.

EthTrcv_Init()
   │
   ├─► MDIO-Write: Reset-Register
   ├─► MDIO-Write: Master/Slave-Konfigurationsbit  ◄── hier
   ├─► MDIO-Write: weitere PHY-spezifische Setup-Register
   └─► MDIO-Read:  Status-Register (Link-Aufbau abwarten)

Wichtig dabei: Diese Konfiguration ist beim 100BASE-T1-PHY statisch — sie wird beim Init einmal geschrieben und bleibt für die Lebensdauer des Links unverändert. Es gibt (anders als bei manchen Kupfer-Gigabit-PHYs, siehe weiter unten) keinen Verhandlungsmechanismus, der zur Laufzeit etwas an dieser Konfiguration ändert.

Beispiel: NXP TJA1100

Der TJA1100 (100BASE-T1, RMII-Interface) ist einer der am weitesten verbreiteten 100BASE-T1-PHYs im Feld. Die Master/Slave-Rolle lässt sich auf zwei Wegen setzen:

KonfigurationswegBeschreibung

Pin-Strapping

Über dedizierte Konfigurationspins (CONFIG1/CONFIG2) beim Power-Up wird ein Grundmodus vorgegeben, inklusive einer Default-Rolle. Diese Pins werden per PCB-Beschaltung (Pull-up/Pull-down) fest verdrahtet.

Register-Override via MDIO

Nach dem Power-Up kann EthTrcv_Init das CONFIGURATION-Register über MDIO beschreiben und dabei ein Master/Slave-Bit explizit setzen — unabhängig von der Pin-Strapping-Vorgabe.

CONFIGURATION-Register (vereinfacht dargestellt)
Bit 15    MASTER_SLAVE   0 = Slave, 1 = Master
Bit 14    AUTO_OP        Automatischer Übergang in den Normalbetrieb
                          nach Konfiguration (unabhängig von Master/Slave)
Bit ...   weitere chip-spezifische Konfigurationsbits

Pin-Strapping und Register-Override können in der Praxis auseinanderlaufen: Ein Board, das laut Schaltplan hardwareseitig auf „Slave" verdrahtet ist, aber dessen EthTrcv-Treiber per Software „Master" schreibt, landet am Ende im Master-Modus — die Software gewinnt. Das ist eine häufige Fehlerquelle, wenn ein Board-Redesign die Pin-Beschaltung ändert, aber die EthTrcv-Konfiguration im ARXML nicht mit aktualisiert wird.

Beispiel: Broadcom BCM89810

Der BCM89810 ist ein weiterer verbreiteter 100BASE-T1-PHY, ebenfalls mit RMII-Interface auf der MAC-Seite. Das Grundprinzip ist identisch zum TJA1100: Ein dediziertes Konfigurationsbit im Register-Space steuert die Rolle, mit einer per Hardware-Pin gesetzten Default-Einstellung, die per MDIO überschrieben werden kann.

AspektNXP TJA1100Broadcom BCM89810

MAC-Interface

RMII

RMII

Master/Slave-Default

Pin-Strapping (CONFIG1/CONFIG2)

Pin-Strapping (Mode-Pins)

Software-Override

Ja, via MDIO-Register

Ja, via MDIO-Register

Auto-Negotiation der Rolle

Nicht vorhanden

Nicht vorhanden

Die konkreten Registeradressen und Bit-Positionen unterscheiden sich zwischen Chip-Herstellern und teils sogar zwischen Chip-Revisionen desselben Herstellers. Das jeweilige Datenblatt ist die einzige verlässliche Quelle — die Tabellen in diesem Post zeigen das Funktionsprinzip, nicht eine konkrete Registerkarte.

ARXML-Konfiguration

Der AUTOSAR-Standardparameter EthTrcvConnNeg

Ein Detail, das vielen nicht geläufig ist: Der AUTOSAR-Standard definiert für den generischen EthTrcv-Konfigurationscontainer sehr wohl einen einheitlichen Parameter für die Verbindungsaushandlung (und damit auch die Master/Slave-Rolle) bei 100BASE-T1 — EthTrcvConnNeg ([ECUC_EthTrcv_00025]). Er ist im Container EthTrcvConfig verortet, direkt neben Parametern wie EthTrcvDuplexMode oder EthTrcvSpeed, und als EcucEnumerationParamDef mit folgenden Literalen spezifiziert:

LiteralBedeutung

TRCV_CONN_NEG_AUTO

Automatische Aushandlung (Auto-Negotiation)

TRCV_CONN_NEG_MASTER

Feste Master-Rolle

TRCV_CONN_NEG_SLAVE

Feste Slave-Rolle

TRCV_CONN_NEG_NONE

PLCA (Physical Layer Collision Avoidance) — relevant für 10BASE-T1S, nicht für 100BASE-T1

Die Master/Slave-Konfiguration ist also kein MCAL-spezifischer Vendor-Extension-Parameter, sondern Teil des generischen EthTrcvConfig-Containers im AUTOSAR-Standardschema. Der Parametername (EthTrcvConnNeg) und die Enum-Literale (TRCV_CONN_NEG_MASTER / TRCV_CONN_NEG_SLAVE / TRCV_CONN_NEG_AUTO) sind über alle MCAL-Lieferanten hinweg identisch — was in der Praxis darunterliegt (welches PHY-Register tatsächlich beschrieben wird), bleibt allerdings weiterhin Sache der jeweiligen MCAL-Implementierung.

Die Spezifikation vermerkt außerdem eine wichtige Abhängigkeit: Ist EthTrcvEnablePLCA = TRUE, muss EthTrcvConnNeg auf TRCV_CONN_NEG_NONE gesetzt sein. Ist stattdessen EthTrcvPhysLayerType auf TRCV_PHYS_LAYER_TYPE_10BASE_T1S konfiguriert und PLCA nicht aktiviert, muss EthTrcvConnNeg explizit als Master oder Slave konfiguriert werden — denn 10BASE-T1S kann sowohl mit PLCA als auch mit klassischem CSMA/CD-Medienzugriff betrieben werden. Für 100BASE-T1 (ohne PLCA) bleiben ausschließlich TRCV_CONN_NEG_MASTER und TRCV_CONN_NEG_SLAVE relevant.

EthTrcvConnNeg im ARXML

Ein vereinfachtes, aber realistisches Beispiel, wie der Standardparameter im ARXML gesetzt wird:

<ECUC-CONTAINER-VALUE>
  <SHORT-NAME>EthTrcvConfig_Camera_Front</SHORT-NAME>
  <DEFINITION-REF DEST="ECUC-PARAM-CONF-CONTAINER-DEF">
    /MCAL/EthTrcv/EthTrcvConfigSet/EthTrcvConfig
  </DEFINITION-REF>
  <PARAMETER-VALUES>
    <ECUC-NUMERICAL-PARAM-VALUE>
      <DEFINITION-REF DEST="ECUC-INTEGER-PARAM-DEF">
        /MCAL/EthTrcv/EthTrcvConfigSet/EthTrcvConfig/EthTrcvIdx
      </DEFINITION-REF>
      <VALUE>3</VALUE>
    </ECUC-NUMERICAL-PARAM-VALUE>
    <ECUC-TEXTUAL-PARAM-VALUE>
      <DEFINITION-REF DEST="ECUC-ENUMERATION-PARAM-DEF">
        /MCAL/EthTrcv/EthTrcvConfigSet/EthTrcvConfig/EthTrcvConnNeg
      </DEFINITION-REF>
      <VALUE>TRCV_CONN_NEG_SLAVE</VALUE>
    </ECUC-TEXTUAL-PARAM-VALUE>
  </PARAMETER-VALUES>
</ECUC-CONTAINER-VALUE>

Der Parametername (EthTrcvConnNeg) sowie der Enum-Wertebereich (TRCV_CONN_NEG_MASTER / TRCV_CONN_NEG_SLAVE / TRCV_CONN_NEG_AUTO / TRCV_CONN_NEG_NONE) sind im AUTOSAR-Standarddokument selbst festgelegt ([ECUC_EthTrcv_00025]) — kein Vendor-spezifisches Detail, sondern EthTrcv-Basismodell.

Praxis-Tipp: Konsistenzprüfung im ARXML-Review

Ein klassischer Copy-Paste-Fehler: Ein Integrator übernimmt die EthTrcv-Konfiguration eines bereits funktionierenden Steuergeräts als Vorlage für ein neues — und vergisst dabei, die Master/Slave-Rolle an die neue Position im Netzwerk anzupassen. Ergebnis: Zwei Switch-Ports sind als Master konfiguriert, weil die Vorlage ursprünglich für ein anderes Segment gedacht war. Ein Konsistenz-Check zwischen den ARXML-Splits beider Segmentenden (idealerweise automatisiert im CI) fängt genau diesen Fehler vor der Integration ab.

Automatische Auflösung — gibt es Auto-Negotiation bei 100BASE-T1?

Kurze Antwort: Nein, nicht für die Rolle

Bei klassischem 1000BASE-T (Kupfer, IEEE 802.3ab, Clause 40) wird die Master/Slave-Rolle standardmäßig per Auto-Negotiation ausgehandelt: Beide Seiten tauschen Fähigkeiten aus, und ein definierter Resolve-Algorithmus entscheidet, wer Master und wer Slave wird — mit der Möglichkeit, eine Seite manuell auf eine feste Rolle zu zwingen (Master-Slave Manual Config Enable).

100BASE-T1 (IEEE 802.3bw) hat dieses Konzept nicht. Es gibt keinen Auto-Negotiation-Mechanismus, der die Rolle zur Laufzeit aushandelt. Die Rolle wird ausschließlich statisch konfiguriert — per Pin-Strapping und/oder per Software-Override über MDIO, wie oben beschrieben.

Aspekt1000BASE-T (Kupfer, Clause 40)100BASE-T1 (Clause 96 / 802.3bw)

Rollenermittlung

Auto-Negotiation mit Resolve-Algorithmus, optional manuell erzwingbar

Ausschließlich statische Konfiguration

Verhalten bei Rollenkonflikt (beide Seiten wollen dieselbe Rolle)

Wird durch Tie-Breaking-Regel im Resolve-Algorithmus aufgelöst (z. B. PHY mit höherer Seriennummer gewinnt als Master)

Kein Link — es gibt keinen Auflösungsmechanismus

Aushandlungszeit beim Link-Aufbau

Zusätzliche Zeit für den Negotiation-Austausch

Entfällt — Link-Aufbau kann sofort mit fester Rolle beginnen

Warum das so ist — und warum es kein Nachteil ist

Auf den ersten Blick wirkt das Fehlen von Auto-Negotiation wie ein Rückschritt. Für den automotiven Einsatzzweck ist es aber eine bewusste Design-Entscheidung mit klaren Vorteilen:

  • Topologie ist zur Entwurfszeit bekannt. Anders als im Consumer-Umfeld, wo ein Notebook an einen beliebigen Switch angeschlossen werden können muss, ist im Fahrzeug zum Zeitpunkt der Entwicklung exakt bekannt, welches Steuergerät mit welchem anderen verbunden ist. Eine dynamische Aushandlung löst hier kein reales Problem.

  • Schnellerer Link-Aufbau. Automotive-Netzwerke haben oft harte Zeitbudgets für den Link-Aufbau nach dem Aufwachen aus dem Sleep (siehe Teil 4 dieser Serie). Jede Millisekunde, die nicht in eine Verhandlungsphase fließt, hilft beim Erreichen dieser Budgets.

  • Weniger Fehlerfläche. Ein Aushandlungsprotokoll ist zusätzliche Logik, die selbst fehlschlagen oder zwischen Chip-Revisionen unterschiedlich interpretiert werden kann. Statische Konfiguration ist in dieser Hinsicht simpler und vorhersagbarer.

Der Preis für diese Einfachheit: Die Verantwortung für eine korrekte Rollenzuordnung verschiebt sich vollständig auf den Menschen — vom Netzwerk-Lastenheft über die PCB-Beschaltung bis zur EthTrcv-ARXML- Konfiguration. Es gibt keinen Automatismus, der einen Fehler zur Laufzeit „repariert". Genau das macht Rollenkonflikte zu einem der häufigsten 100BASE-T1-Fehlerbilder im Feld — siehe nächster Abschnitt.

Typischer Fehlerfall: Beide Seiten auf derselben Rolle

Wenn beide Enden eines 100BASE-T1-Segments auf Master konfiguriert sind (oder beide auf Slave), kommt schlicht kein Link zustande. Es gibt kein Fehlersignal, keine Fehlermeldung im klassischen Sinn — der PHY meldet lediglich dauerhaft „kein Link", exakt wie bei einem gebrochenen Kabel oder einer fehlenden Spannungsversorgung.

Fall 1: Rollenkonflikt (beide Master)

  ECU A                                   ECU B
  PHY: Master                             PHY: Master
  (erzeugt eigenen Takt)                  (erzeugt eigenen Takt)
       │                                        │
       └──────────── T1+/T1- ──────────────────┘
              Beide senden mit eigenem Takt,
           keine Seite synchronisiert sich –
                  KEIN LINK

Fall 2: Rollenkonflikt (beide Slave)

  ECU A                                   ECU B
  PHY: Slave                              PHY: Slave
  (wartet auf Takt zum                    (wartet auf Takt zum
   Wiederherstellen)                       Wiederherstellen)
       │                                        │
       └──────────── T1+/T1- ──────────────────┘
           Keine Seite erzeugt einen Takt,
         es gibt nichts zurückzugewinnen –
                  KEIN LINK

Genau diese Symptomatik — „alles andere passt, aber kein Link" — macht den Fehler tückisch: Kabel, Steckverbinder, Spannungsversorgung und sogar die MDIO-Kommunikation zum PHY selbst funktionieren einwandfrei, weil die Master/Slave-Konfiguration selbst erfolgreich über MDIO geschrieben wurde. Es ist nur der falsche Wert.

Diagnose-Vorgehen

  1. PHY-Status-Register beider Seiten auslesen. Der Link-Status-Bit zeigt „kein Link"; das allein grenzt aber nicht ein, ob es ein Rollenkonflikt oder ein anderes Problem ist (z. B. Kabelbruch, siehe Teil 4 für weitere Diagnosezugriffe).

  2. Master/Slave-Konfigurationsregister beider Seiten per MDIO auslesen. Die meisten PHYs erlauben, den tatsächlich aktiven Modus zurückzulesen (nicht nur den beim Init geschriebenen Sollwert) — das deckt auch Fälle ab, in denen ein Pin-Strapping-Wert die Software-Konfiguration überschrieben hat.

  3. Mit dem ARXML beider Steuergeräte abgleichen. Stimmt der ausgelesene Registerwert mit dem in der EthTrcv-Konfiguration hinterlegten Sollwert überein? Falls nicht: Pin-Strapping vs. Software-Override prüfen (siehe TJA1100-Beispiel oben).

  4. Rollenzuordnung gegen das Netzwerk-Lastenheft prüfen. Der häufigste Fall in der Praxis ist nicht ein technischer Defekt, sondern eine falsch übernommene ARXML-Vorlage — beide Seiten sind „laut Konfiguration" korrekt, aber dieselbe Rolle wurde versehentlich zweimal vergeben.

Ein Rollenkonflikt sieht auf einem Oszilloskop oder Protokoll-Analyzer zunächst harmlos aus: Es liegt ein Signal auf der Leitung, nur kein stabiler Link. Wer vorschnell auf ein Hardware-Problem (defekter PHY, schlechte Lötstelle) schließt, verliert wertvolle Zeit — der erste Blick sollte immer der Konfiguration gelten, nicht dem Multimeter.

Praktische Empfehlung: Wann Master, wann Slave?

Es gibt keine technische Notwendigkeit, eine bestimmte Geräteklasse als Master zu definieren — die Wahl ist frei, solange beide Seiten eines Segments übereinstimmen. In der Praxis haben sich dennoch Konventionen etabliert, die die Konfigurationsarbeit im Projekt erheblich vereinfachen:

EmpfehlungBegründung

Switch-/Gateway-Ports konsequent als Master konfigurieren

Reduziert Variantenvielfalt: Alle Switch-Firmware-Images verwenden dieselbe Rollenkonfiguration, unabhängig davon, welches Endgerät tatsächlich angeschlossen wird

Periphere Steuergeräte (Sensoren, Aktoren, einfache ECUs) konsequent als Slave konfigurieren

Diese Geräte werden oft in mehreren Fahrzeugprojekten wiederverwendet — eine feste Slave-Rolle macht sie unabhängig davon, an welchem Switch-Port sie landen

Rollenzuordnung explizit im Netzwerk-Lastenheft dokumentieren, nicht nur implizit im ARXML

Verhindert, dass die Konvention „Switch = Master" bei Sonderfällen (z. B. Punkt-zu-Punkt-Verbindung zwischen zwei gleichrangigen ECUs ohne Switch) stillschweigend gebrochen wird

Automatisierten Konsistenz-Check zwischen ARXML-Splits einführen

Ein Skript, das für jedes bekannte Segment prüft, ob genau eine Seite Master und die andere Slave ist, fängt Copy-Paste-Fehler ab, bevor sie ins Labor oder Fahrzeug gelangen

Bei Neuentwicklung: Rolle so früh wie möglich im Schaltplan-Review festlegen

Pin-Strapping ist eine Hardware-Entscheidung — eine spätere Änderung der Rolle per Software-Override funktioniert zwar technisch, sollte aber die Ausnahme bleiben, nicht die Regel

Für Punkt-zu-Punkt-Verbindungen zwischen zwei gleichrangigen Steuergeräten ohne Switch dazwischen (z. B. direkte Verbindung zwischen zwei Domain-Controllern) gibt es keine „natürliche" Master-Seite. Hier hilft eine projektweit einheitliche Regel — etwa „das Steuergerät mit der niedrigeren Diagnose-Adresse ist Master" — damit die Entscheidung nicht bei jedem neuen Verbindungspaar neu diskutiert werden muss.

Zusammenfassung

AspektKernaussage

Warum Master/Slave nötig ist

100BASE-T1 sendet und empfängt gleichzeitig auf einem Aderpaar; Echo-Cancellation braucht einen gemeinsamen Takt — der Master erzeugt ihn, der Slave gewinnt ihn per Clock Recovery zurück

Topologie-Regel

Jedes Segment hat genau einen Master und einen Slave; größere Netzwerke entstehen durch Switches, nicht durch Multidrop

PHY-Konfiguration

Meist Pin-Strapping als Default, überschreibbar per MDIO-Register in EthTrcv_Init — Details variieren je Chip-Hersteller

ARXML

Standardparameter EthTrcvConnNeg im EthTrcvConfig-Container ([ECUC_EthTrcv_00025]); Literale TRCV_CONN_NEG_MASTER / TRCV_CONN_NEG_SLAVE / TRCV_CONN_NEG_AUTO

Auto-Negotiation

Gibt es bei 100BASE-T1 nicht — anders als bei 1000BASE-T ist die Rolle ausschließlich statisch konfiguriert

Typischer Fehler

Beide Seiten auf derselben Rolle → kein Link, keine Fehlermeldung; Ursache meist eine falsch übernommene ARXML-Vorlage

Praxisempfehlung

Feste Konvention pro Geräteklasse (Switch = Master, Peripherie = Slave) plus automatisierter Konsistenz-Check zwischen ARXML-Splits