Problem mit Ethernet-PHY

Einer meiner Kunden hat Probleme mit einem SMSC LAN8710A PHY, das mit einem Xilinx FPGA verbunden ist. Die Ethernet-Verbindung funktioniert einwandfrei, wenn das Board mit meinem MacBook oder meinem Büro-Router verbunden ist, aber mit anderen Partnern wie USB-Ethernet-Adaptern schlägt fehl. In diesem Fall ist die Autonegotiation erfolgreich, aber die Verbindung geht nicht hoch und der PHY meldet Symbolfehler durch sein SYM_ERR_CNT-Register.

Ich vermute ein Signalintegritätsproblem auf dem Board. Gibt es irgendetwas anderes, was dieses Verhalten erklären könnte? Irgendwelche Ratschläge zum Debuggen solcher Probleme?

Update: Die Symbolfehler (es gibt normalerweise einen oder zwei davon) scheinen kurz nach dem Aufbau des Links aufzutreten. Wenn die automatische Aushandlung ausgeschaltet ist, bleibt der Symbolfehlerzähler auf 1 oder 2 und die Verbindung funktioniert einwandfrei. Wenn ON, startet die Autonegotiation etwa jede Sekunde neu und der Symbolfehlerzähler wird jedes Mal inkrementiert.

Haben Sie es mit einem Straight-Through- vs. Crossover-Kabel versucht (falls mit Auto-MDIX etwas schief geht)?
Danke für den Vorschlag. Ich sehe das gleiche Verhalten bei beiden Kabeltypen.
Haben Sie die Toleranz des Referenztakts überprüft, der für die MAC / PHY-Verbindung auf Ihrem Board verwendet wird? Ethernet erfordert eine engere Toleranz (dh eine niedrigere ppm-Bewertung) als Ihr einfacher Mikroprozessor-Quarz aus der Gartenvariante.
Ein weiterer Kommentar: Sie könnten auch einige Probleme mit gekoppeltem Rauschen in Ihre Ethernet-Schaltkreise haben, z. B. von nahe gelegenen Schaltnetzteilen oder schlecht umgangenen FPGA- und MCU-Schaltkreisen.
Sind die Mag Jacks selbst dafür bekannt, dass sie in Ordnung sind? Wenn das Layout und die Netzteile angemessen sind und die Schaltkreise um die Buchsen herum korrekt und vorhanden sind, könnte dies ein weiterer Ort sein, an dem Sie suchen sollten.

Antworten (2)

Ich kann noch keinen Kommentar abgeben, also werde ich dies als Antwort posten. Ich hatte in der Vergangenheit ein ähnliches Problem mit einem DP8384C, und wir konnten den Link zum Laufen bringen, indem wir die Verbindung auf 10 Mbit / s (an beiden Enden) erzwangen ).

Wir mussten die Boards erneut drehen, um das Problem zu beheben, aber es half, das Problem zu beheben. Wir haben im Grunde die Längen der Differentialpaare vom PHY zum Magjack neu ausbalanciert und die Leiterbahnimpedanzen überprüft. Seitdem hatten wir bei keinem Design mehr Probleme.

Ein paar Dinge, die Sie ausprobieren könnten:

  1. Überprüfen Sie die Schaltkreise um die Magnete auf Ihrem Board. Wenn irgendetwas nicht stimmt, haben Sie wahrscheinlich Schwierigkeiten mit einigen Linkpartnern und nicht mit anderen.

  2. Deaktivieren Sie die automatische Aushandlung und zwingen Sie beide Enden auf die gleiche Geschwindigkeit.

  3. Sie vermuten SI-Probleme - graben Sie den Bereich aus und sehen Sie nach, wann der PHY sieht.

Wenn Sie mit (erzwungenen) 10 MBit / s fehlerfrei übertragen können, aber keine Verbindung mit 100 MBit / s erhalten, würde ich beginnen, die Schaltpläne und das Platinendesign zu überprüfen und Signale mit einem Oszilloskop zu prüfen, beginnend mit den Magneten.

Danke für deinen Beitrag. Das Deaktivieren der automatischen Aushandlung hilft, die Verbindung herzustellen, aber dies ist offensichtlich nur eine vorübergehende Lösung. Auch gegen Symbolfehler hilft es nicht.
Die Designintegrität für Ethernet ist sogar für ein 100-BaseT-Netzwerk wichtig. Unterschätzen Sie nicht die Notwendigkeit für einen Designer, die Signalintegritätsanforderungen und die Layoutanforderungen für einen MAC/PHY und die PHY/RJ45-Verbindungspfade sehr genau zu beachten. Die Erdungsmethodik ist ebenfalls sehr wichtig.
@MichaelKaras Zugegeben - Ich habe meine Antwort aktualisiert, um Ihr Feedback einzubeziehen.