Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Computer ControlsComputer Controls
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Analizator stanów logicznych na LPT

manekinen 09 Mar 2010 13:02 38956 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.

    Cool! Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    manekinen
    Level 29  
    Offline 
    manekinen wrote 1629 posts with rating 2274, helped 75 times. Live in city Kętrzyn. Been with us since 2006 year.
  • Computer ControlsComputer Controls
  • #2
    jarewa
    Level 31  
    Takie pytanie jakie napięcie max wytrzymuje kanał?
  • #3
    morph13
    Level 25  
    Dokładnie tyle ile wytrzymuje układ spełniający role bufora PC <->badany układ.
  • #4
    kub1113
    Level 10  
    tak z ciekawości jakie koszta za to wszystko poniosłeś?? ;D
  • #5
    maniek1818
    Level 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
    -nobile-
    Level 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
    manekinen
    Level 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ę :)
  • Computer ControlsComputer Controls
  • #8
    PawelN
    Level 12  
    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
    manekinen
    Level 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
    Svavo
    Level 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
    PawelN
    Level 12  
    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
    manekinen
    Level 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 - https://www.elektroda.pl/rtvforum/viewtopic.php?p=4078818#4078818
  • #13
    jezyczekm
    Level 10  
    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
    asembler
    Level 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
    manekinen
    Level 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
    asembler
    Level 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
    wdogli
    Level 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
  • #18
    manekinen
    Level 29  
    O, fajny pomysł ze złączem na płytce, wrzuć projekt jeśli możesz :) Bufor jak zasilasz? Z tego co widzę HC dałeś
  • #19
    wdogli
    Level 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
  • #20
    Urgon
    Editor
    AVE...

    Mam tylko jedną, drobną uwagę: odradza się stosowanie goldpinów z płytkami stykowymi - za bardzo rozginają blaszki prowadząc do szybszego zużycia. Lepiej użyć igieł lub pinów z wtyczki d-sub...

    A projekcik prosty i elegancki. Aż się pewnie skuszę...
  • #21
    wilkk
    Level 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
    manekinen
    Level 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ę ;)
    Quote:

    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
    jdn
    Level 12  
    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.
  • #26
    manekinen
    Level 29  
    Ok dzięki, wszystko jasne.

    jdn - w takim razie masz coś "skopane" w tym systemie albo nie odblokowałeś prawidłowo portów. Ja z SP3 nie mam żadnych problemów, wszelakie programatory i inne wynalazki działają :)
  • #27
    choyrack
    Level 10  
    Zna ktoś jakiś patent na połączenia analizatora tego typu pod port USB?
  • #28
    rdobry
    Level 10  
    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
    asembler
    Level 32  
    rdobry wrote:
    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
    Urgon
    Editor
    AVE...

    Gwoli wyjaśnienia, za wikipedią:
    Quote:
    - 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.