Trasowanie sygnałów wysokiej prędkości: 10 ważnych ograniczeń projektowych PCB

Zachariah Peterson
|  Utworzono: kwiecień 29, 2020  |  Zaktualizowano: październik 1, 2026
At a Glance

Strategia prowadzenia szybkich sygnałów wymaga uwzględnienia ograniczeń i kreatywnego planowania rozmieszczenia elementów. Oto jak prawidłowo prowadzić szybkie sygnały.

Go Deeper with AI:
Trasowanie sygnałów wysokiej prędkości: 10 ważnych ograniczeń projektowych PCB

Twoja nowoczesna cyfrowa PCB najprawdopodobniej działa jak szybki system cyfrowy, niezależnie od tego, czy było to Twoim zamiarem. Oczywiście wpływ i wymagany poziom analizy zależą od czasu narastania sygnałów, a to często ogranicza sposób i miejsce prowadzenia określonych sygnałów na PCB. Ograniczenia te można zdefiniować jako reguły projektowe PCB w projekcie PCB, a w tym artykule omówimy niektóre z typowych ograniczeń stosowanych w projektach high-speed, aby zapewnić poprawne trasowanie.

10 ważnych ograniczeń trasowania high-speed na PCB

Wartości szerokości ścieżek według warstw

Standardowe interfejsy używane do przesyłania szybkich danych cyfrowych to interfejsy z kontrolowaną impedancją. Sterownik podłączony do ścieżki oczekuje, że ścieżka będzie miała określoną wartość impedancji, a oprogramowanie ECAD musi to utrzymać po rozpoczęciu trasowania. Podobnie odbiorniki są terminowane do określonej impedancji wejściowej lub pojemności obciążenia i działają zgodnie ze specyfikacją tylko wtedy, gdy impedancja podłączonej ścieżki jest właściwa.

Po utworzeniu modelu impedancji dla projektu należy ustalić ograniczenie szerokości ścieżki oraz dopuszczalne odchylenia dla każdej warstwy sygnałowej, a następnie zastosować je do różnych klas sieci. Wymaga to obliczenia impedancji ścieżki dla różnych geometrii.

W Altium Designer obliczenia impedancji linii transmisyjnych są wykonywane w tym samym narzędziu, które służy do definiowania stosu warstw PCB.

  1. Otwórz Design » Layer Stack Manager i skonfiguruj stackup, uwzględniając grubości miedzi, grubości dielektryków oraz właściwości materiałów dielektrycznych.
  2. Wybierz kartę Impedance i kliknij Add Impedance Profile albo przycisk dodawania, jeśli profil już istnieje.
  3. W panelu Properties wybierz typ profilu i wprowadź wartości Target Impedance oraz Target Tolerance.
  4. Włącz warstwy sygnałowe, które będą korzystać z tego profilu, a następnie przypisz warstwy referencyjne w kolumnach Top Ref i Bottom Ref.
  5. Wybierz każdą włączoną warstwę sygnałową i sprawdź obliczoną szerokość ścieżki. W przypadku profilu różnicowego zablokuj Width albo Trace Gap, aby solver obliczył drugą wartość dla docelowej impedancji.
  6. Zapisz stos warstw. Otrzymany profil można następnie wybrać w odpowiedniej regule Width lub Differential Pairs Routing.

Klasy sieci z kontrolowaną impedancją

Aby zapewnić utrzymanie poprawnej impedancji trasowania dla określonych interfejsów, stosujemy prosty proces grupowania sieci i tworzenia specyficznych dla nich reguł projektowych wymuszających szerokość ścieżki. Grupowanie sieci o tej samej impedancji w klasy sieci to najszybszy sposób stosowania wielu ograniczeń do grup sieci, w tym głównych ograniczeń high-speed, takich jak szerokość ścieżki i dopasowanie opóźnień propagacji w magistralach równoległych oraz parach różnicowych.

  1. Na schemacie dołącz dyrektywę Net Class do każdej sieci należącej do grupy i wpisz tę samą nazwę klasy dla każdej dyrektywy. Do grupowania wielu sieci można też użyć blanket z dołączonym zestawem parametrów.
  2. Otwórz Project » Project Options » Class Generation i włącz generowanie klas sieci definiowanych przez użytkownika. Zaktualizuj PCB i wykonaj zmiany związane z klasami w Engineering Change Order.
  3. Alternatywnie utwórz klasę bezpośrednio w edytorze PCB przez Design » Classes. Dodaj nową klasę w sekcji Net Classes, nadaj jej nazwę i przenieś wymagane sieci z Non-Members do Members.
  4. Otwórz Design » Rules i utwórz wymaganą regułę, na przykład Routing » Width.
  5. Ustaw zakres reguły na InNetClass('ClassName'), zastępując ClassName rzeczywistą nazwą klasy.
  6. Skonfiguruj ograniczenia. Dla trasowania z kontrolowaną impedancją włącz Use Impedance Profile i wybierz profil utworzony w Layer Stack Manager.
  7. Nadaj regule specyficznej dla klasy wyższy priorytet niż szerszym regułom tego samego typu, a następnie zastosuj zmiany.

A co z odchyłką impedancji? Jak ją uwzględnić, jeśli planujesz zmieniać szerokość ścieżki? Można to zrobić za pomocą neck-down, czyli zmiany szerokości ścieżki, gdy ścieżka wchodzi na przykład do obszaru footprintu BGA. Jeśli możesz przewidzieć takie potrzeby trasowania, zaplanuj uwzględnienie zmiany szerokości ścieżki w regułach projektowych PCB.

Ograniczenie ścieżki powrotnej

Kontrole ograniczenia ścieżki powrotnej weryfikują, czy ścieżka nie przecina granicy płaszczyzny referencyjnej, takiej jak szczelina między dwiema szynami w warstwie zasilania. Przecięcie takiej szczeliny przerywa pobliską ścieżkę powrotną i zmusza prąd powrotny do obejścia. W Altium Designer reguła Return Path wykorzystuje przypisany profil impedancji do identyfikacji warstw referencyjnych i sprawdzania ciągłości miedzi pod trasowaniem.

Skew czasowy

Skew między sygnałami w magistralach równoległych lub w obrębie pary różnicowej musi być zminimalizowany, gdy wymagania dotyczące dopasowania opóźnień są bardzo rygorystyczne. Istnieją trzy kategorie skew czasowego, które należy ograniczać w układzie PCB:

  • Dopasowanie opóźnienia sygnałów w obrębie pary różnicowej
  • Dopasowanie opóźnień między wieloma parami różnicowymi
  • Dopasowanie długości w magistralach mieszanych (single-ended i pary różnicowe)

To właśnie dlatego lubimy definiować klasy sieci; znacznie upraszcza to ograniczenia czasowe, ponieważ można je wdrożyć dla wszystkich sieci w danej klasie.

W przypadku interfejsów takich jak PCIe i DDR ograniczenia czasowe są tak rygorystyczne, że do dokładnego zapewnienia dotarcia sygnałów do celu w wymaganym oknie czasowym potrzebne jest opóźnienie propagacji pin-package. Informacje te może dostarczyć producent komponentu, aby umożliwić modelowanie danego interfejsu high-speed. Gdy tworzysz symbol schematowy dla komponentu bibliotecznego, informacje o opóźnieniu pinów można uwzględnić w definicjach pinów po obu końcach połączenia, a wartości tych opóźnień zostaną uwzględnione w narzędziu strojenia opóźnień podczas trasowania.

Aby uwzględnić opóźnienia pin-package w obliczeniach strojenia opóźnień podczas trasowania w Altium Designer, sieci danego interfejsu muszą zostać uwzględnione w xSignals. Narzędzie to uwzględnia wszystkie opóźnienia punkt-punkt między dwoma układami scalonymi i wykorzystuje je w obliczeniach strojenia opóźnień.

Ograniczenia warstw trasowania

W płytkach o dużej liczbie warstw często zdarza się, że określone klasy sieci lub klasy par różnicowych są przypisane wyłącznie do konkretnych warstw. Są ku temu dwa główne powody:

  • Różne warstwy są rozdzielane według impedancji, co ułatwia testowanie kontrolowanej impedancji
  • Niektóre połączenia wymagają większych odstępów, aby zapewnić niski przesłuch, przez co pozostaje mało miejsca na inne ścieżki sygnałowe

Na przykład często rozdziela się różne interfejsy, takie jak DDR, pary różnicowe 90 Ohm (np. USB), pary różnicowe 100 Ohm oraz inne magistrale z kontrolowaną impedancją, na osobne warstwy ze wspólnym projektem par. Taki podział można również wykonać według wartości szerokości ścieżki/odstępu, ponieważ ułatwia to producentom wymianę materiałów na równoważne, gdy jest to konieczne.

Reguła Routing Layers określa, które warstwy sygnałowe mogą być używane przez docelową klasę sieci lub klasę par różnicowych. Reguły specyficzne dla klas pozwalają każdemu interfejsowi korzystać z przypisanych warstw, przy jednoczesnym zachowaniu bardziej ogólnej reguły dla pozostałego trasowania.

  1. Otwórz Design » Rules i utwórz nową regułę w sekcji Routing » Routing Layers.
  2. Ustaw niestandardowy zakres na InNetClass('ClassName') dla klasy sieci lub InDifferentialPairClass('PairClass') dla klasy par różnicowych.
  3. Na liście warstw włącz Allow Routing dla dozwolonych warstw i wyłącz tę opcję dla pozostałych warstw.
  4. Nadaj tej regule wyższy priorytet niż wszelkim szerszym regułom Routing Layers obejmującym te same sieci.
  5. Zastosuj regułę i uruchom kontrolę reguł projektowych, aby zidentyfikować istniejące trasowanie na niedozwolonych warstwach.

Odstępy do wszystkich innych obiektów według warstwy

Wartości odstępów zwykle różnią się dla warstw wewnętrznych i zewnętrznych ze względu na proces galwanicznego pokrywania warstw zewnętrznych. Jednak ponieważ wiele projektów high-speed jest jednocześnie projektami o dużej gęstości, często zdarza się, że różne warstwy wewnętrzne wymagają różnych wartości odstępów. Wynika to z zastosowania sublaminacji, które wymagają dodatkowego procesu galwanizacji i prowadzą do większej końcowej grubości miedzi niż bazowa masa folii.

W Altium Designer odstępy według warstwy można definiować za pomocą systemu zapytań:

  1. Otwórz Design » Classes w edytorze PCB i utwórz nową klasę warstw w sekcji Layer Classes.
  2. Nadaj klasie nazwę i dodaj warstwy, które mają takie same wymagania dotyczące odstępów. Powtórz tę czynność dla każdej grupy wymagającej innych odstępów.
  3. Otwórz Design » Rules i utwórz nową regułę w sekcji Electrical » Clearance dla każdej warstwy lub klasy warstw.
  4. Wybierz niestandardowe zapytanie dla zakresu pierwszego obiektu. Użyj OnLayer('Top Layer') dla pojedynczej warstwy lub InLayerClass('LayerClass') dla klasy warstw, podstawiając rzeczywistą nazwę warstwy lub klasy.
  5. Ustaw zakres drugiego obiektu na All, aby reguła sprawdzała odstęp do innych obiektów miedzianych na danej warstwie.
  6. Wybierz Different Nets Only i wprowadź wymagany minimalny odstęp. Użyj macierzy odstępów, jeśli różne kombinacje obiektów wymagają różnych wartości.
  7. Nadaj regułom specyficznym dla warstw wyższy priorytet niż ogólnej regule odstępu, zastosuj zmiany i uruchom kontrolę reguł projektowych.

Pamiętaj, aby uzyskać wymagania dotyczące odstępów według grubości miedzi (wewnętrznej i zewnętrznej) od dostawcy usług produkcji PCB.

Możliwe jest również definiowanie odstępów według warstwy przy użyciu nowego Constraint Manager. Zapewnia to podejście macierzowe do definiowania odstępów, które projektanci korzystający z innego oprogramowania ECAD uznają za znacznie bardziej znajome. Dowiedz się więcej o Constraint Manager w poniższym materiale wideo:

Rozmiary przelotek lub szablony specyficzne dla sieci

W innym miejscu na blogu Altium omawiałem, jak działa impedancja przelotki i przy jakich częstotliwościach przelotki muszą być projektowane pod określoną impedancję wejściową. Te rozmiary przelotek i rozmiary anti-pad będą specyficzne dla sieci dla określonego stackupu i zakresu warstw, a ograniczenia dotyczące rozmiaru przelotki/padu można zdefiniować za pomocą reguł projektowych PCB.

Rozmiary przelotek można ograniczać na dwa sposoby:

  • Przez zdefiniowanie dozwolonych rozmiarów dla określonych sieci/klas sieci
  • Przez przypisanie szablonu przelotki do określonych sieci/klas sieci

Określenie właściwego rozmiaru przelotki nie jest tak proste, jak użycie kalkulatora online do wyznaczenia jej wymiarów. Wymaga to trójwymiarowej symulacji pola elektromagnetycznego albo przynajmniej modelu empirycznego opracowanego na podstawie danych z symulacji. Po określeniu rozmiarów przelotek i wymiarów anti-padu należy wymusić je jako reguły projektowe, aby mieć pewność, że istotne sieci wysokiej szybkości są ograniczone do właściwych rozmiarów przelotek.

Via Anti-Pad

Anti-pad przelotki to kolejny element projektowania pod kątem impedancji przelotki, ponieważ odstęp od płaszczyzny wpływa na pojemność wzdłuż cylindrycznej części przelotki. W każdym projekcie istnieje już minimalny wymagany odstęp między padami przelotek a pobliską miedzią na szynach płaszczyzn lub dużych szynach zasilania. Wartość odstępu między przelotką a miedzią można dostosować dla określonych sieci za pomocą reguły projektowej PCB dla pojedynczej sieci lub klasy sieci.

W przypadku sieci różnicowych kształt anti-padu może być podłużny lub eliptyczny, zamiast okrągłego wokół poszczególnych przelotek. Taki współdzielony anti-pad najlepiej zdefiniować przez narysowanie jego kształtu jako wycięcia w płaszczyźnie lub wycięcia w poligonie. Przykład pokazano poniżej.

Via-in-Pad Allowance

Jedną z cech nowoczesnych szybkich płytek PCB jest to, że są one także płytkami o dużej gęstości upakowania. Wynika to z faktu, że większość procesorów jest obecnie dostarczana w obudowach BGA, a przy małym rastrze do wykonania routingu fanout konieczne będzie zastosowanie via-in-pad. Nawet w przypadku obudów BGA o większym rastrze, z fanoutem typu dog-bone, optymalne rozmieszczenie kondensatorów odsprzęgających znajduje się po spodniej stronie BGA z użyciem via-in-pad.

Domyślnie oprogramowanie ECAD sprawdza występowanie via-in-pad i oznacza je jako naruszenie DRC, jeśli występuje. Jednak via-in-pad można dopuścić w regułach projektowych, aby obsłużyć routing fanout dla BGA.

Otwórz Design » Rules i utwórz regułę High Speed » Via Under SMD. Włącz opcję Allow Vias under SMD Pads i ogranicz zakres reguły do zamierzonych padów, używając IsPad AND WithinRoom('BGA_Fanout') dla zdefiniowanego obszaru fanoutu. Nadaj jej wyższy priorytet niż regule ogólnej. Skonfiguruj również odpowiadającą jej regułę Same Net Only Clearance z zerowym odstępem pad SMD–przelotka oraz pad–otwór przelotki dla zatwierdzonych przelotek.

Upewnij się, że odpowiednie przelotki są określone jako wypełnione i zakryte z użyciem opcji typów przelotek IPC-4761 w panelu Properties. Można to również zrobić, ręcznie wybierając konkretną grupę przelotek do metalizacji i zakrycia albo dodając uwagę produkcyjną do rysunku głównego, jeśli wszystkie przelotki mają być wypełnione i zakryte.

Differential Pair Uncoupled Length

Niesprzężona długość pary różnicowej wpływa na straty odbiciowe w kanale różnicowym, dlatego w niektórych zastosowaniach ważne jest określenie odpowiedniej długości niesprzężonej. Obszar niesprzężony najczęściej pojawia się podczas wyprowadzania ścieżek z gęstego pola wyprowadzeń w obudowie BGA, gdzie ścieżki muszą się od siebie oddalić, aby ominąć przelotki.

Obliczenie długości niesprzężonej nie jest proste, ponieważ opiera się na prawidłowym obliczeniu długości krytycznej na podstawie szerokości pasma kanału. Dobrą strategią jest rozpoczęcie projektowania pary różnicowej z luźnym sprzężeniem, jeśli wiadomo, że w routingu fanout pojawi się obszar niesprzężony, ponieważ zmniejszy to niedopasowanie impedancji w tym obszarze i ograniczy konwersję modów.

Aby dowiedzieć się więcej o systemie reguł projektowania PCB w Altium Designer, obejrzyj poniższy film.

 

Niezależnie od tego, czy chcesz tworzyć niezawodną elektronikę mocy, czy zaawansowane systemy cyfrowe, skorzystaj z kompletnego zestawu funkcji projektowania PCB i światowej klasy narzędzi CAD firmy Altium. Altium zapewnia wiodącą na świecie platformę do projektowania produktów elektronicznych, obejmującą najlepsze w branży narzędzia do projektowania PCB oraz funkcje współpracy międzydyscyplinarnej dla zaawansowanych zespołów projektowych. Skontaktuj się dziś z ekspertem Altium!

 

Najczęściej zadawane pytania

Jak mogę sprawdzić, czy ścieżki PCB przecinają przerwy w swoich płaszczyznach odniesienia?

W Altium Designer utwórz regułę High Speed » Return Path i ogranicz jej zakres do odpowiednich sieci lub klasy sieci. Wybierz profil impedancyjny definiujący ich warstwy odniesienia, skonfiguruj minimalną odległość ścieżki od granic miedzi odniesienia i uruchom zbiorczą kontrolę reguł projektowych. Kontrola wskaże routing przebiegający nad nieciągłościami miedzi odniesienia, w tym nad szczelinami między szynami zasilania.

Jak ograniczyć klasę sieci lub klasę par różnicowych do określonych warstw routingu?

Utwórz regułę Routing » Routing Layers w Design » Rules i ustaw jej zakres za pomocą InNetClass('ClassName') lub InDifferentialPairClass('PairClass'). Włącz Allow Routing tylko dla dozwolonych warstw sygnałowych, a następnie nadaj tej regule wyższy priorytet niż bardziej ogólnym regułom Routing Layers. Ustawienia te ograniczają routing i pozwalają kontroli reguł projektowych wykrywać istniejące ścieżki na niedozwolonych warstwach.

Jak przypisać rozmiary przelotek lub szablony przelotek do określonych sieci i klas sieci?

Utwórz regułę Routing » Routing Via Style i ogranicz jej zakres do docelowej sieci lub klasy sieci za pomocą InNet('NetName') lub InNetClass('ClassName'). Zdefiniuj minimalną, preferowaną i maksymalną średnicę przelotki oraz średnicę otworu albo skonfiguruj regułę tak, aby korzystała z zatwierdzonych szablonów przelotek. Nadaj jej wyższy priorytet niż ogólnej regule przelotek. Zakresy warstw dla przelotek definiuje się osobno w Layer Stack Manager.

Jak utworzyć klasy sieci i przypisać reguły routingu dla szybkich PCB?

Klasy sieci można tworzyć za pomocą dyrektyw Net Class na schemacie lub bezpośrednio przez Design » Classes w edytorze PCB. W przypadku klas zdefiniowanych na schemacie włącz generowanie klas sieci zdefiniowanych przez użytkownika w Project Options i przenieś zmiany do PCB. W Design » Rules ustaw zakres każdej odpowiedniej reguły routingu lub czasowej za pomocą InNetClass('ClassName'), skonfiguruj jej ograniczenia i nadaj jej priorytet wyższy niż bardziej ogólnym regułom tego samego typu.

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

Related Technical Documentation

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