Gigabit-Ethernet-Switch-Projekt

Zachariah Peterson
|  Erstellt: Februar 9, 2024  |  Aktualisiert am: Mai 10, 2025
Gigabit-Ethernet-Switch-Projekt

Gigabit Ethernet ist mittlerweile effektiv ein Einstiegsstandard für Büro- und kommerzielle Netzwerke. Es gibt viele Komponenten, die verwendet werden können, um einen einfachen Ethernet-Switch zu bauen, aber in diesem Artikel zeigen wir ein Beispiel-Design für einen Ethernet-Switch mit hoher Portanzahl. Das in diesem Artikel gezeigte Design beinhaltet auch eine Erweiterung für Glasfaserkabel mit einem SFP-Stecker. Dieses Projekt erfordert die erfolgreiche Umsetzung mehrerer gängiger Aspekte des Hochgeschwindigkeitsdesigns, einschließlich:

  • BGA-Fanout
  • Design von Differentialpaaren
  • Platzierung von AC-Kopplungskondensatoren
  • Design mit Stromversorgungsebenen in großen BGAs
  • Einzelendige und differentielle Hochgeschwindigkeitsschnittstellen

Wie üblich können die Projektdateien von meiner Website heruntergeladen werden. Sie können auch die Download-Links im Altium 365-Viewer-Embed unten überprüfen. Klicken Sie auf diesen Link, um ein ZIP-Archiv mit den Projektquellendateien herunterzuladen, oder Sie können den Download-Link im Embed verwenden.

 

Hauptkomponenten im Gigabit-Ethernet-Switch

 

Dieses Ethernet-Switch-Projekt basiert auf der VSC742x-Serie von Ethernet-Switch-Prozessoren von Microchip. Diese Prozessoren können mit einem zugehörigen Erweiterungs-PHY gekoppelt werden, das sich über eine SGMII-Schnittstelle mit dem Switch-Prozessor verbindet. Es gibt zusätzliche Komponenten für Speicher und externe Kommunikation sowie mehrere Spannungsregler. Die Liste der Hauptkomponenten in den Schaltungen umfasst:

Insgesamt unterstützt das Gerät 12 Standard-Ethernet-Ports, umfasst einen Uplink-Port und beinhaltet einen SFP-Port für einen Glasfaser-Transceiver. Das Design beinhaltet auch eine serielle Schnittstelle, die auf einen RJ-45-Stecker geführt wird, ohne den Mag-Jack-Abschlussschaltkreis.

VSC7426 und VSC8574 Schaltpläne

In den Projektdateien befinden sich die Schaltpläne für die Schalter- und Port-Schnittstellen auf den Seiten eins, zwei und drei. Der VSC7426 umfasst eine DDR2-Schnittstelle und verwendet einen externen DDR2-RAM-Chip. Er verfügt über mehrere GPIOs, die als Anzeige dienen können, obwohl die vom Anbieter bereitgestellte Firmware auch die erforderlichen Statusmeldungen auf einem Terminal bereitstellt.

Die Schaltpläne für dieses Design basieren grob auf dem VSC7426/VSC7427 Referenzdesign von Microchip. Sie können auf das ursprüngliche Referenzdesign auf der Website von Microchip zugreifen.

Die Schaltungen von VSC7426 und VSC8574 sind in den untenstehenden Bildern dargestellt. Der VSC7426 ist der Star der Show und bietet bis zu 16 RJ-45-Ports. Der VSC8574 wird verwendet, um diese Portanzahl zu erweitern und kommuniziert über eine SGMII-Schnittstelle mit dem VSC7426. AC-Kopplungskondensatoren sind enthalten, wie es bei SGMII üblich ist. Beachten Sie, dass die Dokumentation von Microchip zu diesem Chipsatz empfiehlt, den VSC8574 auf VSC8664 zu aktualisieren; jedoch ist das öffentlich verfügbare Embedded-OS-Paket mit dem VSC8574-Chip kompatibel.

Einige der Einstellungen am VSC7426 werden durch einen Satz von Konfigurationswiderständen an den Pins C6, C7, C8 und C9 bestimmt. Das unten gezeigte Array von 1 kOhm Widerständen kann nach Bedarf installiert oder entfernt werden, um verschiedene Funktionen am VSC7426 zu aktivieren. Der VSC7427 kann ebenfalls in diesem Design verwendet werden, erfordert jedoch das Ändern einiger Widerstandseinstellungen, wie in der unteren linken Ecke des Bildes detailliert beschrieben.

Diese Chips haben mehrere Schienen und verwenden eine anständige Menge an Energie, um Takt und Signal zu erzeugen. Wie unten zu sehen ist, verwenden die Chips eine signifikante Anzahl von Entkopplungskondensatoren, um die Energieintegrität sicherzustellen.

Sie werden bemerken, dass Ferrite zur Isolierung von Elementen aufgrund des hohen Stromverbrauchs in der Hauptlogikversorgung verwendet werden. Wie in einigen anderen Altium-Artikeln erwähnt, funktioniert dieser Ansatz manchmal, um eine langsamere PLL oder eine analoge Schiene von einer schnellen digitalen Schiene, die parallel läuft, zu isolieren, aber es sollte getestet werden, um zu bestätigen, dass das Ferrit keine Transienten zwischen den beiden Schienen verstärkt. Dies ist etwas, das ich in einem kommenden Artikel und Video detaillierter besprechen werde, aber in der Zwischenzeit werde ich die Leser auf eine ältere DesignCon-Präsentation verweisen, die diesen spezifischen Einsatzfall von Ferritperlen diskutiert.

SFP-Steckverbinder-Schaltung

Das Bild unten zeigt die SFP-Steckverbinder-Schaltung, die verwendet wird, um eine Verbindung zu einem Glasfaser-Transceiver herzustellen. Die hier gezeigte SFP-Steckverbinder-Schaltung wird auch in anderen Designs verwendet, die bis zu 10 Gbps unterstützen. Der SFP-Steckverbinder benötigt mehrere Konfigurationswiderstände, um bestimmte Funktionen auf einem Glasfaser-Transceiver zugänglich zu machen. Einige davon sind im untenstehenden Schaltplan als DNI (Do Not Install) markiert, da sie für die minimal notwendige Funktionalität des Glasfaser-Transceivers nicht erforderlich sind.

Zusätzlich zum MOSFET, der verwendet wird, um den Tdis-Pin zu toggeln, gibt es etwas zusätzliche Logik zwischen dem VSC8574 und dem MOSFET. Man könnte diese zusätzliche Logik umgehen, wenn man den Glasfaser-Transceiver dauerhaft aktivieren möchte. Um dies zu tun, zieht man das Gate des MOSFETs hoch oder legt den Enable-Pin auf niedrig, und dies wird den Transceiver einschalten.

Ein weiterer wichtiger Punkt sind hier die Null-Ohm-Widerstände auf den RX- und TX-Leitungen. Die Null-Ohm-Widerstände könnten durch AC-Kopplungskondensatoren ersetzt werden, aber diese sind nicht erforderlich. Der Grund dafür ist, dass die AC-Kopplung in standardisierte Glasfaser-Transceivermodule integriert ist. Wenn man diese Schaltung bei 1 Gbps verwendet, wird der Wechsel zwischen 0-Ohm-Widerständen und verschiedenen Werten von AC-Kopplungskondensatoren höchstwahrscheinlich keinen Vorteil oder Nachteil für die Signalintegrität bringen. Sollte dieses Schema bei höheren Datenraten verwendet werden, könnten die Kopplungskondensatoren und ihre Position basierend auf Gründen angepasst werden, die ich in diesem kürzlich erschienenen Artikel beschreibe.

RAM und Flash-Speicher

Das Design umfasst sowohl Flash-Speicher als auch RAM für die Datenspeicherung und das Halten des Firmware-Binärcodes. Das Design beinhaltet zwei Flash-Chips, wie unten gezeigt, obwohl nur einer davon für ein minimal lebensfähiges Design erforderlich ist. Der kleinere 128 Mbit Macronix NOR-Flash-Chip (MX25L12835FMI-10G) wurde in unserem Demo-PCB verwendet und ist in Produktionsversionen dieses Designs zum Einsatz gekommen.

RAM und Flash-Speicher gefunden in SCH003.

Der Flash-Speicher muss an SPI angeschlossen werden und wird mit einem externen Programmiergerät über einen SWD-Stecker beschrieben. Dies wird später detaillierter besprochen.

Es gibt zwei weitere Speicherchips, die im Design verwendet werden können:

Auf unserem Demo-Board haben wir diese als DNI markiert und sie wurden nicht in die Montage aufgenommen.

RJ-45 zu Seriell/RS-232

Eine Möglichkeit, schnell eine Verbindung zu einem in einem Rack installierten Ethernet-Switch herzustellen, ist die Verwendung eines seriellen Ports. Um den Port durch das Gehäuse des Geräts zugänglich zu machen, besteht eine Option darin, einen seriellen Port über einen RJ-45-Stecker auszugeben. Dies wird unten mit einem nicht-magnetischen Jack-Stecker durchgeführt. Abhängig von der Ausrichtung des RJ-45-Seriellports könnte ein Kabel zu einem Patchfeld geführt werden, und ein Techniker könnte dann seinen Computer an ein Patchfeld anschließen, um auf den seriellen Port zuzugreifen.

Zugang zum seriellen Port wurde auch hinzugefügt, indem ein zweipoliger Header am Eingang des RS-232-Transceivers (J5 im obigen Bild) verwendet wurde. Dies ermöglicht Ihnen den Zugang zum seriellen Port über ein USB-zu-UART-Modul.

PCB-Layout

Dieses Design umfasst insgesamt drei BGAs, wobei der größte BGA der VSC7426 mit 672 Pins ist. Die meisten Pins am VSC7426 und am VSC8574 sind Masse- und Stromanschlüsse, daher benötigen wir keine Platine mit sehr vielen Lagen, um das Routing abzuschließen. Diese Platine wurde mit sechs Lagen fertiggestellt, wobei der unten gezeigte Stack-up verwendet wurde.

PCB-Stackup und Impedanzeinstellungen

Dieser Stack-up entspricht fast einem Standard-Stack-up von JLCPCB, obwohl die Toleranzen bei DDR2 und Ethernet einige Variationen in den Schichtdicken zulassen. Solange die äußeren Schichten dünn und die innere Kernschicht dick sind, erreichen die differentielle Impedanz und die einseitige Impedanz der impedanzkontrollierten Leitungen die Zielimpedanz innerhalb der zulässigen Toleranzen. Die dünnen äußeren Schichten stellen sicher, dass unsere Mikrostreifen-Verdrahtung nicht zu breit wird, da die Ethernet- und DDR2-Leitungen eine kontrollierte Impedanz erfordern.

Alle differentiellen Paare im Design wurden mit einer differentiellen Impedanz von 100 Ohm verlegt. Obwohl der Stack-up speziell entworfen wurde, um in einer breiten Palette von Fertigungsbetrieben produziert zu werden, wurde das später in diesem Artikel gezeigte Demo-Board bei JLCPCB mit einem ihrer Standard-Stack-ups hergestellt.

BGA-Fanout

Das Ethernet PHY-Chipsatz und der DDR2-Chip haben Ballabstände von jeweils 1,0 mm und 0,8 mm. Das bedeutet, dass wir Durchkontaktierungen mit Dog-Bone Fanout verwenden können, um die inneren Reihen der BGAs zu erreichen. Wir benötigen auch keine blinden und vergrabenen Vias für die Ethernet-Verbindungen, da die VSC-Chips die Ethernet-Pins am Rand der Gehäuse gebündelt haben. Das bedeutet, dass die Ethernet-Leitungen direkt als differentielle Mikrostreifen in die Gehäuse geführt werden können. Diese Verlegung wird unten gezeigt, einschließlich kleiner Längenanpassungsabschnitte, wo Ecken in der Verlegung vorhanden sind.

DDR2-Verlegung

Als Nächstes ist der DDR-Bus breit genug, dass das Design zwei Schichten benötigt, um vollständig in den DDR-Chip zu führen. Dies wird in den zwei untenstehenden Screenshots gezeigt. Der DDR-Bus wird mit einer 50-Ohm-Impedanz auf der internen Schicht und der externen Schicht verlegt; der differentielle Takt wird auf Schicht 4 gezeigt.

Es ist durchaus akzeptabel, diese Art von Routing für einen parallelen Bus durchzuführen, aber es erfordert eine Verzögerungsabstimmung zwischen den äußeren und inneren Schichten. Da die Mikrostreifen-Ausbreitungsverzögerung durch eine effektive dielektrische Konstante bestimmt wird, haben Signale, die entlang eines Mikrostreifens und einer Streifenleitung reisen, unterschiedliche Ausbreitungsgeschwindigkeiten. Dies erfordert eine Verzögerungsabstimmung auf den verschiedenen Schichten, um sicherzustellen, dass alle Signale auf dem DDR2-Bus innerhalb des erforderlichen Zeitfensters ankommen.

Parallele Schnittstelle

Die parallele Schnittstelle NAND-Flash wurde nicht auf dem Demo-Board installiert, aber das Design kann sie bei Bedarf aufnehmen. Die parallele Schnittstelle verwendet 8 längenabgeglichene Leiterbahnen, um zwischen dem VSC7426 und dem parallelen Flash zu verbinden. Dieses Routing ist auf Schicht 4 beschränkt und wird unten gezeigt (die parallele Schnittstelle ist hervorgehoben).

Stromversorgung und Erdung

Da dieses Design einen Prozessor beinhaltet, der viele Hochgeschwindigkeits-I/Os gleichzeitig betreibt, müssen einige grundlegende Prinzipien der Stromintegrität implementiert werden. Im Schaltplan haben wir eine große Anzahl von Kondensatoren gezeigt, die an den Logikschienen verwendet werden, aber die PCB benötigt auch Plattenkapazität für die Stromstabilität im 100-Megahertz-Bereich. Diese Anforderung an die Stromstabilität gilt hier, weil die Ethernet-Schnittstellen, die in diesem Gerät bereitgestellt werden, Kanalbandbreitenanforderungen im 100-MHz-Bereich haben, daher müssen wir stabile Leistung zumindest bis zu diesen Frequenzen sicherstellen.

Um dies zu erreichen, verlegen wir große Schienen auf Schicht 3, um die Stromversorgung direkt an die Hochgeschwindigkeits-I/O-Versorgungen mit 3,3 V, 2,5 V, 1,8 V und 1,0 V zu liefern.

Um sicherzustellen, dass das Design eine geringe Induktivität bei den Verbindungen für jeden Kondensator aufweist, wurden alle kleinen Bypass-Kondensatoren direkt auf der Rückseite der PCB, hinter dem VSC7426 BGA-Paket, montiert. Eine direkte Verbindung durch ein Paar Durchkontaktierungsvias zu den Bällen auf dem BGA-Paket fügt etwa 1 nH Induktivität zum ESL-Wert des Kondensators hinzu und wird die Reaktionsfähigkeit von kleinen SMD-Bypass-Kondensatoren im 10-MHz-Bereich begrenzen. Der gleiche Ansatz wurde beim VSC8574 verfolgt.

Entkopplungs-/Bypass-Kondensatoren werden direkt an die Durchkontaktierungsvias an den Strom-/Massepinpaaren angeschlossen, um eine geringe Induktivität bei den Kondensatoren zu gewährleisten.

Zusammen decken die Bulk-Kondensatoren an den Stromversorgungen, Bypass- und Entkopplungskondensatoren an den BGAs, die Plattenkapazität von den großen Schienen und die On-Die-Kapazität im Ethernet-Chipsatz kollektiv bis in den GHz-Bereich ab und helfen, die Leistungsintegrität zu gewährleisten.

3D-Modell

Das vollständige 3D-Modell des fertigen PCB-Layouts ist unten dargestellt. Wir können die 12x RJ-45-Ports, den zusätzlichen GbE-Uplink-Port, der mit dem VSC8574 verbunden ist, den seriellen RJ-45-Anschluss und den SFP-Käfig für unseren Glasfaser-Transceiver sehen.

Programmierung und Inbetriebnahme

Der VSC7426 verwendet einen eingebetteten Linux-Kernel mit RedBoot als Bootloader. Das eingebettete Betriebssystem ist einfach zu installieren, und der Code ist von Microchip erhältlich. Der Hersteller stellt je nach Master-Taktfrequenz, Erweiterungs-PHY und in der Konstruktion verwendeten Konfigurationseinstellungen verschiedene Versionen des Codes zur Verfügung. Um den Lesern einen schnellen Start zu ermöglichen, habe ich eine funktionierende Firmware-Binärdatei in den Projektdateien inkludiert.

Um die Binärdatei auf das Gerät zu flashen, benötigen die Benutzer einen Programmierer mit einer SPI-Schnittstelle. Der Programmierer, den ich bevorzugt zum Flashen verwende, ist der Forte-Programmierer, der auf ASIX.net erhältlich ist. Dieser Programmierer unterstützt eine lange Liste von Mikrocontrollern und Speichern, einschließlich des in diesem Projekt verwendeten Macronix SPI NOR-Flashs. Das Video am Ende dieses Artikels beschreibt die Flash-Schritte unter Verwendung der ASIX UP-Programmiersoftware und des Forte-Programmierers.

Sobald der Flash-Vorgang abgeschlossen ist, schalten Sie das Design aus, ziehen Sie den Programmierer ab und verbinden Sie eine serielle Brücke mit dem 2-Pin-Header (J5), um auf die UART-Schnittstelle zuzugreifen (Baudrate 115200 kbps). Schließen Sie anschließend die Eingangsleistung wieder an und das Design wird bis zu einer Anmeldeaufforderung hochfahren; melden Sie sich mit dem Benutzernamen admin an, das Passwort ist leer.

Terminalausgabe (in TeraTerm), nachdem der Switch hochgefahren ist und der Benutzer sich angemeldet hat

Es sind weitere Anweisungen erforderlich, um das Design vollständig hochzufahren und jeden der Ports zu aktivieren. Um diese Aufgaben zu vervollständigen, können Anweisungen in der Datei „VSC5611EV Mechanical Assembly and Programming Guide.pdf“ im Ordner Binaries in den Quelldateien gefunden werden. Die Programmieranweisungen beginnen auf Seite 18 der PDF-Datei.

Vollständige Projektübersicht auf Altium Academy

Das untenstehende Video zeigt unsere Inbetriebnahmearbeit und eine Überprüfung des PCB-Designs auf dem Altium Academy Youtube-Kanal. Um mehr über dieses Projekt zu erfahren und den Prozess des Flashens zu sehen, können Sie das folgende Video anschauen.

Ob Sie zuverlässige Leistungselektronik oder fortschrittliche digitale Systeme bauen müssen, nutzen Sie das komplette Set an PCB-Designfunktionen und Weltklasse-CAD-Tools in Altium Designer®. Um die Zusammenarbeit in der heutigen fachübergreifenden Umgebung zu implementieren, nutzen innovative Unternehmen die Altium 365™-Plattform, um Design-Daten einfach zu teilen und Projekte in die Fertigung zu bringen.

Wir haben nur an der Oberfläche dessen gekratzt, was mit Altium Designer auf Altium 365 möglich ist. Starten Sie heute Ihre kostenlose Testversion von Altium Designer + Altium 365.

Über den Autor / über die Autorin

Über den Autor / über die Autorin

Zachariah Peterson verfügt über einen umfassenden technischen Hintergrund in Wissenschaft und Industrie. Vor seiner Tätigkeit in der Leiterplattenindustrie unterrichtete er an der Portland State University. Er leitete seinen Physik M.S. Forschung zu chemisorptiven Gassensoren und sein Ph.D. Forschung zu Theorie und Stabilität von Zufallslasern. Sein Hintergrund in der wissenschaftlichen Forschung umfasst Themen wie Nanopartikellaser, elektronische und optoelektronische Halbleiterbauelemente, Umweltsysteme und Finanzanalysen. Seine Arbeiten wurden in mehreren Fachzeitschriften und Konferenzberichten veröffentlicht und er hat Hunderte von technischen Blogs zum Thema PCB-Design für eine Reihe von Unternehmen verfasst. Zachariah arbeitet mit anderen Unternehmen der Leiterplattenindustrie zusammen und bietet Design- und Forschungsdienstleistungen an. Er ist Mitglied der IEEE Photonics Society und der American Physical Society.

Ähnliche Resourcen

Verwandte technische Dokumentation

Zur Startseite
Thank you, you are now subscribed to updates.