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

Switch USB lub rs232 sniffer

Doolek 16 Gru 2009 17:27 2710 3
REKLAMA
  • #1 7397426
    Doolek
    Poziom 10  
    Hello.
    Mam następujący problem związany z interfejsem USB. Mam dwa urządzenia, powiedzmy PC oraz np. drukarkę (lub cokolwiek pracujące jako USB Slave). Teraz pomiędzy te dwa urządzenia chcę wpiąć moje urządzenie tylko po to aby raz na jakiś czas odczytać dane jakie są przesyłane pomiędzy PC, a przykładową drukarką. Moje urządzenie to ma być taki sniffer aby podglądać przesyłane dane.
    Mój pierwszy pomysł to wykorzystanie multipleksera analogowego do stworzenia switch'a USB tak, aby w danym momencie mikrokontroler przełączył drukarkę z PC do drugiego hosta USB (np mojego mikronotrolera). O ile mi wiadomo to standard USB pozwala jedynie na to aby z jednego urządzenia Slave korzystał tylko jeden Host i to rozwiązanie spełniałoby to ogranicznie. Jednak trochę nie pasuje mi to, że PC utraci kontakt z drukarką i po ponownym podłączeniu PC będzie na nowo wykrywał drukarkę. Switch jest opisany tutaj: http://www.analog.com/library/analogDialogue/archives/40-01/usb_switch.html
    Drugi pomysł to wykorzystanie konwerterów USB->RS232. Czy można zrobić to w ten sposób, że konwertuję dane przesyłane z drukarki ze standardu USB na standard RS232 i poprzez mikrokontroler mam możliwość podglądu co się dzieje na liniach, a następnie robię konwersję RS232->USB tak aby dane poszły dalej do PC?

    Proszę o jakieś sugestie.

    Pozdrawiam.
  • REKLAMA
  • #2 7402872
    Doolek
    Poziom 10  
    Widze, że odpowiedzi nie dostanę więc może zapytam o coś innego. Czy do konwersji z USB -> UART oraz UART->USB mogę wykorzystać dwa układy tego typu http://sklep.avt.pl/p/pl/485597/interfejs+usb...t+rs232+z+galwaniczna+izolacja+magistral.html

    Załączam też rysunek obrazujący w dużym uproszeczeniu to co chcę zrobić.


    Switch USB lub rs232 sniffer

    Jeżeli chodzi o RS232 SNIFFER to sugerowałem się tym co zostało opisane tutaj: http://www.marcspages.co.uk/tech/3104.htm

    Będę wdzięczny za wszelkie sugestie.
  • REKLAMA
  • #3 7406007
    __Grzegorz__
    Poziom 30  
    Jedyny znany mi sposób to HUB USB własnej roboty.

    Nie zaburzysz struktury logicznej łącza USB, pojawi się tylko dodatkowe urządzenie pośredniczace, wydłużysz zasięg łącza o kolejne 7metrów...

    Przejściówka USB->RS to inna klasa urządzeń. Nie wydrukujesz nic na kompie do portu COM... Pomijam już problem szybkości transferu danych...

    Przełączanie USB na żywo to zły pomysł (trzeba by dopilnować WIEEEEELU drobiazgów, aby przebiegło to bezboleśnie),
    byłaby to jazda po krawędzi (wykorzystanie faktu retransmisji danych, gdy HOST nie otrzyma potwierdzenia od SLAVE).

    Poza tym potrzebne by było urządzenie wydłubujące dane z warstwy PHY protokołu USB...


    Jeżeli masz trochę samozaparcia - polecam zapoznanie się z rodzinką układów Cypress EZ-USB FX2LP (np. CY7C68014).

    Można dwa takie układy spiąć ze sobą i zrobić z tego HUBa...
    W warunkach domowych będzie raczej ciężko...
  • #4 7506594
    Mister_one
    Poziom 13  
    Witam,

    __Grzegorz__ czy aby masz rację?? Myślisz jak zepniesz dwa urządzenia usb typu device to powstanie HUB?? To by było za proste. I jaki to miałby być HUB? FS czy HS, bo zasada działania każdego z nich jest zupełnie inna. Retransmisja danych? w USB? bez komentarza.

    Doolek czy chcesz zbudować takie urządzenie czy tylko raz przechwycić dane? Jedno i drugie jest do zrobienia, tylko trzeba przygotować odpowiedni budżet. W pierwszym przypadku duży, w drugim mniejszy. Jeżeli jesteś zainteresowany to pisz na priva, możemy się dogadać.

    Pozdrawiam
    MiSter
REKLAMA