W wcześniejszym blogu, omówiłem kilka podstawowych punktów przygotowania zasad trasowania dla dwuwarstwowych PCB, aby wspierać trasowanie i układ z sygnałami cyfrowymi. Szczególnie przyjrzeliśmy się podstawowym zasadom stosu warstw i trasowania potrzebnym do obsługi cyfrowego interfejsu takiego jak I2C czy SPI na dwuwarstwowej płytce PCB. Pracując z tymi interfejsami, kilka prostych wytycznych może pomóc zapewnić integralność sygnału na twojej płytce i zmniejszyć EMI.
A co z interfejsem kontrolowanym impedancją, jak USB? Potrzeba kontroli impedancji, i wiedza, kiedy może być naruszona, to główny punkt dla trasowania czegoś takiego jak USB na dwuwarstwowej PCB. W tym artykule pokażę, jak należy trasować protokół wysokiej prędkości, jakim jest USB. Szczególnie przyjrzymy się ważnym zasadom projektowania potrzebnym do trasowania płytki, zwłaszcza ograniczeniom długości, które moglibyśmy zaakceptować dla ścieżek przenoszących dane USB. Jeśli nie czytałeś jeszcze poprzedniego artykułu z tej serii, rzuć na niego okiem, ponieważ kładzie on pewne konceptualne podstawy potrzebne do zrozumienia limitów, które są ustalane na wymagania trasowania USB.
W poprzednim artykule na temat trasowania PCB dwuwarstwowych przyjrzeliśmy się procedurze określania najdłuższej możliwej długości linii, której możesz użyć w swoim projekcie, bez konieczności stosowania dopasowania impedancji. Stwierdziliśmy, że limit długości zależy od poziomu odchylenia impedancji wejściowej, który możesz tolerować wzdłuż długości linii transmisyjnej. W szczególności, w zależności od tego, czy uważasz 10% do 25% odległości przejścia sygnału za ważny czynnik ograniczający długość ścieżki.
W tej demonstracji chcę przyjrzeć się trasowaniu USB 2.0 na tej płytce w standardzie High Speed, i skupiam się na tym standardzie z konkretnego powodu. USB 2.0 (High Speed) jest nadal używane w niektórych systemach, ponieważ zapewnia łączność ze starszymi urządzeniami wraz z szybkim transferem danych, i jest nadal używane na popularnych platformach takich jak Arduino z wtyczką typu B.
Aby zilustrować dwie możliwe konstrukcje, porównałem szybkość transmisji danych i czas narastania dwóch specyfikacji USB 2.0 (Full Speed i High Speed):
|
|
|
|
|
|
Proces, który pokażę poniżej, jest przeprowadzany dla sygnałów USB 2.0 z czasem narastania i skosem High Speed, ale można zastosować ten sam proces do USB 3.0 lub innego szybkiego interfejsu. Pamiętaj tylko: trasowanie na płytce 2-warstwowej nie jest odpowiednie dla każdego interfejsu. Na przykład, nie znam nikogo, kto polecałby trasowanie DDR4 na płytce 2-warstwowej ze względu na małe limity długości i promieniowane zakłócenia od tych szybkich sygnałów.
Na początek chcielibyśmy wiedzieć, jaka jest krytyczna długość dla sygnału USB trasowanego na typowej płytce PCB 2-warstwowej. Dla rdzenia Dk = 4.8 z materiału FR4, mielibyśmy opóźnienie propagacji około 150 ps/cal, czyli około 6 cali/ns. Z naszym czasem narastania 500 ps dla specyfikacji High Speed, daje to dystans propagacji sygnału 3 cale podczas czasu narastania. Jeśli będziemy bardzo konserwatywni i użyjemy limitu 10% na długość krytyczną, daje to krytyczną długość 0,3 cala!
Topologia, którą musimy tutaj poprowadzić, to po prostu linia szeregowa z parami różnicowymi. Więc masz trzy elementy:
Możesz się zastanawiać, jak to jest zrobione na platformie takiej jak Arduino? Spójrz na poniższy obraz Arduino Mega, które możesz kupić na Amazonie. Kontroler USB jest umieszczony blisko złącza i zdecydowanie znajduje się w odległości mniejszej niż 1 cal.
Znajdziesz podobne rozmieszczenie i trasowanie na innych płytach Arduino. Aby uniknąć niedopasowania impedancji wejściowej ze złączem, kablem i odbiornikiem, chcielibyśmy postępować zgodnie z powyższą radą i utrzymać trasę krótką na naszej dwuwarstwowej płytce PCB. Jednak nie musimy być tak konserwatywni, aby stosować limit 10%. Zamiast tego, jeśli zastosujemy limit 25%, będziemy mieli znacznie wygodniejszą odległość trasowania 0,75 cala, co jest znacznie bardziej wykonalne na dwuwarstwowej płytce PCB.
Należy zauważyć, że dotyczy to specyfikacji High Speed. W przypadku specyfikacji Full Speed mamy bardziej luźną krytyczną długość 2,4 cala (limit 10%) lub 6 cali (limit 25%) dla czasu narastania 4 ns.
Ważne jest, aby zwrócić uwagę na to: nie ma ustalonego limitu (10%, 25% czy inny), gdzie mamy ważną krytyczną długość, i w zależności od rozmiaru twojej płytki PCB, możesz przekroczyć krytyczną długość i teraz musisz zaprojektować odpowiednią impedancję. Limit zależy od kilku czynników, a określenie właściwego procentu dla twojej krytycznej długości wymaga obliczenia wielu wartości impedancji. Zamiast opracowywać regułę opartą na tej krytycznej długości, zawsze łatwiej jest po prostu zaprojektować zgodnie z wymaganą impedancją USB.
Następnie musimy rozważyć, jak zakończony jest sygnał wyjściowy sterownika. Ponieważ mówimy tutaj konkretnie o USB, należy zauważyć, że specyfikacja USB 2.0 wymaga zastosowania rezystorów zakończeniowych na liniach D+ i D- w pobliżu złącza, aby dopasować impedancje. Mogą one być zintegrowane z transceiverem USB na krzemie, lub mogą być wymagane jako komponent zewnętrzny. Typowe wartości to 15 omów, 22 omy lub 45 omów, chociaż mogą być używane inne wartości; upewnij się, że sprawdziłeś kartę katalogową swojego komponentu, aby zobaczyć, jakie zakończenie jest potrzebne. Jako przykład, kontroler huba USB TUSB2077APTR używa rezystorów zakończeniowych o wartości 27 omów. Upewnij się, że sprawdziłeś kartę katalogową, aby sprawdzić, czy potrzebujesz tych zewnętrznych rezystorów.
Z limitem skosu 100 ps w standardzie High Speed możemy teraz obliczyć dozwolone niedopasowanie długości między dwoma stronami pary różnicowej (sygnały D+ i D-). Biorąc przybliżone opóźnienie propagacji 6 ns/cal dla trasowania na warstwie powierzchniowej i mnożąc przez limit skosu, otrzymujemy różnicę długości ścieżki 0,6 cala (600 mil). To bardzo dużo! Mamy dużo swobody, aby pozwolić na pewne dopasowanie długości ścieżek. Jednak jest tutaj ważny punkt: obejmuje to całą długość połączenia (twoja płyta + kabel + płyta odbiorcza). Dlatego, dla bezpieczeństwa, postaraj się ograniczyć skos jak najbardziej, poprzez trasowanie par razem i egzekwowanie pewnego dopasowania długości tam, gdzie to możliwe. Jest to dość łatwe, ponieważ układy kontrolerów USB zazwyczaj umieszczają sygnały D+ i D- na tej samej krawędzi układu.
Gdy różnica długości jest niewielka, może nie być potrzeby implementowania strojenia długości, ponieważ zajmuje to miejsce w układzie PCB. Aby zobaczyć, co robią inne systemy funkcjonalne, spójrz na poniższy obraz układu PCB Arduino UNO (uwaga: został przekonwertowany z plików Eagle). Linie USB zostały wyróżnione na obrazie. Jeśli zmierzymy długości pozytywnych i negatywnych stron tych linii (obejmujących każdą stronę rezystorów zakończeniowych), znajdziemy, że różnica długości wynosi około 180 mils. Dlatego te linie nie są dopasowywane długościowo między Arduino a złączem USB.
W tej ciasnej przestrzeni interfejs będzie nadal poprawnie działał, ponieważ różnica długości wynosi tylko około 180 mils, co jest znacznie mniejsze niż dopuszczalne odchylenie. Nawet przy najgorszym efekcie tkaniny włóknistej na luźnej laminacie z tkaniny szklanej, całkowite odchylenie (pod względem długości) wyniosłoby tylko równowartość mniej niż około 230 mils, co jest nadal znacznie niższe niż dopuszczalne odchylenie dla tego interfejsu.
Jak zwróciłem uwagę w poprzednim blogu, nie można użyć szerokości ścieżki odpowiadającej charakterystycznej impedancji w High Speed USB 2.0 i nadal spełniać specyfikację impedancji. Pamiętaj, że szerokość ścieżki na standardowej płytce PCB o grubości z dwoma warstwami wynosiła około 110 mils dla Dk - 4.8. Jak możemy więc osiągnąć specyfikację impedancji pary różnicowej w USB 2.0 high speed przy tej szerokości ścieżki?
W rzeczywistości, nie musimy używać tej szerokości ścieżki ze względu na sposób, w jaki ścieżki w parach różnicowych będą się do siebie sprzęgać. Jeśli użyjesz kalkulatora układu warstw z grubą płytą 2-warstwową do obliczenia impedancji różnicowej dla mikropasków, odkryjesz, że rzeczywista potrzebna szerokość ścieżki jest znacznie mniejsza i zależy od odstępu. Dla naszego przykładowego mikropaska na płytce PCB 2-warstwowej, Menadżer Układu Warstw w Altium Designer informuje nas, że szerokość ścieżki wynosi około 16 mils przy odstępie 5 mils.
Można by użyć cieńszych ścieżek z tymi różnicowymi mikropaskami, ale wymagałoby to mniejszego odstępu. W tej konstrukcji jesteśmy blisko limitu odległości między ścieżkami dla trawienia, więc zachowanie 5 mil odstępu między ścieżkami jest w porządku, ponieważ spełniamy specyfikację dla sygnałów pojedynczych oraz różnicowych przy tych szerokościach ścieżek. Skąd wiemy, że spełniamy część specyfikacji dla sygnałów pojedynczych? Dzieje się tak, ponieważ: szerokość ścieżki podana powyżej dotyczy impedancji trybu nieparzystego pojedynczej ścieżki, a nie charakterystycznej impedancji! Dlatego musisz trzymać się tej konkretnej wartości szerokości ścieżki, a nie używać wartości charakterystycznej impedancji dla pojedynczego mikropaska w izolacji.
Istnieje alternatywa, o której nie rozmawialiśmy: użycie różnicowych par mikropaskowych koplanarnych. Poprzez prowadzenie masy do mikropasków na warstwie powierzchniowej i umieszczanie masy poniżej sygnałów na dolnej warstwie, można osiągnąć impedancję różnicową 90 omów przy 9,5 mil szerokości ścieżek, 5 mil odstępie między ścieżkami i 5 mil odstępie do masy. Możemy zobaczyć z poniższych wartości, że ładnie osiągamy wymaganą impedancję 90 omów w specyfikacji USB 2.0 przy tych wartościach.
Dzięki temu układowi, nie będziemy musieli tak bardzo martwić się o problem krytycznej długości oraz problem szerokości ścieżki na płytce dwuwarstwowej. Jednakże, należy zauważyć, że ta szerokość i odstępy muszą być zachowane na całej długości trasy. Trasowanie USB traktuje ścieżki jako indywidualne ścieżki jednostronne, które po prostu przekazują sygnał różnicowy, więc można je trasować oddzielnie.
Topologia trasowania jest dość prosta: trasuj od układu USB do rezystorów terminujących/podciągających/opuszczających, a następnie do złącza, wszystko jako pary różnicowe. Poniższy obraz pokazuje wysokopoziomową topologię trasowania z rezystorami podciągającymi i opuszczającymi. Zgodnie ze standardem USB 2.0 wymagane są również pewne kondensatory, jak pokazano poniżej.
Trasowanie jest dość proste: przestrzegaj standardowych praktyk trasowania par różnicowych, przechodząc między poszczególnymi częściami systemu, a nie będziesz miał problemów z rejestracją sygnału czy dopasowaniem impedancji. Zachowaj krótkie trasy z bezpośrednimi połączeniami wychodzącymi z linii par różnicowych, aby tworzyć połączenia do GND/VCC dla rezystorów podciągających i podciągających do masy. Upewnij się, że sprawdziłeś obwód aplikacyjny dla swojego urządzenia w kartach katalogowych, ponieważ linie D+/D- mogą mieć dodatkowe zewnętrzne kondensatory na urządzeniu; zobaczysz to na urządzeniu TUSB2077A, które przytoczyłem powyżej.
Pokażemy rzeczywisty przykład w układzie PCB w nadchodzącym blogu. Na razie spróbuj zrobić to sam i zobacz, czy uda Ci się zaprojektować trasowanie.
W tym blogu oraz naszym poprzednim poście na blogu przyjrzeliśmy się niektórym ważnym zasadom trasowania, których należy przestrzegać podczas konfigurowania i trasowania szybkiego interfejsu, jakim jest USB, na płytce PCB dwuwarstwowej. Oto nasze ostateczne wytyczne dotyczące trasowania:
Przedstawione tutaj wytyczne trasowania nie zawsze gwarantują EMC, są inne aspekty projektu, które należy wziąć pod uwagę, które czasami są źle wykonane w PCB dwuwarstwowych. Jednak te wytyczne z pewnością pomogą w przypadku EMI, jeśli pracujesz ze specyfikacją Full Speed. Moim osobistym preferencją jest używanie PCB czterowarstwowych dla szeregowych magistrali cyfrowych i protokołów wysokiej prędkości, szczególnie jeśli płyta jest większa lub ma być produkowana seryjnie.
Jeśli używasz USB 3.0, wtedy masz surowe wymagania dotyczące dopasowania długości ze względu na szybkie zmiany stanów, i powinieneś umieścić interfejs blisko złącza, tak jak zrobiliśmy to ze specyfikacją Full Speed wymienioną powyżej.
Gdy potrzebujesz poprowadzić interfejs tak jak USB na dwuwarstwowej płytce PCB lub bardziej zaawansowanej płycie wielowarstwowej, użyj narzędzi do układania i trasowania PCB w CircuitMaker. Wszyscy użytkownicy CircuitMaker mogą tworzyć schematy, układy PCB i dokumentację produkcyjną potrzebną do przekształcenia pomysłu w produkt. Użytkownicy mają również dostęp do osobistej przestrzeni roboczej na platformie Altium 365™, gdzie mogą przesyłać i przechowywać dane projektowe w chmurze oraz łatwo przeglądać projekty za pomocą przeglądarki internetowej na bezpiecznej platformie.
Zacznij używać CircuitMaker już dziś i bądź na bieżąco z nowym CircuitMaker Pro od Altium.