logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Sprzetowy analizator magistrali USB

ppluciennik 03 Maj 2009 00:31 2226 8
  • #1 6483391
    ppluciennik
    Poziom 2  
    Witam,

    Od jakiegos juz czasu staram sie zrealizowac moja prace dyplomowa - tytul jak w temacie. Niestety nie jestem elektronikiem chociaz wybralem sobie temat czysto elektroniczny. Caly analizator sklada sie z ukladu FPGA (Spartan 3) wchodzacego w sklad plyty rozwojowej MmFpga (http://www.propox.com/products/t_155.html) oraz czesci przechwytujacej dane z magistrali.

    Problem z jakim sie borykam polega na przechwyceniu danych z magistrali. Po wielu probach zdecydowalem sie na wykorzystanie USB transceivera SP 5301 (http://www.exar.com/Files/Documents/sipex/datasheets/sp5301.pdf), ktory poda mi przetworzone sygnaly juz w postaci cyfrowej.

    SP5301 podlaczylem rownolegle do magistrali, wejscia D+ i D- polaczone sa poprzez rezystory (probowalem rezystory od 20 ohmow do 1.5k oraz 15k) lecz przy takim rozwiazaniu urzadzenie podlaczone do magistrali nie jest wogole wykrywane.

    Prosze o pomoc, nakierowanie mnie w jaki sposob podsluchac magistrale USB bez zbytniej zmiany jej dzialania, najlepiej przy uzyciu ukladu SP5301?

    Szukalem przykladowych rozwiazan problemu, lecz google nic sensownego nie pokazal a jesli juz cos bylo to nie bylo zadnych schematow.

    Pozdrawiam
    Pawel
  • #2 6484707
    Zbych_
    Poziom 25  
    ppluciennik napisał:
    SP5301 podlaczylem rownolegle do magistrali, wejscia D+ i D- polaczone sa poprzez rezystory (probowalem rezystory od 20 ohmow do 1.5k oraz 15k) lecz przy takim rozwiazaniu urzadzenie podlaczone do magistrali nie jest wogole wykrywane.


    Po pierwsze zacznij od narysowania schematu swojego podłączenia (w szczególności okolic sp5301). Po drugie sprawdź, czy po odłączenie sp5301 od magistrali wpływa na wykrywanie urządzeń. Po trzecie ważne jest jak się wpinasz w magistralę (przewody do sp5301 nie są za długie?).

    Skoro wybrałeś sobie temat elektroniczny, to chyba twój promotor (albo ktoś ze szkoły/uczelni) zna się na elektronice? Dlaczego nie poprosisz ich o pomoc?

    ppluciennik napisał:
    Prosze o pomoc, nakierowanie mnie w jaki sposob podsluchac magistrale USB bez zbytniej zmiany jej dzialania


    Przy małych prędkościach (do 12Mb) nie ma w tym nic trudnego. Ja mam specjalną przejściówkę do analizatora. Są na niej tylko dwa gniazda USB do wpięcia kabli (wejście i wyjście) i goldpiny do podłączenia kabli od analizatora stanów logicznych.
  • #3 6485741
    ppluciennik
    Poziom 2  
    Cytat:
    Po pierwsze zacznij od narysowania schematu swojego podłączenia (w szczególności okolic sp5301). Po drugie sprawdź, czy po odłączenie sp5301 od magistrali wpływa na wykrywanie urządzeń. Po trzecie ważne jest jak się wpinasz w magistralę (przewody do sp5301 nie są za długie?).


    Tutaj jest schemat - http://kadu.net/~pawel_p/upload/sp5301_fpga.png.
    Po odlaczeniu sp5301 magistrala dziala poprawnie.

    Wpiecie sie do magistrali zrealizowane jest poprzez dwa zlacza USB. Miedzy nie rownolegle podlaczone sa przewody prowadzace do sp5301. Dlugosc kabli pomiedzy sp5301 a gniazdami jest na oko 3-5cm.

    Cytat:
    Przy małych prędkościach (do 12Mb) nie ma w tym nic trudnego. Ja mam specjalną przejściówkę do analizatora. Są na niej tylko dwa gniazda USB do wpięcia kabli (wejście i wyjście) i goldpiny do podłączenia kabli od analizatora stanów logicznych.


    Zapomnialem dodac ze analizator ma wspierac predkosci do 12Mb.
    Jest mozliwosc aby zobaczyc jak dziala ta przejsciowka? Wydaje mi sie ze wzorowanie sie na istniejacym rozwiazaniu bedzie najlepsza opcja.

    Cytat:
    Skoro wybrałeś sobie temat elektroniczny, to chyba twój promotor (albo ktoś ze szkoły/uczelni) zna się na elektronice? Dlaczego nie poprosisz ich o pomoc?


    Moj promotor bardziej zna sie na FPGA, tutaj akurat za bardzo nie moze mi pomoc. Proponowal wpiecie rezystorow, lecz niestety nie podzialalo. Wydawalo sie ze powinno dzialac. Pytalem znajomych, i nie tylko, lecz nie sa w stanie mi pomoc. Szukam rozwiazan roznymi kanalami, wiec dlatego tez zdecydowalem sie tutaj napisac.
  • #4 6486202
    Zbych_
    Poziom 25  
    ppluciennik napisał:

    Coś jest nie tak:
    The requested URL /~pawel_p/upload/sp5301_fpga.png. was not found on this server.

    ppluciennik napisał:
    Po odlaczeniu sp5301 magistrala dziala poprawnie.


    No to już wiesz gdzie szukać winnego.

    ppluciennik napisał:
    Wpiecie sie do magistrali zrealizowane jest poprzez dwa zlacza USB. Miedzy nie rownolegle podlaczone sa przewody prowadzace do sp5301. Dlugosc kabli pomiedzy sp5301 a gniazdami jest na oko 3-5cm.


    Wygląda OK. U mnie klable są nawet dłuższe - kilkanaście cm, ale nie w taśmie tylko osobne druty (mniejsze pojemności).

    ppluciennik napisał:
    Jest mozliwosc aby zobaczyc jak dziala ta przejsciowka?


    Nie mam pod ręką aparatu, ale tam nic nie ma. To są po prostu dwa gniazda USB (A i B) i goldpiny do podpięcia analizatora. Z twojego opisu wychodzi, że masz coś identycznego.

    ppluciennik napisał:
    Moj promotor bardziej zna sie na FPGA, tutaj akurat za bardzo nie moze mi pomoc.


    A inni promotorzy? Przecież tu chodzi o jednorazową konsultację. Uwierz mi - trzeba ten układ pomacać oscyloskopem (najlepiej cyfrowym, żeby zatrzymać przebiegi), a tego się nie da zrobić na odległość.

    Na twoim miejscu spróbowałbym takich rzeczy:

    1. Sprawdź, czy masz wyłączony nadajnik w sp5301 (/OE = H; SUSPEN = L)

    2. Upewnij się, że urządzenie podpięte do magistralii nie będzie próbowało połączyć się z prędkością 480Mb - czyli nie używaj pendrive'ów itp. do testów; możesz użyć np. konwertera USB-RS232, myszki, klawiatury (byleby były bez huba USB) - one chodzą z prędkością <=12Mb.

    3. Odłącz swój układ od magistrali (możesz zostawić podpiętą tylko masę). Podłącz jakieś urządzenie USB. Jeśli urządzenie zostało rozpoznane, to dopiero wtedy podłącz swój układ. Sprawdź, czy transmisja została zerwana. Jeśli nie, to znaczy że twój układ zakłóca tylko rozpoznawanie obecności urządzenia na magistralii.
  • #5 6486369
    elektryk
    Poziom 42  
    Zbych_ napisał:
    Coś jest nie tak:
    The requested URL /~pawel_p/upload/sp5301_fpga.png. was not found on this server.
    Usuń kropkę.

    Jeśli wpinasz się równolegle do linii USB to rezystory nie powinny grać roli (i tak będziesz tylko "słuchać") a same linie USB powinny być przeźroczyste (rezystancja pomijalnie mała).
  • #6 6486410
    Zbych_
    Poziom 25  
    elektryk napisał:
    Zbych_ napisał:
    Coś jest nie tak:
    The requested URL /~pawel_p/upload/sp5301_fpga.png. was not found on this server.
    Usuń kropkę.


    No tak :-). Dzięki.

    Co do schematu, to za mało szczegółów. Skąd układ jest zasilany? Czy zasilanie jest prawidłowo odsprzęgnięte? Czy masa SP5301 i USB jest połączona?
  • #7 6486415
    ppluciennik
    Poziom 2  
    Cytat:
    Coś jest nie tak:
    The requested URL /~pawel_p/upload/sp5301_fpga.png. was not found on this server.


    Bez kropki http://kadu.net/~pawel_p/upload/sp5301_fpga.png :)

    Cytat:

    Cytat:
    ppluciennik napisał:
    Po odlaczeniu sp5301 magistrala dziala poprawnie.


    No to już wiesz gdzie szukać winnego.


    Wiem ze cos jest nie tak z sp5301 natomiast nie wiem w jaki sposob wplywa on na cala magistrale i jak sprawic by mimo wszystko przechwytywac sygnaly bez zaburzania magistrali.


    Cytat:
    A inni promotorzy? Przecież tu chodzi o jednorazową konsultację. Uwierz mi - trzeba ten układ pomacać oscyloskopem (najlepiej cyfrowym, żeby zatrzymać przebiegi), a tego się nie da zrobić na odległość.


    Nie napisalem wszystkiego, w ogolnym przypadku przechwytywanie nie dziala (na dwoch kompach na ktorych testowalem) natomiast na jednym kompie na uczelni zachowanie bylo inne.

    Testowalem zachowanie magistrali poprzez wpiecie sp5301 na magistrale, lecz go nie zasilalem. Normalnie urzadzenia w takiej konfiguracji nie sa wykrywane, natomiast na uczelni o dziwo to zadzialalo. Nie mialem 3.3v by zasilic uklad i sprawdzic wszystko jest ok. Jutro sprawdze to na uczelni.

    Cytat:

    Na twoim miejscu spróbowałbym takich rzeczy:

    1. Sprawdź, czy masz wyłączony nadajnik w sp5301 (/OE = H; SUSPEN = L)



    Sprobuje zrobic to bezposrednio podlaczajac do zasilania a nie przez fpga.

    Cytat:

    2. Upewnij się, że urządzenie podpięte do magistralii nie będzie próbowało połączyć się z prędkością 480Mb - czyli nie używaj pendrive'ów itp. do testów; możesz użyć np. konwertera USB-RS232, myszki, klawiatury (byleby były bez huba USB) - one chodzą z prędkością <=12Mb.


    Podlaczam myszke, mam pewnosc ze 480Mhz nie wchodzi w gre, a jedynie 1.5Mhz,.
  • #8 6486613
    Zbych_
    Poziom 25  
    ppluciennik napisał:
    Testowalem zachowanie magistrali poprzez wpiecie sp5301 na magistrale, lecz go nie zasilalem.


    Słaby pomysł. Bez zasilania układ może się zasilać w sposób posożytniczy z linii danych (i przeciążyć je), więc nic dziwnego, że ruch na magistralii wtedy zamiera.

    ppluciennik napisał:
    Sprobuje zrobic to bezposrednio podlaczajac do zasilania a nie przez fpga.


    Może być przez płytkę z FPGiem. Byleby zasilanie było odsprzęgnięte kondensatorami blisko SP5301 i jego masa była połączona z masą USB.
    Koniecznie sprawdź, czy masz wyłączony nadajnik.
  • #9 6486990
    ppluciennik
    Poziom 2  
    Zbych_ napisał:
    ppluciennik napisał:
    Testowalem zachowanie magistrali poprzez wpiecie sp5301 na magistrale, lecz go nie zasilalem.


    Słaby pomysł. Bez zasilania układ może się zasilać w sposób posożytniczy z linii danych (i przeciążyć je), więc nic dziwnego, że ruch na magistralii wtedy zamiera.

    ppluciennik napisał:
    Sprobuje zrobic to bezposrednio podlaczajac do zasilania a nie przez fpga.


    Może być przez płytkę z FPGiem. Byleby zasilanie było odsprzęgnięte kondensatorami blisko SP5301 i jego masa była połączona z masą USB.
    Koniecznie sprawdź, czy masz wyłączony nadajnik.


    Dzieki za pomoc, okazalo sie ze mialem takie dziwne zachowanie, poniewaz schemat do plyty rozwojowej ma buga (opis pinow na plycie nie odpowiada schematowi). Przez to /OE bylo w stanie LOW zamiast HIGH.
REKLAMA