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

PC Serial Logger – jak monitorować i przesyłać dane z portu szeregowego do PC?

Mad Bekon 14 Wrz 2006 08:07 1439 2
REKLAMA
  • #1 3018397
    Mad Bekon
    Poziom 23  
    Posty: 794
    Pomógł: 31
    Ocena: 36
    Witam panowie. Tym razem stanąłem przed problemem zrobienia Loggera monitorującego połączenie szeregowe, przesyłającego dane online do komputera PC.

    Takie urządzonku ułatwiłoby bardzo prace wielu osobą starającym się rozgryść protokoły urządzeń korzystających z portu szeregowego.

    Pomyślałem sobie o uC, mającym 3 * USART, ale takiego nie znalazłem.
    Znalazlem takie mające po 2 USARTy. W związku z tym plan jest taki:
    Do jednego USARTu wpięte będzie urządzenie, do drugiego, PC z którym się łączy. Sygnały sterujące do wejść i wyjść. Dane do drugiego PC trzebaby było przez SPI.

    Dobre rozwiązanie? Czy może jest jakaś prostrza, skuteczniejsza metoda? Pozdrawiam
  • REKLAMA
  • #3 3018989
    McRancor
    VIP Zasłużony dla elektroda
    Posty: 5326
    Pomógł: 479
    Ocena: 124
    Z gotowych:

    Zaczynając od w pełni programowych:
    http://www.aggsoft.com/serial-port-monitor.htm
    http://www.softhypermarket.com/Free-Serial-Port-Monitor-download_29681.html

    Do sprzętowych wykorzystujących przystawkę z kilkoma diodkami, jednak pracujące w trybie no-duplex, lub full - duplex korzystając z 2 portów COM:
    http://www.lammertbies.nl/comm/cable/RS-232-spy-monitor.html

    W Twoim urządzeniu wystarczą dwa UARTy, a nawet 1 i 1/2

    Potrzebujesz 2 lini Rx do nasłuchiwania transmisji DCE < DTE i DCE > DTE, przecież nie trzeba "przecinać" transmisji prockiem, jest to niepotrzebne kiedy chcesz tylko podsłuchiwać.

    Potrzebujesz jednej lini Tx do wysyłania danych do kompa. Jednak tu pojawia się problem, mianowicie przy pełnej prędkości RS232 w trybie full-duplex nie zdążysz wysłać do kompa wszystkich danych, będzie ich po prostu za dużo. Możesz rozwiązać to w ten sposób że dwa UARTy będą tylko odbierać dane z podsłuchiwanej transmisji, a procek będzie wysyłał je do kompa programowym UARTem przez most RS232<>USB który pozwoli wycisnąć znacznie wyższą prędkość transmisji, a może to robić programowo, bo obydwa UARTy są sprzętowe i jedyne co będzie miał do roboty to odczytanie buforów i wysłanie ich programowo. Dodatkowo możesz sterować jedną z lini rs232 w celu określenia kierunku transmisji, nie będzie wtedy trzeba wciskać dodatkowych bajtów do transmisji, albo wykorzystać po stronie uC>PC transmisję 9 bitową gdzie 1 bit określi kierunek.
REKLAMA