Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Analizator stanów logicznych na LPT

manekinen 09 Mar 2010 13:02 34768 51
  • Analizator stanów logicznych na LPT
    Najlepszy przyjaciel w elektronice cyfrowej – analizator (rejestrator) stanów logicznych. Pomoże rozwiązać problemy z wszelaką komunikacją urządzeń, I2C, SPI, RS232, 1WIRE, czy też własnego protokołu. Skończ z bezsensownymi poprawkami programu “na ślepo”. To najtańsza z najtańszych wersja takiego analizatora logicznego – wtyczka LPT, bufor 74xx245, i trochę przewodu – reszta to aplikacja na PC.

    Układ wykonany na podstawie tej strony , można pobrać stamtąd też aplikację na PC. Cały analizator stanowi układ wejściowy portu LPT, próbki nie są w żaden sposób buforowane tak jak w przypadku lepszych analizatorów, ale odbierane i zapisywane w czasie rzeczywistym. Pomimo tego uzyskujemy do miliona próbek na sekundę z 8 kanałów jednocześnie, co już samo w sobie jest niezłym wynikiem i bez problemu podejrzymy “co w trawie piszczy” nawet w bardziej skomplikowanych układach. Bufor 74xx245 ochrania port LPT przed ewentualnymi przepięciami. Zasilanie bufora pobierane jest z linii STROBE portu, niestety linia ta ma bardzo małą wydajność prądową (od ok. 250uA do ok. 2mA)… Rodzaj bufora ma znaczenie, wersje LS czy F pobierają nawet do 90mA w stanie “nic nierobienia”, więc aby takich użyć należy przeciąć ścieżkę pinu STROBE i doprowadzić własne zasilanie, np. z układu mierzonego lub dorobić wtyczkę USB i potrzebne napięcie poierać z portu USB. Zastosowanie bufora w wersji HC obniży pobór prądu do minimum i umożliwi zasilanie z pinu STROBE - należy się upewnić że bufor dostanie przynajmniej 3V (dla HC, dla wersji LS czy HCT 4.7V) przy wszystkich liniach w stanie L. W przypadku gdy ten warunek nie zostanie spełniony całość trzeba zasilić z zewnętrznego źródła. Przy wyborze bufora należy także zwrócić uwagę na to czy akceptuje sygnały powyżej własnego napięcia zasilania, bo podając napięcie wyższe zadziałają diody zabezpieczające i konflikt w układzie mierzonym gwarantowany. Układ nie jest w żaden sposób odizolowany galwanicznie od komputera, nie zachowując ostrożności możesz uszkodzić sobie port LPT lub płytę główną! Izolację galwaniczną można wykonać przy pomocy transoptorów, ale pamiętaj że te muszą być dostatecznie szybkie – no i też trzeba je jakoś zasilić. Przewód nie powinien być zbyt długi, ja zastosowałem taśmę IDC 10 żyłową o długości około metra. Nie polecam stosowania dłuższego przewodu, bowiem pojemności pasożytnicze i odbicia pomiędzy jego żyłami skutecznie zaczną utrudniać pomiary przy wyższych prędkościach. Aby uniknąć odbić pomiędzy żyłami można zastosować szerszą taśmę, i pomiędzy każdą żyłą z sygnałem puścić żyłę dołączoną do masy. Zakończenia przewodów dowolne, można użyć tzw. chwytaków pobierczych, nie są one drogie. Ja będę używał analizatora w układach prototypowych z wykorzystaniem płytki stykowej, więc przewody sygnałowe zakończyłem szpilkami, tzw. pinhead’ami. Można je też ponumerować, ale raczej jest to zbędne, po prostu zapamiętamy że pierwszy kanał jest przy przewodzie masy a ostatni przy przewodzie zasilania. Żyły masy i zasilania zakończyłem zwykłymi krokodylkami.

    W internecie można znaleźć sporo aplikacji takiego analizatora obsługujących port LPT – przykładowo bardzo dobry i niezwykle prosty w obsłudze The Fabulous Logic Analyzer .

    Analizator stanów logicznych na LPT Analizator stanów logicznych na LPT Analizator stanów logicznych na LPT Analizator stanów logicznych na LPT

    Analizator stanów logicznych na LPT Analizator stanów logicznych na LPT

    Przykładowe nagranie transmisji dwóch bajtów za pomocą I2C (przebieg 4 i 5 to kolejne nagranie, wklejone w zrzut dla porównania). W tym przypadku widać brak odpowiedzi układu flagą potwierdzenia ACK - usterka szybko zlokalizowana i wyeliminowana :)
    Analizator stanów logicznych na LPT

    W załączniku pliki projektu eagle SCH i BRD oraz gotowce w PDF.

  • #2 09 Mar 2010 17:45
    jarewa
    Poziom 31  

    Takie pytanie jakie napięcie max wytrzymuje kanał?

  • #3 09 Mar 2010 18:11
    morph13
    Poziom 25  

    Dokładnie tyle ile wytrzymuje układ spełniający role bufora PC <->badany układ.

  • #4 09 Mar 2010 19:18
    kub1113
    Poziom 9  

    tak z ciekawości jakie koszta za to wszystko poniosłeś?? ;D

  • #5 09 Mar 2010 20:14
    maniek1818
    Poziom 22  

    Bardzo praktyczne wykorzystanie zbędnego LPT :D Również mam pytanie, jaki tryb należy ustawić w BIOS? Czy aplikacja działa również na innych platformach typu win98, 2000 albo linuks :?:
    Pozdrawiam

  • #6 09 Mar 2010 20:19
    -nobile-
    Poziom 16  

    "miliona próbek na sekundę"

    Czyli 1Mhz..?!
    Myślę ze do zastosowań amatorskich wystarcza spokojnie.

    Bardzo przydatne urządzonko, osobiście dał bym kabel z klipsami (tak jak to jest w fabrycznych tego typu urządzeniach).

  • #7 09 Mar 2010 20:54
    manekinen
    Poziom 29  

    jarewa - akurat w tym przypadku 5V. Jeśli znajdziesz bufor zasilany z 5V akceptujący jeszcze wyższe napięcia to taki możesz dać i takiego używać. Ogólnie przeznaczenie tego analizatora to układy z logiką 0-5V.

    maniek1818 - The Fabolous Logic Analyzer pracuje pod różnymi systemami, jest to program z dostępnymi kodami źródłowymi, więcej na http://tfla-01.berlios.de/

    Tryb portu z tego co można wyczytać na stronie projektu, to EPP/ECP. Ja sam nawet nie wiem jaki mam ustawiony, nic nie zmieniałem, potem zajrzę i dopisze :)

    -nobile- - tak zgadza się. Jest to jednak zależne "od sprzętu" tak jak napisano na obydwu stronach. W programie TFLA po zakończeniu pobierania próbek na dole wyświetlona jest ich ilość, u mnie wychodzi około 800 tyś w ciągu sekundy co jest wystarczające w zupełności, a jeśli nie to na czas zabawy prędkość transmisji można zawsze zmniejszyć w układzie badanym :)

    Te klipsy to jak napisałem wyżej, tzw. chwytaki probiercze

    I na koniec odpowiedź na pytanie poniżej pasa ;) - 1zł. Tyle zapłaciłem za nową wtyczkę DSUB-25. Bufor i reszta z odzysku. Za takie pieniądze, polecam każdemu, naprawdę ułatwia zabawę :)

  • #8 09 Mar 2010 21:03
    PawelN
    Poziom 11  

    Witam.
    Mam pytanko, na jakim systemie i z jakim oprogramowaniem kolega uruchomił układ, sam taki zmontowałem jakieś pół roku temu, niestety mimo usilnych prób z różnymi programami, pod Win XP nie udało mi się układu uruchomić. Więc proszę o pomoc jak zmusić LPT pod Win XP do współpracy z tym układem. Takie wyjaśnienie "łopatologiczne" krok po kroku mile widziane.

  • #9 09 Mar 2010 21:22
    manekinen
    Poziom 29  

    PawelN - ale z czym dokładnie masz problem? Uruchamiam na WinXP zarówno TFLA jak i Digitrace działają ok. Nie dało się układu uruchomić czy programu? W układzie to nie ma nic do uruchamiania, jeśli program wywala że nie może otworzyć portu to należy upewnić się że żadna inna aplikacja nie korzysta z portu LPT a jeśli tak to ją zamknąć. Na stronie napisano także że jeśli układ nie będzie odpowiadał to należy ustawić tryb portu na SPP.

  • #10 09 Mar 2010 22:48
    Svavo
    Poziom 23  

    Ja niestety nie mam portu LPT (lapek), ale w przyrodzie występują przejściówki USB<->LPT. Niestety, z tego co pamiętam jedyne co można do nich podłączyć to drukarka (zresztą zgodnie z przeznaczeniem). Czy układ z tematu będzie poprawnie działać z taką przejściówką?

  • #11 09 Mar 2010 23:00
    PawelN
    Poziom 11  

    Problem mam tylko z programem, TFLA najnowsza wersja (0.3.0) w winXP SP3 mi nie startuje, wcześniejsza wersja (0.1.2) startuje ale wywala błąd, że port jest używany przez inną aplikację, tylko jaką? wszystkie pozamykane.

  • #12 10 Mar 2010 01:21
    manekinen
    Poziom 29  

    Svavo - nie próbowałem. To jest zależne od samej przejściówki, częstotliwości z jaką może pracować i odbierać dane. Np taka lepsza na FT245 pewnie i by dała radę, ale trzeba by było dostosować do niej program bo ta kość nie jest widoczna w systemie jako LPT ale jako port COM.

    Jest jeszcze taki fajny analizator - Scanalogic nie aż tak skomplikowany, wykorzystuje RS232 do komunikacji i można użyć dowolnej w zasadzie przejściówki bo prędkość nie ma znaczenia - buforuje próbki w pamięci SRAM a potem je przesyła. W trakcie tworzenia jest już druga wersja więc postanowiłem nie robić pierwszej ale zaczekać.

    PawelN - aj całkiem zapomniałem - jeśli nie bawiłeś się nigdy portem LPT to na pewno masz zablokowany. Użyj programiku giveio - http://www.elektroda.pl/rtvforum/viewtopic.php?p=4078818#4078818

  • #13 10 Mar 2010 12:21
    jezyczekm
    Poziom 9  

    istnieją przecież karty rozszerzeń PCMCIA czy PCI-express do laptopów. miałem kiedyś taką kartę i system wykrywał ją jako normalny port lpt. jeśli ktoś interesuje się elektroniką to warto zainwestować, na pewno się przyda np. do programowania mikroprocesora ATMEGA

  • #14 10 Mar 2010 18:53
    asembler
    Poziom 32  

    To samo można zrobić na porcie COM tez juz zbednym przewaznie. Korzysc taka ze nie trzeba stosowac zadnych buforów ale poprostu dołączamy kabelki bezposredni. Jedyne ograniczenie to ze mamy tylko albo aż 4 kanały wszsytkie prawie nigdy nie wykorzystywane.

  • #15 10 Mar 2010 19:27
    manekinen
    Poziom 29  

    Tutaj też nie trzeba stosować bufora - tak samo jak w przypadku programatorów STK200 - można sobie podpiąć bezpośrednio, ale wystarczy głupi błąd lub pech i delikatny układ portu pada jak mucha :(

    Nie wspominając już o układzie badanym, bufor dyskwalifikuje jakąkolwiek możliwość konfliktu

  • #16 10 Mar 2010 20:47
    asembler
    Poziom 32  

    No własnie przezyłem kilkakrotnei takie cos na LPT natomiast COM nie wiem dlaczego jest jak dla mnie niezniszczalny. Wynik LPT:COM 5:0

  • #17 10 Mar 2010 21:05
    wdogli
    Poziom 18  

    Hej.
    Ja właśnie wykonałem to urządzenie. :)
    Jednak nie zaryzykuję podpięcia go pierwszy raz do mojego podstawowego kompa.
    Więc testy dopiero jutro jak przyniosę starego kompa z piwnicy i go uruchomię.
    Oto kilka fotek:
    Analizator stanów logicznych na LPT Analizator stanów logicznych na LPT Analizator stanów logicznych na LPT
    Pozdrawiam

  • #19 10 Mar 2010 23:34
    wdogli
    Poziom 18  

    Zastosowałem bufor 74HC245D. Bufor zasilam z zewnątrz.
    Zasugerowałem się programatorem do AVR STK200/300.
    Myślę że tak będzie bezpieczniej.
    W załączeniu pliki projektu
    Pozdrawiam

  • #21 11 Mar 2010 17:33
    wilkk
    Poziom 11  

    hmm... zastanawiam się... "miliona próbek na sekundę z 8 kanałów jednocześnie" ale zakładam, że mowa tu o "współczesnym" komputerze.
    Z tego co wiem, to szybkość portu lpt bardzo zależy od komputera.
    Ciekaw jestem, jak by to chodziło na komputerach klasy 486 lub pentium 100Mhz..

  • #23 11 Mar 2010 18:05
    manekinen
    Poziom 29  

    wilkk - na stronach które przytoczyłem wcześniej, napisano właśnie ze to mocno zależy od "sprzętu". Nie wnikałem, ale to na pewno nie zależy tylko od trybu pracy portu ale pewnie też trochę od procesora... czyli ile program zdąży nagromadzić próbek.

    Urgon - wpisałeś sobie pod nickiem "tłumaczenie", może rozjaśnisz trochę sprawę bo ja angielski techniczny to słabo trawię ;)

    Cytat:

    Run on Win95 and Win98 and ME using non-interrupted burst acquisition.
    Run on Win2000 NT XP with interrupted acquisition

    Z tego co się domyślam chodzi o to że pod systemem NT obsługuje najszybszy tryb ECP a w starszych systemach już nie?

  • #24 11 Mar 2010 18:12
    jdn
    Poziom 11  

    ja odkryłem że win xp + sp3 powoduje problem z używaniem portu LPT, bez SP3 działa i chodzi po zainstalowaniu ani programator pod STKlite ani pod AVRki nie działa. Najprostsze obejście to dać WINXP + SP2 wtedy wszystko działa, a jak nie to polecam Linuxa.

  • #27 13 Mar 2010 00:02
    choyrack
    Poziom 9  

    Zna ktoś jakiś patent na połączenia analizatora tego typu pod port USB?

  • #28 13 Mar 2010 13:29
    rdobry
    Poziom 9  

    Niektóre przejściówki USB<->LPT powinny działać. Należy kupować tak aby zawsze mieć możliwość zwrotu. Miałem podobną sytuację z przejściówkami RS232<->USB nie wszystkie działają prawidłowo a niektóre wystawiają zbędne sygnały. Do jednej z nich musiałem dorobić przelotkę 1:1 w której były tylko 3 przewody ponieważ inaczej nie mogłem uzyskać dostępu do konsoli pewnego urządzenia.
    Pozdrawiam
    Robert

  • #29 13 Mar 2010 13:51
    asembler
    Poziom 32  

    rdobry napisał:
    Niektóre przejściówki USB<->LPT powinny działać. Należy kupować tak aby zawsze mieć możliwość zwrotu. Miałem podobną sytuację z przejściówkami RS232<->USB nie wszystkie działają prawidłowo a niektóre wystawiają zbędne sygnały. Do jednej z nich musiałem dorobić przelotkę 1:1 w której były tylko 3 przewody ponieważ inaczej nie mogłem uzyskać dostępu do konsoli pewnego urządzenia.
    Pozdrawiam
    Robert

    USB 2.0 chyb aoznacza ze 2 Mb/sek to jak to sie ma z 1MB/sek na LPT?Mnie sie wydaje ze nijak wiec moze dzialac ale jak sie chce miec dobre urzadzenie to raczej nie tedy droga.

  • #30 13 Mar 2010 17:33
    Urgon
    Poziom 35  

    AVE...

    Gwoli wyjaśnienia, za wikipedią:

    Cytat:
    - USB 1.1 Urządzenia spełniające warunki tej specyfikacji mogą pracować z prędkością (Full Speed) 12 Mbit/s (1,5 MB/s) i (Low Speed) 1,5 Mbit/s (0,1875 MB/s)
    - USB 2.0 (Hi-Speed) Urządzenia zgodne z warunkami nowej specyfikacji mogą pracować z maksymalną prędkością 480 Mbit/s (60 MB/s). Rzeczywista prędkość przesyłu danych zależy od konstrukcji urządzenia. Urządzenia w standardzie USB 2.0 są w pełni kompatybilne ze starszymi urządzeniami.
    - USB 3.0 (SuperSpeed) Urządzenia zgodne z warunkami nowej specyfikacji będą mogły pracować z prędkością 4,8 Gb/s (600 MB/s). Nowy standard oprócz standardowych przewodów (dla kompatybilności w dół z USB 2.0 i 1.1) do szybkich transferów wykorzystywać będzie 2 dodatkowe, ekranowane pary przewodów w dupleksie . Pierwsza prezentacja tej technologii odbyła się na targach CES 2008.

Szybka odpowiedź lub zadaj pytanie
Dziękuję Ci. Ta wiadomość oczekuje na moderatora.
 Szukaj w ofercie
Wyszukaj w ofercie 200 tys. produktów TME