Projekt przełącznika Gigabit Ethernet

Zachariah Peterson
|  Utworzono: luty 9, 2024  |  Zaktualizowano: maj 10, 2025
Projekt przełącznika Gigabit Ethernet

Gigabit Ethernet jest obecnie de facto standardem początkowym dla sieci biurowych i komercyjnych. Na rynku dostępnych jest wiele komponentów, które można wykorzystać do zbudowania prostego przełącznika Ethernet, ale w tym artykule pokażemy przykładowy projekt przełącznika Ethernet o dużej liczbie portów. Projekt przedstawiony w tym artykule obejmuje również rozbudowę o kabel światłowodowy z złączem SFP. Realizacja tego projektu wymaga pomyślnego wdrożenia kilku powszechnych aspektów projektowania wysokich prędkości, w tym:

  • Rozprowadzanie BGA
  • Projektowanie par różnicowych
  • Umieszczanie kondensatorów sprzęgających AC
  • Projektowanie z płaszczyznami zasilającymi w dużych BGA
  • Interfejsy jedno- i różnicowe wysokiej prędkości

Jak zwykle, pliki projektowe można pobrać z mojej strony internetowej. Możesz również sprawdzić linki do pobrania w osadzonym widoku Altium 365 poniżej. Kliknij ten link, aby pobrać archiwum ZIP z plikami źródłowymi projektu, lub możesz użyć linku do pobrania w osadzeniu.

 

Główne komponenty w przełączniku Gigabit Ethernet

 

Projekt tego przełącznika Ethernet opiera się na serii procesorów przełączników Ethernet VSC742x od Microchip. Te procesory mogą być sparowane z powiązanym PHY rozszerzenia, który łączy się z procesorem przełącznika za pośrednictwem interfejsu SGMII. Są również dodatkowe komponenty do pamięci i zewnętrznej komunikacji, jak również kilka regulatorów mocy. Lista głównych komponentów w obwodach zawiera:

W sumie urządzenie obsługuje 12 standardowych portów Ethernet, zawiera jeden port uplinkowy oraz jeden port SFP dla transceivera światłowodowego. Projekt zawiera również interfejs szeregowy wyprowadzony na złącze RJ-45 bez obwodu zakończenia mag jack.

Schematy VSC7426 i VSC8574

W plikach projektowych schematy dla przełącznika i interfejsów portów znajdują się na stronach pierwszej, drugiej i trzeciej. VSC7426 zawiera interfejs DDR2 i używa zewnętrznego chipu RAM DDR2. Posiada kilka GPIO, które mogą funkcjonować jako wskaźniki, chociaż dostarczone przez dostawcę oprogramowanie układowe również dostarcza wymagane komunikaty o stanie na terminalu.

Schematy dla tego projektu są mniej więcej oparte na projekcie referencyjnym VSC7426/VSC7427 od Microchip. Możesz uzyskać dostęp do oryginalnego projektu referencyjnego na stronie internetowej Microchip.

Obwody VSC7426 i VSC8574 są pokazane na poniższych obrazach. VSC7426 jest gwiazdą tego pokazu i zapewnia do 16 portów RJ-45. VSC8574 jest używany do rozszerzenia tej liczby portów i komunikuje się z VSC7426 za pośrednictwem interfejsu SGMII. Kondensatory sprzęgające AC są dołączone, jak to standardowo ma miejsce w SGMII. Należy zauważyć, że dokumentacja Microchip dotycząca tego chipsetu zaleca aktualizację VSC8574 do VSC8664; jednak publicznie dostępny pakiet OS jest kompatybilny z chipem VSC8574.

Niektóre ustawienia VSC7426 są określane za pomocą zestawu rezystorów konfiguracyjnych na pinach C6, C7, C8 i C9. Poniżej pokazano szereg rezystorów 1 kOhm, które można instalować lub usuwać w razie potrzeby, aby przełączać różne funkcje na VSC7426. VSC7427 również może być użyty w tej konstrukcji, ale wymaga zmiany niektórych ustawień rezystorów, co szczegółowo opisano w lewym dolnym rogu obrazu.

Te układy mają wiele szyn zasilających i używają sporej ilości energii do generowania zegara i sygnału. Jak widać poniżej, układy używają znacznej liczby kondensatorów odsprzęgających, aby zapewnić integralność zasilania.

Zauważysz, że do izolowania elementów ze względu na wysokie zużycie prądu w głównym zasilaniu logiki używane są dławiki ferrytowe. Jak wspomniano w niektórych innych artykułach Altium, to podejście czasami działa dla izolowania wolniejszego PLL lub szyny analogowej od szybkiej szyny cyfrowej działającej równolegle, ale należy przeprowadzić testy, aby potwierdzić, że dławik ferrytowy nie wzmacnia przejściowych zakłóceń między dwoma szynami. To jest coś, o czym omówię bardziej szczegółowo w nadchodzącym artykule i wideo, ale tymczasem odsyłam czytelników do starszej prezentacji DesignCon, która omawia ten konkretny przypadek użycia koralików ferrytowych.

Obwód złącza SFP

Poniższy obrazek przedstawia obwód złącza SFP, używany do połączenia z nadajnikiem światłowodowym. Przedstawiony tutaj obwód złącza SFP jest używany w innych projektach osiągających prędkość do 10 Gbps. Złącze SFP wymaga wielu rezystorów konfiguracyjnych, aby uzyskać dostęp do pewnych funkcji nadajnika światłowodowego. Niektóre z nich zostały oznaczone na schemacie poniżej jako DNI, ponieważ nie są wymagane dla minimalnej funkcjonalności nadajnika światłowodowego.

Dodatkowo do użytego MOSFETu do przełączania pinu Tdis, istnieje dodatkowa logika pomiędzy VSC8574 a MOSFETem. Można ominąć tę dodatkową logikę, jeśli chce się na stałe włączyć nadajnik światłowodowy. Aby to zrobić, należy podciągnąć bramkę MOSFETu do wysokiego poziomu lub spolaryzować pin włączający do niskiego, co przełączy nadajnik na stałe.

Kolejnym ważnym punktem tutaj są rezystory o zerowej oporności na liniach RX i TX. Rezystory o zerowej oporności mogą być zastąpione kondensatorami sprzęgającymi AC, ale nie są one wymagane. Powodem jest to, że sprzęganie AC jest wbudowane w standaryzowane moduły nadawczo-odbiorcze światłowodowe. Przy użyciu tego obwodu przy 1 Gbps, zamiana rezystorów o zerowej oporności na różne wartości kondensatorów sprzęgających AC najprawdopodobniej nie przyniesie żadnych korzyści ani szkód dla integralności sygnału. Jeśli ten schemat ma być używany przy wyższych prędkościach transmisji danych, kondensatory sprzęgające i ich lokalizacja mogą być dostosowane na podstawie przyczyn, które opisuję w tym ostatnim artykule.

Pamięć RAM i Flash

Projekt zawiera zarówno pamięć flash, jak i RAM do przechowywania danych oraz trzymania binarnego firmware'u odpowiednio. Projekt zawiera dwa układy pamięci flash, jak pokazano poniżej, chociaż tylko jeden z nich jest wymagany dla minimalnie wykonalnego projektu. Mniejszy 128 Mbitowy chip pamięci NOR flash firmy Macronix (MX25L12835FMI-10G) został użyty w naszym demonstracyjnym PCB i został użyty w wersjach produkcyjnych tego projektu.

Pamięci RAM i Flash znalezione w SCH003.

Pamięć flash musi być podłączona do SPI i będzie programowana za pomocą zewnętrznego programatora przy użyciu złącza SWD. To zostanie omówione bardziej szczegółowo później.

Istnieją dwa inne układy pamięci, które mogą być użyte w projekcie:

Na naszej płycie demonstracyjnej oznaczyliśmy te elementy jako DNI i nie zostały one włączone do montażu.

RJ-45 na Serial/RS-232

Jednym ze sposobów na szybkie połączenie z przełącznikiem Ethernetowym zamontowanym w stelażu jest użycie portu szeregowego. Aby umożliwić dostęp do portu przez obudowę urządzenia, jedną z opcji jest wyprowadzenie portu szeregowego przez złącze RJ-45. Jest to wykonane poniżej za pomocą złącza jack bez magnesu. W zależności od orientacji portu szeregowego RJ-45, kabel mógłby być przekierowany do panelu łat, a technik mógłby wtedy podłączyć swój komputer do panelu łat, aby uzyskać dostęp do portu szeregowego.

Dostęp do portu szeregowego został również dodany za pomocą dwupinowego złącza na wejściu przetwornika RS-232 (J5 na powyższym obrazie). Daje to dostęp do portu szeregowego przez moduł USB-do-UART.

Układ PCB

Ten projekt zawiera łącznie trzy BGA, z których największe to VSC7426 z 672 pinami. Większość pinów w VSC7426 i VSC8574 to masa i zasilanie, więc nie będziemy potrzebować płytki o bardzo wysokiej liczbie warstw, aby zakończyć trasowanie. Ta płyta została wykonana przy użyciu sześciu warstw z układem warstw pokazanym poniżej.

Układ warstw PCB i ustawienia impedancji

Ten układ warstw prawie odpowiada standardowemu układowi warstw z JLCPCB, chociaż tolerancje na DDR2 i Ethernet pozwalają na pewne zmiany w grubościach warstw. Dopóki zewnętrzne warstwy są cienkie, a wewnętrzna warstwa rdzenia jest gruba, różnicowa impedancja i impedancja jednostronna kontrolowanych linii impedancji osiągają docelową impedancję w ramach dozwolonych tolerancji. Cienkie zewnętrzne warstwy zapewniają, że nasze trasowanie mikropaskowe nie będzie zbyt szerokie, ponieważ linie Ethernet i DDR2 wymagają kontrolowanej impedancji.

Wszystkie pary różnicowe w projekcie zostały ztrasowane z impedancją różnicową 100 omów. Chociaż układ warstw został zaprojektowany na zamówienie, aby można go było produkować w szerokim zakresie zakładów produkcyjnych, pokazana później w tym artykule płyta demonstracyjna została wyprodukowana w JLCPCB z jednym z ich standardowych układów warstw.

Rozwinięcie BGA

Chipset Ethernet PHY oraz chip DDR2 mają rozstaw kulek wynoszący odpowiednio 1,0 mm i 0,8 mm. Oznacza to, że możemy użyć przelotek z rozwidleniem w kształcie kości psa, aby dotrzeć do wewnętrznych rzędów BGA. Nie potrzebujemy również ślepych i zakopanych przelotek dla łączy Ethernet, ponieważ chipy VSC mają zgrupowane piny Ethernetu wokół krawędzi obudów. Oznacza to, że ścieżki Ethernetu mogą być prowadzone prosto do obudów jako różnicowe mikropaski. Prowadzenie to jest pokazane poniżej, w tym małe sekcje strojenia długości, gdzie w prowadzeniu występują zakręty.

Routing DDR2

Następnie, magistrala DDR jest na tyle szeroka, że projekt wymaga dwóch warstw, aby w pełni poprowadzić do chipa DDR. Jest to pokazane na dwóch poniższych zrzutach ekranu. Magistrala DDR jest prowadzona z impedancją 50 omów na warstwie wewnętrznej i zewnętrznej; różnicowy zegar jest pokazany na warstwie 4.

Jest całkowicie akceptowalne, aby wykonać tego typu trasowanie dla magistrali równoległej, ale wymaga to dostrojenia opóźnień między warstwami zewnętrznymi i wewnętrznymi. Ponieważ opóźnienie propagacji mikropaska jest określone przez efektywną stałą dielektryczną, sygnały podróżujące wzdłuż mikropaska i stripline będą miały różne prędkości propagacji. Wymaga to dostrojenia opóźnień na różnych warstwach, aby zapewnić, że wszystkie sygnały na magistrali DDR2 przybywają w wymaganym oknie czasowym.

Interfejs równoległy

Interfejs NAND flash równoległy nie został zainstalowany na płycie demonstracyjnej, ale projekt umożliwia jego montaż w razie potrzeby. Interfejs równoległy używa 8 ścieżek o dopasowanej długości do trasowania między VSC7426 a pamięcią flash równoległą. Trasowanie to ogranicza się do warstwy 4 i jest pokazane poniżej (interfejs równoległy jest wyróżniony).

Zasilanie i uziemienie

Ponieważ ten projekt obejmuje procesor, który ma wiele szybkich wejść/wyjść działających jednocześnie, należy zaimplementować kilka podstawowych zasad integralności zasilania. Na schemacie pokazaliśmy dużą liczbę kondensatorów używanych na szynach logicznych, ale PCB również potrzebuje pojemności płaszczyzny dla stabilności zasilania w zakresie 100 megaherców. Wymaganie stabilności zasilania ma zastosowanie tutaj, ponieważ interfejsy Ethernet dostarczane w tym urządzeniu mają wymagania dotyczące pasma kanału w zakresie 100 MHz, więc musimy zapewnić stabilne zasilanie przynajmniej do tych częstotliwości.

Aby to osiągnąć, prowadzimy duże szyny na warstwie 3, aby dostarczać zasilanie bezpośrednio do szybkich wejść/wyjść przy 3,3V, 2,5V, 1,8V i 1,0V.

Aby zapewnić, że projekt ma niską indukcyjność na połączeniach dla każdego kondensatora, wszystkie małe kondensatory obwodowe zostały zamontowane bezpośrednio na tylnej stronie PCB, za pakietem BGA VSC7426. Bezpośrednie połączenie przez parę przelotowych otworów do kulek na pakiecie BGA dodaje około 1 nH indukcyjności do wartości ESL kondensatora i ograniczy zdolność reakcji małych kondensatorów SMD do zakresu 10 MHz. To samo podejście zostało zastosowane w VSC8574.

Kondensatory sprzęgające/obwodowe są podłączone bezpośrednio do przelotowych otworów na parach pinów zasilania/masy, aby zapewnić niską indukcyjność połączeń na kondensatorach.

Razem, duże kondensatory na zasilaczach, kondensatory sprzęgające i obwodowe na BGA, pojemność płaszczyzny od dużych szyn oraz pojemność na chipie w chipsecie Ethernetowym łącznie pokrywają zakres do GHz i pomagają zapewnić integralność zasilania.

Model 3D

Kompletny model 3D gotowego układu PCB przedstawiono poniżej. Możemy zobaczyć 12 portów RJ-45, dodatkowy port GbE Uplink połączony z VSC8574, złącze serial-RJ-45 oraz klatkę SFP dla naszego nadajnika światłowodowego.

Programowanie i uruchamianie

VSC7426 uruchamia wbudowany system operacyjny Linux, używając RedBoot jako bootloadera. Wbudowany system operacyjny jest prosty w instalacji, a kod jest dostępny od Microchip. Dostawca udostępnia różne wersje kodu w zależności od używanej częstotliwości zegara głównego, dodatkowego PHY i ustawień konfiguracyjnych używanych w projekcie. Aby pomóc czytelnikom szybko zacząć, dołączyłem działający binarny obraz firmware'u w plikach projektu.

Aby zaprogramować urządzenie tym binarnym obrazem, użytkownicy będą potrzebować programatora z interfejsem SPI. Programatorem, którego wolę używać do programowania, jest programator Forte, dostępny na ASIX.net. Ten programator obsługuje długą listę mikrokontrolerów i pamięci, w tym pamięć flash Macronix SPI NOR używaną w tym projekcie. Wideo na końcu tego artykułu przedstawia kroki programowania przy użyciu oprogramowania programującego ASIX UP i programatora Forte.

Po zakończeniu procesu programowania wyłącz projekt, odłącz programator i podłącz mostek szeregowy do złącza 2-pinowego (J5), aby uzyskać dostęp do interfejsu UART (prędkość transmisji 115200 bps). Następnie ponownie zastosuj zasilanie, a projekt uruchomi się do monitu logowania; zaloguj się za pomocą nazwy użytkownika admin, hasło pozostaw puste.

Wyjście terminala (w TeraTerm) po uruchomieniu przełącznika i zalogowaniu użytkownika

Aby w pełni uruchomić projekt i aktywować każdy z portów, wymagane są dalsze instrukcje. Aby ukończyć te zadania, instrukcje można znaleźć w pliku „VSC5611EV Mechanical Assembly and Programming Guide.pdf” w folderze Binaries w plikach źródłowych. Instrukcje programowania zaczynają się na stronie 18 pliku PDF.

Pełny przegląd projektu na Altium Academy

Poniższe wideo pokazuje naszą pracę nad uruchomieniem i przegląd projektu PCB na kanale Youtube Altium Academy. Aby dowiedzieć się więcej o tym projekcie i zobaczyć proces programowania, możesz obejrzeć poniższe wideo.

Czy potrzebujesz zbudować niezawodną elektronikę mocy czy zaawansowane systemy cyfrowe, użyj kompletnego zestawu funkcji projektowania PCB i światowej klasy narzędzi CAD w Altium Designer®. Aby wdrożyć współpracę w dzisiejszym środowisku interdyscyplinarnym, innowacyjne firmy korzystają z platformy Altium 365™, aby łatwo udostępniać dane projektowe i wprowadzać projekty do produkcji.

Dopiero zaczynamy odkrywać, co jest możliwe z Altium Designer na Altium 365. Zacznij swoją darmową próbę Altium Designer + Altium 365 już dziś.

About Author

About Author

Zachariah Peterson ma bogate doświadczenie techniczne w środowisku akademickim i przemysłowym. Obecnie prowadzi badania, projekty oraz usługi marketingowe dla firm z branży elektronicznej. Przed rozpoczęciem pracy w przemyśle PCB wykładał na Portland State University i prowadził badania nad teorią laserów losowych, materiałami i stabilnością. Jego doświadczenie w badaniach naukowych obejmuje tematy związane z laserami nanocząsteczkowymi, elektroniczne i optoelektroniczne urządzenia półprzewodnikowe, czujniki środowiskowe i stochastykę. Jego prace zostały opublikowane w kilkunastu recenzowanych czasopismach i materiałach konferencyjnych. Napisał ponad 2000 artykułów technicznych na temat projektowania PCB dla wielu firm. Jest członkiem IEEE Photonics Society, IEEE Electronics Packaging Society, American Physical Society oraz Printed Circuit Engineering Association (PCEA). Wcześniej był członkiem z prawem głosu w Technicznym Komitecie Doradczym INCITS Quantum Computing pracującym nad technicznymi standardami elektroniki kwantowej, a obecnie jest członkiem grupy roboczej IEEE P3186 zajmującej się interfejsem reprezentującym sygnały fotoniczne przy użyciu symulatorów obwodów klasy SPICE.

Powiązane zasoby

Powiązana dokumentacja techniczna

Powrót do strony głównej
Thank you, you are now subscribed to updates.