PCIe, diagnozowanie i ulepszanie diagramu oka


18

Wdrożyłem projekt wykorzystujący PCIe. Różni się nieco tym, że interfejs PCIe jest używany jako linia komunikacyjna między układami scalonymi na pojedynczej płytce drukowanej (np. Bez złącza PCIe).

Podstawowym urządzeniem złożonym jest Freescale i.MX6, który jest zgodny z PCIe Gen 2, a urządzeniem, z którym się komunikuję, jest moduł Marvell WiFi, który jest urządzeniem zgodnym z PCIe Gen 3. Jest to interfejs jednopasmowy o prędkości 2,5 Gb / s.

Zrobiłem kilka pomiarów integralności sygnału, lutując szybki zakres z odpowiednimi sondami różnicowymi po drugiej stronie inline capów pokazanych poniżej:

wprowadź opis zdjęcia tutaj

Dla oka schemat oka wygląda całkiem dobrze:

wprowadź opis zdjęcia tutaj

Ale dane TX nie tyle:

wprowadź opis zdjęcia tutaj

Układ Wi-Fi ma zakończenia na chipie, więc nie sądzę, że powinienem potrzebować dodatkowych terminów, ale mogę się mylić.

Znalazłem kilka rejestrów, które można ustawić w procesorze i.MX6 dla urządzeń peryferyjnych PCIe, ale nie jestem do końca pewien, co faktycznie robią. Trochę prób i błędów też nie doprowadziło mnie daleko.

wprowadź opis zdjęcia tutaj

Sprawdziłem, czy układ jest zgodny z odpowiednimi zasadami routingu, a płytka drukowana została zbudowana z właściwą impedancją. Oczywiście mam pewne zakłócenia w systemie, ale wygląda też na to, że mam problem z odbiciem lub odreagowaniem. Mam nadzieję, że ktoś może opisać to, co widzi źle na moim schemacie oka i / lub zasugerować kilka sposobów, aby to naprawić.

Twoje zdrowie!


fajne pytanie. Mam nadzieję, że zobaczę kilka dobrych odpowiedzi.
justing

1
Gdzie mierzysz swoje oko?
Some Guy Guy

A do czego służą te rejestry?
Some Hardware Guy

Kilka pytań: który TX jest problemem? i.MX6 do Marvell czy Marvell do i.MX6? Jakiego rodzaju filtrowanie zasilania skonfigurowano wokół nieprawidłowo działającego nadajnika lub jego szyn zasilających zegar? Jakie są obecne wartości tych rejestrów?
akohlsmith,

@ SomeHardwareGuy Mierzę oko TX po drugiej stronie kondensatorów. Pod względem układu kondensatory zarówno zegara, jak i TX znajdują się tuż obok układu WiFi. Całkowita odległość, w której pary są kierowane, wynosi około 2,5 cala. I.MX6 jest właściwie częścią SOM, który podłącza się do złącza SO-DIMM, a ja zaprojektowałem tylko płytkę, która „przenosi” ten SOM i układ WiFi.
Funkyeah,

Odpowiedzi:


22

Jest wiele rzeczy, które ci to zrobią.

Nie podałeś długości interfejsu. Często wykonuję bezpośrednie układy scalone PCIe i naprawdę musisz to wziąć pod uwagę, ponieważ uzyskasz tłumienie około 0,18dB na cal z powodu strat efektu skórnego i około 0,5dB na cal z powodu absorpcji dielektrycznej na „zwykłym” FR4.

Myślę, że możesz uzyskać lepsze liczby z arkusza danych materiału PCB, jeśli go pobierzesz i spojrzysz na styczną straty. Spójrz na Isola 370HR dla typowego arkusza danych. Powyższe liczby są dość dokładne przy częstotliwości 5 GHz. Przy szybkości 2,5 Gb liczby są nieco niższe, a całkowita strata ~ 0,4 dB na cal.

Zakładam, że oprócz kondensatorów breakout i sprzęgających używasz routingu jednowarstwowego dla interfejsu. Przejścia warstwowe mogą z łatwością zrobić bardzo nieprzyjemne rzeczy dla sygnału. Kontrolowana impedancja będzie nieco inna niż warstwa, a odbicia są naturalnym rezultatem (istnieją sposoby skutecznego rutowania wielowarstwowego, ale wymaga to świetnego staranności i kilku niezwykłych sztuczek).

W przypadku PCI express (i Infiniband) szybkość wzrostu i spadku sygnału na nadajniku ma minimum narastania i opadania, aby zminimalizować problemy EMI, i ten czas wynosi 0,25UI, co daje artefakty sygnalizacji 10 GHz na łączach gen 2 oraz artefakty 5 GHz w gen 1, które należy wziąć pod uwagę.

Powyższe pole usuwania podkreślenia pomaga uzyskać czyste oko na odbiorniku poprzez obniżenie amplitudy nieprzełączania stosunku do nominalnej amplitudy uruchamiania.

Jeśli tracisz zbyt dużą amplitudę na zboczu przełączającym sygnału, ustaw to pole na większą wartość. Możesz również ustawić nieco wyższą nominalną amplitudę uruchamiania.

Inne problemy, na które możesz spojrzeć:

Gdzie, w stosunku do nadajnika, znajdują się kondensatory sprzęgające? Powinny znajdować się jak najbliżej pinów transmisyjnych. Gdy osiągną długość fali przekraczającą połowę 10 GHz (około 0,6 cala na FR4) [dwukrotnie większą odległość dla łączy 2,5 Gb / s], z całą pewnością odbiją energię.

Miałem problemy z geometriami kondensatorów 0402 lub większymi w PCI express gen. 2 i teraz używam urządzeń o odwróconej geometrii (0204) dla zmniejszonej indukcyjności szeregowej. Wydaje się, że dobrze wykonują pracę.

Patrząc uważnie na schemat oka dla bitów przejściowych (przy okazji, masz fajny zakres - właśnie tego potrzebujesz), początkowy napęd sygnałowy wydaje się prowadzić linię końcową (sygnał dochodzi do 0,5 V (nominalny) w klasyczny sposób linii przesyłowej). Nie jest to szczególnie długa linia (czas podróży w obie strony to moment, w którym sygnał osiąga pełne V [nominalne]).

mówisz, że łącze działa z szybkością 2,5 Gb / s (gen 1) i to właśnie pokazują ślady zakresu, ale możesz spróbować poeksperymentować z polem usuwania podkreślenia (spójrz w instrukcji obsługi oraz w karcie danych elektrycznych (patrz uwaga poniżej). „Standardowe” wartości usuwania wyróżnienia dotyczą łącza nominalnego, a nie łącza osadzonego, takiego jak tutaj (i co robię również regularnie). Jeśli możesz uzyskać około 6dB, możesz uzyskać lepsze wyniki.

Nominalne zmniejszenie obciążenia wynosi 3,5 dB dla Gen 1 i 6 dB dla Gen2. Zwracam uwagę, że powyższe pole wydaje się sugerować, że łącze Gen 2 ma 3,5dB - możesz na tym nieco kopnąć. Łącze, które masz, wymaga co najmniej 3,5dB odrejestrowania.

Zwróć uwagę, że oko na odbiornik będzie bardzo różne, ale to tutaj ma znaczenie . W ramach eksperymentu przeczytaj liczniki błędów w procesorze (większość z nich ma licznik ponownych prób); jeśli nie widzisz znaczących błędów, możesz gonić coś, co nie jest tak naprawdę problemem. Jeśli widzisz dużą liczbę błędów, być może niektóre z nich mogą pomóc.

Jeszcze jedno: nadmierne amplitudy startu i brak nacisku są tak samo złe, jak ustawienie ich zbyt nisko.

Może to ci trochę pomoże: Mam nadzieję, że tak.

Uwaga: Freescale dokumentuje wszystko, po prostu czasami nie ma go w miejscu, w którym spodziewasz się go znaleźć. Upewnij się, że masz także najnowszą erratę urządzenia.

Aktualizacja . Dodano uwagi dotyczące geometrii kondensatorów.

Do węzła 2,5 Gb / s urządzenia 0402 są w porządku. Mój przydatny kalkulator pokazuje, że typowe urządzenie 0402 ma około 10 omów impedancji (indukcyjne) przy tej częstotliwości i 21 omów przy 5 GHz (najwyższa częstotliwość będąca przedmiotem zainteresowania). Nie jest to wcale takie złe w systemie różnicowym 100 omów, ponieważ impedancja efektywna blisko sprzężonej pary jest nieco mniejsza niż zwykły dodatek.

Rezonans własny tego urządzenia wynosi 19 MHz, czyli znacznie poniżej wszystkich interesujących częstotliwości, więc wszelkie szumy fazowe są spowodowane przez ESL. Utrzymanie impedancji na poziomie mniejszym niż około 1/3 efektywnej impedancji toru oznacza, że ​​szum fazowy (a zatem dodatkowy ISI), jaki otrzymamy, wynosi od 1 do 17 stopni (zazwyczaj jest to single-ended ścieżka z blisko połączonej pary (Z (diff) / 2) * 1,25, więc dla 100 diff impedancja pojedynczego końca wynosi około 65 omów). Tę ilość szumu fazowego można kontrolować.

Przy 10 GHz impedancja efektywna wynosi około 44 omów i może zacząć zakłócać parę różnicową poprzez wprowadzenie nadmiernego szumu fazowego w interesującym paśmie częstotliwości, ponieważ maksymalna faza wynosi teraz około 34 stopni. Mimo że udało mi się zrobić Gen 2 z urządzeniami 0402, miałem również problemy z dłuższymi przebiegami i teraz używam urządzeń z odwrotną geometrią 0204 dla tej prędkości i wyższych.

W przypadku łączy kodowanych 8b / 10b, pasmo częstotliwości będące przedmiotem zainteresowania wynosi od przepływności / 5 do przepływności * 2. Dolny limit jest ograniczony przez kodowanie długości przebiegu, a górny limit jest ograniczony wymaganiami specyfikacji dla minimalnych czasów wzrostu i spadku .

ESL dla różnych geometrii:

0402: około 700pH

0204: około 300pH

0805: około 1nF

Aktualizacja Dodano komentarz na temat około 50% amplitud początkowego uruchomienia.

Rozważmy linię transmisyjną zakończoną u źródła i do celu przy charakterystycznej impedancji linii Z0.

Przy początkowym uruchomieniu, zakładając, że linia jest długa w porównaniu do długości fali sygnału, punkt początkowy osiągnie 50% amplitudy startowej z powodu efektu dzielnika napięcia (nadajnik widzi w tym miejscu tylko linię transmisyjną).

Gdy energia dotrze do punktu docelowego i zacznie rosnąć do punktu 50%, energia u źródła skutecznie „wypełniła” linię energią i wzrasta do pełnej amplitudy uruchamiania. Ściśle mówiąc, linia przesyłowa w miejscu docelowym widzi dzielnik napięcia, a efekt dzielnika u źródła zanika, gdy wyjście zbliża się do prądu stałego (pamiętając, że efekt linii przesyłowej ma zastosowanie tylko do przejść).

Może to być również wyobrazić jako poziom energetyczny 50% przemieszczają się wzdłuż linii transmisyjnej do ostatecznego zakończenia i następnie odbija przy pełnym poziomie. Dlatego widzimy „czas podróży” w punkcie 50% w dowolnym punkcie linii.

Twoje Wykres przedstawia dokładnie to zachowanie w punkcie linii, która nie jest jeszcze w porcie docelowym , ponieważ ten punkt 50% jest w rzeczywistości poruszającym się wzdłuż linii.

W odbiorniku, gdy energia osiągnie się punkt 50%, pełna energia linii jest po, a napięcie na odbiornik nadal rośnie, dając gładkie przejście od jednego poziomu do drugiego.

Może to również być wizualizowane w postaci 50% napięcia punktu poruszającego się po linii do odbiornika, a następnie odbija w 100% (odbiornik uzyskuje DC pierwsze). Z tego powodu, napięcie na 50% oglądane w dowolnym punkcie na wystawach linii czasu podróż w obie strony od tego momentu do odbiornika.

Ta dyskusja dotyczy zarówno sygnałów różnicowych, jak i pojedynczych.

Dlatego powyższy wykres pokazuje klasyczne zachowanie linii transmisyjnej z niewielkimi skokami przekraczającymi oczekiwane zachowanie. W rzeczywistości jest to jedno z najczystszych oczu nadajnika, jakie widziałem.


Dobra odpowiedź. Może dodać odniesienie lub jakieś pomiary, w których widzisz odbicia od czapek w przypadku poważnej utraty? Nigdy tego nie widziałem i uważam, że to bardziej mit.
Rolf Ostergaard

1
W komentarzach poniżej postu wyjaśniłem, że długość wynosi około 2,5 cala. W rzeczywistości używamy Isola 370HR i dość ostrożnie zarządzaliśmy układem. Powiedziawszy, że używamy również SOM, co sprawia, że ​​umieszczenie nasadek w pobliżu nadajnika jest zasadniczo niemożliwe. Mierzę po stronie odbiornika nasadek sprzęgających, która jest tak blisko, jak mogę dostać się do odbiornika, zanim trasy opadną do wewnętrznej warstwy o kontrolowanej impedancji.
Funkyeah

Powiedziawszy powyższą piękną odpowiedź. Zamierzam zaznaczyć, że jest poprawny, nawet jeśli nie prowadzi to bezpośrednio do rozwiązania mojego konkretnego problemu, ponieważ ma tak dużą użyteczną wiedzę. Wszelkie sugestie dotyczące dobrych zasobów na ten temat? Uważam, że praktyczna wiedza jest zamknięta w punktach mocy i sporadycznej białej księdze.
Funkyeah

Rolf: czapki spowodują odbicie, jeśli znajdują się w sporej odległości i można nimi zarządzać, ale trzeba je rozpoznać, zwłaszcza jeśli sygnał musi pochodzić z wewnętrznej warstwy do i z czapek, dodając kilka przelotki. Nieciągłość nie jest ogromna, ale jeśli budżet łącza zostanie rozciągnięty, może to być słoma, która złamała grzbiet wielbłąda.
Peter Smith

Jeszcze kilka pytań, jeśli nie masz nic przeciwko! Co masz na myśli, gdy porównujesz napięcie początkowe 0,5 V z Vfull i wspominasz czas przejazdu ... Czy mówisz, że pierwsza część to pomiar odbicia i sygnału, a ostatnia to tylko sygnał? Czy to dobrze widzieć, czy źle? W każdym razie, aby go usunąć?
Funkyeah,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.