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:
Dla oka schemat oka wygląda całkiem dobrze:
Ale dane TX nie tyle:
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.
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!
źródło
Odpowiedzi:
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.
źródło