USB – 5 grzechów głównych w layoucie PCB

Udostępnij

Problemy z enumeracją, losowe rozłączanie urządzenia USB czy nadmierna emisja zakłóceń w testach EMC – takie problemy często mają źródło nie w firmware, lecz w projekcie PCB. Pozornie USB jest jednym z tych interfejsów, które zwykle działają nawet na płytkach zaprojektowanych bez większej dyscypliny, ale to złudzenie kończy się najczęściej przy zastosowaniu nieco dłuższego przewodu, podczas pracy w środowisku zakłóconym, albo po przejściu z trybu Full-Speed na High-Speed. W tym artykule omawiłem pięć błędów, które najczęściej zauważam w projektach PCB implementujących port USB.

1. Linie sygnałowe D+ i D- jak zwykłe ścieżki cyfrowe

Jednym z najbardziej podstawowych błędów w layoucie PCB jest traktowanie linii D+ i D– jak dwóch niezależnych, „zwykłych” sygnałów cyfrowych. W przypadku USB 2.0 (a zwłaszcza pracującego w trybie High-Speed) linie danych powinny być zawsze prowadzone jako para różnicowa o impedancji różnicowej około 90 Ω, dlatego szerokość ścieżek, odstęp między nimi, odległość od płaszczyzny masy i grubość oraz rodzaj dielektryka nie mogą być przypadkowe. Nie wystarczy więc ustawić w edytorze reguł DRC dotyczących szerokości ścieżek i odstępów izolacyjnych dla całego projektu, a potem połączyć piny układu najkrótszą drogą z gniazdem. W praktyce trzeba zacząć od zdefiniowania stosu warstw i policzenia geometrii pary różnicowej jeszcze przed rozpoczęciem jej prowadzenia. Na płytce czterowarstwowej najwygodniej prowadzić USB na warstwie zewnętrznej, bezpośrednio nad ciągłą płaszczyzną GND. Na płytce dwuwarstwowej również da się uzyskać poprawny wynik, ale wymaga to znacznie większej uwagi: szerokość ścieżek, odstęp między nimi i obecność wylewki masy po drugiej stronie PCB muszą być traktowane jako część modelu linii transmisyjnej, a im grubszy laminat, tym trudniej uzyskać docelową impedancję przy zachowaniu sensownych wymiarów ścieżek.

2. Nieciągłość masy

Nawet prawidłowo dobrana szerokość i separacja ścieżek nie pomogą, jeśli para USB przechodzi nad szczeliną w masie, rozcięciem między polygonami albo obszarem pozbawionym solidnej płaszczyzny odniesienia. Jeżeli pod parą różnicową zabraknie ciągłego obszaru masy, prąd powrotny zostanie „zmuszony” do obejścia przeszkody, a wtedy zawsze rośnie powierzchnia pętli, pojawiają się nieciągłości impedancji i wzrasta emisja zakłóceń. To wszystko wiąże się z drastycznym pogorszeniem integralności sygnałowej.

Typowym błędem jest przeprowadzenie linii D+ i D– np. w warstwie TOP dwuwarstwowej płytki drukowanej, podczas gdy na warstwie BOTTOM znajdują się w tym samym miejscu inne ścieżki. W dobrze zaprojektowanej płytce para USB powinna mieć pod sobą ciągłą płaszczyznę GND na całej długości trasy, uwzględniając także jej najbliższe otoczenie.

Przykład błędnego layoutu pary różnicowej USB: ścieżka zasilania (VBUS) na warstwie BOTTOM przecina płaszczyznę masy pod liniami sygnałowymi. Ponadto odstęp izolacyjny pomiędzy liniami D+/D- a masą jest zbyt mały, co zaburza impedancję różnicową prawidłowo wyliczoną dla ustalonych parametrów stosu (rys. HardwareDesigner.pl)

3. Ulepszenia, których lepiej byłoby nie stosować

Kolejny częsty błąd to tworzenie odgałęzień ścieżek sygnałowych: np. do punktów testowych, nieużywanych złączy w projektach wielowariantowych, albo elementów, które nie leżą w rzeczywistym torze sygnału. Przy niskich prędkościach transmisji takie detale bywają niezauważalne, ale przy USB High-Speed każdy niepotrzebny fragment miedzi może działać jak niekontrolowana nieciągłość impedancji, a to prowadzi do powstawania zaburzeń w sygnałach.

Podobny problem dotyczy elementów dodawanych „na wszelki wypadek”: dławików trybu wspólnego, rezystorów szeregowych, filtrów RC czy nadmiarowych padów pod opcjonalne warianty montażowe. Przykładowo: dławik może pomóc w walce z zakłóceniami w trybie wspólnym, ale nie powinien być traktowany jako obowiązkowy element każdego projektu. Źle dobrany albo nieprawidłowo umieszczony komponent może pogorszyć integralność sygnałów, zamiast poprawić osiągi w zakresie EMC. Rezystory szeregowe (o ile są zalecane przez producenta układu scalonego) powinny znajdować się możliwie blisko nadajnika i być włączone symetrycznie w obie linie.

4. Ochrona ESD umieszczona gdzieś daleko (lub wcale)

USB jest interfejsem zewnętrznym, a więc stanowi miejsce narażone w naturalny sposób na wyładowania elektrostatyczne (ESD). Niemal takim samym błędem jest zarówno całkowite pominięcie diod TVS, jak i nieprawidłowe ich umieszczenie bądź dobór niewłaściwego modelu ochronnika. Komponent mający zabezpieczać układ przed ESD powinien znaleźć się możliwie blisko złącza – tak aby impuls został przechwycony jeszcze zanim dotrze w głąb płytki.

Równie ważna jest pojemność ochronników stosowanych w liniach danych. W projektach z USB 2.0 High-Speed oraz (tym bardziej!) z USB 3.x należy stosować elementy o ekstremalnie małej pojemności, specjalnie opracowane do szybkich interfejsów cyfrowych. Zwykłe diody TVS, nawet jeżeli zgodne z USB pod względem poziomów napięć nominalnych, mogą wprowadzać zbyt dużą pojemność i w efekcie wydłużać zbocza sygnału, niszcząc przy okazji kontrolę impedancji nawet najlepiej obliczonej pary różnicowej.

Diody TVS (D1…D3) umieszczono w niewłaściwych miejscach: D1 i D2 podłączono na odcinkach ścieżek odchodzących od pary różnicowej, co powoduje nieciągłość impedancji i pogarsza skuteczność ochrony. Ponadto wszystkie trzy diody znajdują się zbyt daleko od złącza J1 (rys. HardwareDesigner.pl)

5. USB-C to coś więcej niż „nowsze microUSB”

Port USB-C wprowadza dodatkową warstwę złożoności na poziomie sprzetowym. W prostym urządzeniu implementującym wyłącznie obsługę łącza USB 2.0 nie wystarczy podłączyć linii D+, D–, VBUS i GND do nowego złącza. Trzeba także zadbać o poprawną obsługę linii CC1 i CC2, ponieważ to one odpowiadają za wykrycie orientacji wtyku, roli portu i dostępnej wydajności prądowej. Ułatwieniem jest fakt, że linie CCx nie przenoszą szybkich sygnałów i nie wymagają kontroli impedancji – w typowym urządzeniu peryferyjnym konieczne jest jedynie zastosowanie dwóch osobnych rezystorów 5,1 kΩ do masy (pull-down), po jednym na każdej z linii CC, o ile oczywiście projekt nie wymaga implementacji funkcji Power Delivery.

Błędem jest także ignorowanie prądu VBUS. USB-C mechanicznie wygląda niepozornie, ale może uczestniczyć w negocjacji znacznie wyższych mocy niż klasyczne USB 2.0 (do 240 W). Nawet jeżeli projekt korzysta tylko z 5 V, to i tak szerokość ścieżek VBUS, ewentualne bezpieczniki czy ograniczniki prądu i kondensatory wejściowe powinny być dobrane świadomie. Przy projektach z przewidzianą obsługą USB Power Delivery dochodzi do tego szereg dodatkowych wymagań, które wykraczają jednak poza ramy tego poradnika.

Przykład niezbyt udanego layoutu złącza USB-C: linia VBUS jest dość cienka (15 milsów), choć z powodzeniem można byłoby ją znacznie pogrubić (rys. HardwareDesigner.pl)

Podsumowanie

Najlepszą metodą projektowania USB na PCB jest potraktowanie interfejsu jako kompletnego toru sygnałowego: od transceivera, przez elementy szeregowe i ochronne, po złącze, kabel i urządzenie znajdujące się po drugiej stronie. Nawet w przypadku implementacji jedynie starszych, wolniejszych wersji USB 2.0 (zwłaszcza High-Speed) warto pilnować impedancji różnicowej, ciągłości płaszczyzny odniesienia, krótkiej i symetrycznej trasy oraz minimalizacji odgałęzień. Dla USB-C trzeba dodatkowo poprawnie zaprojektować linie CC, VBUS i zabezpieczenia. Wiele problemów z enumeracją i stabilnością połączenia można wyeliminować jeszcze przed wykonaniem prototypu, jeżeli tylko USB zostanie objęte oddzielnymi regułami projektowymi, a nie potraktowane bezrefleksyjnie jak zwykłe połączenie cyfrowe.

Przemysław
Przemysław
Redaktor Naczelny portalu HardwareDesginer.pl. Konstruktor elektronik i programista embedded z ponad 20-letnim doświadczeniem w projektowaniu PCB. Z wykształcenia elektronik medyczny i elektroradiolog, specjalizuje się w projektowaniu i badaniach aparatury medycznej, laboratoryjnej i pomiarowej.

Czytaj więcej

Wybrane dla Ciebie