Próbuję debugować 100-bitową kartę Ethernet i mam problem z próbą rozwiązania.
To jest schemat oka dla pary transmisji. Para odbiorcza jest bardzo podobna. Jest to PHY LAN8700, a interfejs MII został skutecznie wyłączony, więc PHY przesyła sekwencje kodu IDLE. Jest zmuszony do 100Mbit / FDX zgodnie z arkuszem danych. 100 Mb / HDX jest identyczny.
Korekta: Projekt wykorzystuje wewnętrzne zasilanie LAN8700 1,8 V do zasilania swojej sieci VDD_CORE; Musiałem pomylić zasilanie logiczne 1,8 V z zasilaniem VDD_CORE we wcześniejszym opisie. Wydaje mi się, że szum zasilacza nie ma tak dużego prawdopodobieństwa, ponieważ poziomy wysoki, zerowy i niski są w rzeczywistości całkiem przyzwoite. Oznacza to, że oko nie jest „zmrużone”. Fakt, że wszystkie naruszenia wyglądają jak bardzo dobre przejścia, po prostu „wypaczone” w czasie, sprawia, że myślę, że problem leży w krysztale lub zasilaniu sterownika kryształu / PLL w PHY.
Jeśli pozwolę uruchomić wykres oka (około 15 minut), naruszenia w masce „wypełniają się” tak, że białe naruszenia widoczne na obrazku stają się białymi kształtami w kształcie litery „chevron” (>) po prawej stronie niebieskich masek. To by mi powiedziało, że błędy synchronizacji są mniej więcej losowo rozmieszczone, a nie jakiś dyskretny hałas odrywający synchronizację od dokładnej wielkości.
Kryształ, którego używa PHY, ma specyfikację 30ppm, co dobrze mieści się w specyfikacji 100ppm 802.3, a nawet w zalecanej specyfikacji 50ppm określonej przez PHY. Używam kondensatorów ładujących, które pasują do tego, czego szuka kryształ i jest całkiem zbliżone do tego, co LAN8700 określa jako swoją nominalną pojemność.
Zanim wyłączyłem interfejs MII, widziałem błędy kadrowania (jak zgłosił program ifconfig mojego Linuxa). Jeśli wymuszę łącze do 10Mbit, nie będzie żadnych błędów.
Jedną z bardzo dziwnych rzeczy, które zauważyłem, jest to, że jeśli ustawię zakres tak, aby wyzwalał sygnał RX_ER (błąd odbioru) z PHY do MAC, nigdy nie sygnalizuje błędu, nawet jeśli błędy ramki kumulują się w raportach MAC. Teraz, po przeczytaniu arkusza danych dla PHY, jasne jest, że tak naprawdę jest bardzo niewiele sytuacji, w których RX_ER mógłby twierdzić, ale bardzo trudno mi uwierzyć, że przy diagramie oka takim, jak widzę, błędy są w rzeczywistości między PHY a MAC.
Rozumiem podstawy diagramów oka, ale spoglądam na bardziej doświadczone plakaty, mając nadzieję, że będą w stanie podzielić się niektórymi swoimi doświadczeniami w tłumaczeniu określonych naruszeń maski oka na prawdopodobne źródła.
(edycja: dodano schemat, poprawiono źródło zasilania VDD_CORE)
źródło
Odpowiedzi:
Widzę wiele rzeczy, które mogą potencjalnie powodować problemy z diagramem oka. Żadnego „pistoletu do palenia”, ale niektóre rzeczy, które mogłyby potencjalnie popsuć.
Na nieużywanych stykach RJ-45 i środkowych zaczepach transformatora masz czopy 0,01 uF (C211, C212, C214 i C217). Polecam zwarcie tych czapek. Używanie wielkich liter w tym miejscu jest niezwykłe i może powodować problemy później, chociaż prawdopodobnie nie powodują problemów z diagramem oka. Niemal, jak mogę powiedzieć, jedynym powodem, aby mieć te ograniczenia, jest schemat blokowania prądu stałego, gdy ktoś używa niestandardowego schematu zasilania przez Ethernet. Standardowe POE nie potrzebuje tej ochrony, a ponieważ standard POE jest teraz „stary”, prawdopodobnie nie spotkasz standardowego sprzętu POE.
Zdejmij zaślepki C19 i C25, 10 pF z rezystorów terminujących Ethernet. Są one o wiele za małe i zbyt dalekie od wszystkiego, co jest krytyczne, aby można je było wykorzystać.
Zmień czapki C18 i C24, 0,01 uF na rezystorach terminujących Ethernet, na co najmniej 0,1 uF. Możesz nawet spróbować 4.7 uF. „Szyna zasilająca”, którą rozdzielają te pokrywy, musi być dość stabilna, a przez rezystory końcowe może płynąć zaskakująca ilość prądu. Jeśli L4 / L5 zbyt mocno ogranicza przepływ prądu, a ograniczenia nie zmniejszają luzu, możesz mieć błędy danych.
Usuń C16, C17, C22 i C23 - wszystkie zaślepki 10 pF na liniach danych Ethernet. Jedynym powodem jest filtrowanie EMI i nie są one potrzebne do debugowania. Usuń je, aby upewnić się, że nie powodują innych problemów. Zawsze możesz je później odłożyć, jeśli zajdzie taka potrzeba.
Zmień czapki C20 i C21, 0,022 uF na zaczepach środkowych transformatora, na co najmniej 0,1 uF. Warto też spróbować 1.0 uF. Ta linia może zbytnio opadać, biorąc pod uwagę rezystor 10 Ω i L4 / L5. Możesz nawet skrócić to do VCC w celu debugowania. Jedynym powodem rezystora (i w mniejszym stopniu zaślepki) jest filtrowanie EMI. Kiedy ponownie przekręcisz płytkę drukowaną, powinieneś podłączyć rezystory 10 omów bezpośrednio do VDD33 zamiast przechodzić przez L4 / L5. Rezystor 10 omów i L4 / L5 są redundantne. Przechodząc bezpośrednio do VDD33 możesz zapobiec wstrzykiwaniu szumu do rezystorów terminujących, a także ułatwić optymalizację filtrowania w tym obszarze.
Będziesz potrzebować więcej czapek na pinie VDDIO lub zewrzyj koralik. Ten pin zapewnia zasilanie wielu pinom I / O i będzie na nim dużo prądu. Jeśli z powodu filtra LC (koralik + 0,4 uF) jest on zagłodzony prądem, na stykach we / wy będzie występować wiele jednoczesnych szumów przełączania. To faktycznie spowoduje więcej hałasu niż to, co filtrujesz za pomocą tego koralika. Możliwe jest nawet, że szum ten dotrze do wyjść Ethernet.
Sprawdź, czy masz prawidłowo wyprowadzenia na transformatorze. Chociaż jest mało prawdopodobne, można zamienić środkowy zaczep i kolejną pinezkę. Warto poświęcić 5 minut na weryfikację. W tym celu sprawdź również pin-out LAN8700.
Jeśli nic z tego nie poprawi, zdobądź oscylator metalowy o częstotliwości 25 MHz i wymień swój kryształ. Widziałem, że obwody kryształowe robią dziwne rzeczy, więc choćby dla spokoju ducha warto zhakować prototypową płytkę, aby upewnić się, że clk jest stabilny.
To wszystko, co w tej chwili widzę. Mam nadzieję że to pomoże!
źródło
Moje 2 centy: zgadzam się z twoją rekomendacją, aby wybrać odpowiedni kryształowy oscylator dla 25 MHz. Użyłem DP83865DVH firmy NSC w trybie 1 Gbit, a kiedy znalazłem się w niestabilnym stanie na długim kablu testowym („specjalna” słaba jakość 5 kotów i blisko 110 m), wymiana XTAL zrobiła dużą różnicę. Obwód stał się bardzo stabilny, a cena takiego „ulepszenia” wynosi tylko ~ 10 centów.
źródło