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

Jak zbudować oscyloskop na 89C2051 z wyświetlaczem graficznym?

MARIO159 08 Sty 2003 09:58 27306 46
Najlepsze odpowiedzi LABEL_AI_GENERATED

Jak zbudować prosty cyfrowy oscyloskop z 89C2051 i graficznym wyświetlaczem, żeby uzyskać sensowne próbkowanie i prezentację przebiegu?

Na 89C2051 nie zbudujesz sensownego oscyloskopu cyfrowego, więc lepiej użyć szybszego AVR-a albo DSP, zewnętrznego ADC i RAM/FIFO oraz graficznego LCD [#78010][#401598] Do toru pomiarowego proponowano szybki przetwornik z równoległym wyjściem, np. TDA8703 albo ADS830 60 MHz, a do buforowania pamięć FIFO/RAM, np. 74ACT7807 2048x9 lub 62256 [#401598][#491343] Mikrokontroler powinien głównie sterować akwizycją i wyświetlaniem, czyli pobierać gotowe bufory próbek i rysować przebieg, zamiast próbować robić cały pomiar sam [#78097][#401598] Jeśli wybierzesz standardowy graficzny LCD, np. JM12864, pamiętaj, że ma on organizację w dwóch blokach 64x64 bity zapisywanych po 8 bitów, więc rysowanie nie jest trywialne [#78010][#79232] W praktyce trzeba też pogodzić się z ograniczonym pasmem i odświeżaniem rzędu około 40 razy na sekundę, jeśli celem jest tylko użyteczny obraz przebiegu [#78097]
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA
  • #1 77982
    MARIO159
    Poziom 12  
    Posty: 61
    Pomógł: 1
    czy ktoś z kolegów zastanawiał się nad wykorzystaniem tego procka w roli małego oscyloskopu. A może zastosować któryś z braci blizniaków :lol: . Jak sie zabrać do budowy takiego oscyloskopu. Myślałem o zastosowaniu wyświetlacza graficznego, i pamieći ram żeby zwiekrzyć czestotliwość própkowania i oczywiście jakiś A/C. Czy ktoś ma jekieś sugestie co do programu i układu. A moze ktoś już wykonał taki oscyloskop.
  • REKLAMA
  • #2 78010
    tmpat
    Poziom 15  
    Posty: 143
    Pomógł: 1
    Ocena: 3
    Proponuje zastosować procka z wewnetrznym przetwornikiem A/C, coś może z serii AVR, albo '535. Jęzeli ma to być szbkie to napewno AVR. Proponuje wyświetlacz JM12864.

    Sprawa nie jest prosta szczególnie jeżeli chodzi o prędkość przetwarzania i aktualizacje wyników na wyświetlaczu.

    Przemyśl sprawe i daj znać można nieco pokombinować.

    POZDRAWIAM :multi:
    patryk
  • #3 78058
    Platon
    Poziom 42  
    Posty: 9185
    Pomógł: 744
    Ocena: 170
    A uklad przetwarzajacy na jakims ukladzie programowalnym (szybkie to) + pamiec cache. Ale to juz drogo wyjdzie. Probuj na AVR.
  • #4 78097
    cepa
    Poziom 12  
    Posty: 33
    Ja zrobiłem cos w stylu oscylosopu ale jako wyswietlacza uzyłem kompa. Wersja 1 oparta była na TLC548 a 2 na ADC0820 (czy jakos tak :D ). Ale jezeli chcesz zrobic prawdziwy oscyloskop to proponuje oprzec to na wyspecjalizowanym układzie lub uzyc jakis DSP bądz szybkiego procka i kupy RAM'u i baardzo szybkich przetworników ADC. Nie ma co bawic sie w osobny wyswietlacz do oscyloskopu bo to moze byc drozsze nic cała reszta. W sumie to ja bym to zrobił tak:
    1) pożądny wzmacniacz sterowany elektronicznie,
    2) Przetwornik ADC pracujący przy nawet 100MHz.
    3) Układy generowania czasu i zapisu do szybkiej pamieci (pojemnośc powyzej 2kB).
    4) Procesor odpowiedzialny za sterowanie ogułem i przekazywanie zwartych np: 1024 próbkowych buforów danych do kompa.

    Jezeli dane są wyswietlane to wystarczy odswierzanie ok 40x na sekunde :)
  • #5 78155
    tmpat
    Poziom 15  
    Posty: 143
    Pomógł: 1
    Ocena: 3
    Widze że tu tak na poważnie :). Jeżeli zależy Ci na zbudowaniu takiego oscyloskopu z prawdziwego zdażenia (na początek tak do 1MHz) to trzeba faktycznie pokombinować z pamięciami RAM. Mysle że może to wyglać tak:

    -Wyświetlacz: jakiś standardowy graficzny (np. JM12864)
    -Przetwornik: najszybszy jaki dostaniesz byle równoległe wyjście, co do metody przetwarzanie to wielkiego wyboru pewnie nie bedzie :) znajadz życie pewnie bedą z sukcesywną aproksymacją, ale to kwestia poszukiwań.
    -Procesor: dowolny

    Cały układ.

    Cały układ przetwarzania wykonany na elementach sekwencyjno-kombinacyjnych, bez procesora, z możliwościa zmiany częstotliwości próbkowania. Wyniki zapisywane w jednej z pamięci RAM. Podczas gdy do jednej z pamięci są zapisywane próbki to z drugiej są pobierane dane przez procek i obrabiane dla LCD. W ten sposób nie są tracone dane podczas wyswietlania. Teraz tylko kwestia odpowiedniego przełączania pamięci, które będą zmieniać sie kolejno rolami.

    POZDRAWIAM :multi:
    patryk
  • #6 78204
    cepa
    Poziom 12  
    Posty: 33
    Takie przełączanie pamieci jest potrzebne raczej przy urządzeniu które gromadzi wynik a nie w czyms co ma tylko wyswietlac czesc z nich. Gdyby robili tak w prawdziwych osc to w tetronixe 1GHz dane byłyby odswierzane 1000000000x na sekunde - tylko poco jak ludzkie oko zobaczy max kilkanascie na sekunde Chyba lepiej bedzie jak np: 40x na sekunde procek pobierze próbki, umiesci w pamieci a nastepnie wyswietli.
  • REKLAMA
  • #7 78619
    tmpat
    Poziom 15  
    Posty: 143
    Pomógł: 1
    Ocena: 3
    Masz racje, nieco przedobrzyłem, wystarczy jedna pamięc RAM. Teraz kwestia wydajnego algorytmu do wyświetlania na ekranie danych zgromadzonych w RAM'ie. Biorąc pod uwage organizacje danych w standardowych wyświetlaczach trzeba bedzie sie nieco postarać :).

    POZDRAWIAM :multi:
    patryk
  • #8 78737
    cepa
    Poziom 12  
    Posty: 33
    Wyswietlanie wykresu to najprostsza z mozliwych czynnosc:
    1)idziesz do początku wykresu
    2)robisz petle w której rysujesz linie z ostatnio narysowanego punktu do punktu który odpowiada pozycji: polozenie_osi_X - wartosc danej, zwiekszając zmienną kontrolną osi x;
  • #9 78820
    MARIO159
    Poziom 12  
    Posty: 61
    Pomógł: 1
    NIESTETY JESTEM NA USŁUGACH TEPSY I NIEMOGE TAK CZESTO SIE ŁOCZYC. POMYSŁ WYKOZYSTANIA JEDNEGO RAM JEST DOBRY. CZYTAŁEM OSTATNIO O OSCYLOSKOPACH TETRONIXA TAM ROBIĄ PODOBNIE. WYKORZYSTANIE KOMPU ODPADA UKŁAD W ZAMIEŻENIACH MA SPEŁNIAĆ ROLE PRZENOŚNEGO OSCYLOSKOPU. ZASTANAWIAM SIE TYLKO TERAZ NAD OBWODAMI WEJSCIOWYMI CZY ZASTOSOWAĆ PROCKA DO OBSŁUGI ICH CZY NIE. MYŚLALEM O GÓRNYM NAPIECIU GDZIEŚ DO 120V. I JESZCZE JEDNA KWESTJA MI SIE NASÓWA CZY ZASTOSOWAĆ ODDZIELENIE GALWANICZNE. JAK TAK TO JAK JE WYKONAĆ WCHODZI W RACHUBĘ ODDZIELENIE SYGNAŁU CYFROWEGO. Z ANOLOGOWYM CHYBA BEDZIE WIEKSZY KŁOPOT. NARAZIE WZIEŁEM SIE ZA PODŁOCZENIE KLAWIATURY I WYŚWIETLACZA NARAZIE TO POSIADAM. CO TO PRZETWORNIKA TO NARAZIE JESZCZE NIE SZUKAŁEM ODPOWIEDNIEGO.
    :arrow: Wyłącz Caps Lock ! :arrow:
    j.
  • #10 79232
    tmpat
    Poziom 15  
    Posty: 143
    Pomógł: 1
    Ocena: 3
    Niestety wyświealanie nie bedzie takie łatwe jak sie moze wydawać. Standardowe wyswietlacze graficzne (bez sterownika, bo chyba o takim mówimy ze względy na cene:)) np. wspomniany przeze mnie JM12864 ma podzielony ekran ma dwa bloki po 64*64 bity z organizacją po 8 bitów.

    POZDRAWIAM :multi:
    patryk
  • #11 80216
    MARIO159
    Poziom 12  
    Posty: 61
    Pomógł: 1
    Też z początku tak myślałem ale po przeczytaniu EP 12/2002 wcale nie jest takie trudne :) jeszcze nie zaczelem opracowywac opsługi wyświetlacza ale juz niedługo :) Narazie przeszkadza mi zbliżająca sie sesja :(
  • REKLAMA
  • #12 307659
    sLoTeRRR
    Poziom 13  
    Posty: 91
    Pomógł: 3
    Ocena: 1
    a co powiecie o ZM407? zrobiłem prace dyplomową na ten temat. Program w asemblerze na AT89S8252 ,program w Delphi. Piękny efekt i dosyć proste. Teraz myśle o jakimś LCD'ku i szybszym procku pewnie Jakiś mega-AVR'ek. :) pozdrowionka! to mój pierwszy post, może być? Sory jak kalecze sztuke pisania postów. Pozdrawiam. Oscyloskop to naprawdę fajowa zabawka, uwielbiam ją.
  • #13 307774
    morph13
    Poziom 25  
    Posty: 987
    Pomógł: 25
    Ocena: 32
    w roli wyświetlacza mozna zastosowć telewizor (jeden z projektów w RP) albi karte Hercules i monitor ono (kosztuje grosze, a ludziska często ten sprzęt wyrzucaja) najrostsza karta herka wymaga kilku linii adresowych, danych, około 4 sterujące i +5 i +12 zasilania. myślałem nad tym zagadnieniem ale z braku "czasownika" narazie odpuściłem.
    Pzd
  • #14 307848
    marchewa101
    Poziom 17  
    Posty: 301
    Pomógł: 2
    Ocena: 8
    No ja to bym zrobil tak:
    jakis prostrzy AVR z ADC (chyba ATtiny13 albo 15L wystarczy?? ~10zł)
    AVR'ek pobiera dane z wewnetrznego ADC i wysyla do wyswietlacza od nokii

    ze wzgledu na mala ilosc RAM'u to:
    1. Oscyloskop musial by pracowac przy bardzo malych czestotliwosciach
    2. Ekran bedzie sie powoli zapelnial... potem calkowicie mazal... i znowu powoli zapelnial... itd

    Zalety:
    zastosowanie LCD od nokii jest dosc tanim rozwiazaniem (=<40zł)
    Bez dodatkowego RAM'u (cena)
    Moge pomoc (asm) :)
    bardzo maly pobor pradu

    Wady:
    Mala czestotliwosc pracy

    No ale nie wiem jak podlaczyc to 120V :) :
    Jakis dzielnik czy cos
  • #15 308502
    SIEKIERA_666
    Poziom 22  
    Posty: 505
    Pomógł: 22
    Ocena: 79
    Witam wszystkich

    Oscyloskop cyfrowy - to brzmi nieźle. Ostatnio znalazłem cos takiego na Allegro : http://onet.allegro.pl/show_item.php?item=15374141
    Nie jestem sprzedawcą tego układu i nie reklamuję spraedającego :sm31: - jednak opis tam zamieszczony jest dość jasny. Kupiłem nawet ostatnio 1 kostkę (na giełdzie elektronicznej bo był tańszy :twisted: ) i mam zamiar siakos ten temat rozwinąć - dodać siakieś sterowanie przez mikrokontroler i może by tak dane z ramu przesyłać przez RS-232.

    :sm19:
  • #16 308535
    Marek81
    Poziom 19  
    Posty: 367
    Pomógł: 6
    Ocena: 8
    Do kompletu potrzebna jest jeszcze szybka pamięć FIFO, np. 7202, lub podobna. Bardzo ciężko coś takiego dostać. Ale jeśli ktoś skompletuje FIFO i ADC - TDA8703, to może sobie zrobić naprawdę fajny przyrządzik.
    Załączam schematy, które kiedyś upolowałem gdzieś w necie. :)

    Pozdrawiam.

    schematy z Elektrody->Dla komputera
    Acula
  • #17 312332
    SIEKIERA_666
    Poziom 22  
    Posty: 505
    Pomógł: 22
    Ocena: 79
    Witam

    Po co od razu drogie FIFO ?? 8O FIFO Umożliwia gromadzenie danych bez wzgledu czy w danej chwili zajmujemy sie wyświetlaniem danych czy wspomnianą akwizycją danych. Do celów amatorskich można wykonać przeciez oscyla który przez określony czas gromadził by dane a nastepnie wyświetlał je (po zapełnieniu całej pamięci), jak to ma miejsce w częstościomierzach (pomiar/wyświetlanie). Coś w rodzaju analizatora stanów logicznych który najpierw pobiera dane a nastepnie może je wyświetlić. W tym przypadku byłby to 1 analizowany kanał i 256 poziomów logicznych badanego sygnału. Dane te możnaby przesłac do kompa np RS232 lub LPT (łatwiej) i wyświetlic w okienku ( np w Delphi) jako ładny przebieg. Pamiątki 62256 nie są wcale takkie drogie , a przy wiekszej ilosci można znacznie podniesć częstotliwość próbkowania i oglądać dośc złożone przebiegi o znacznych częstotliwościach :twisted:
    A schematy bardzo się przydadzą - wiem przynajmniej jak to ugryźć od strony analogowej ( dzielniki, wzmaki) :)
    Pozostaje tylko zmodyfikowac część cyfrową...

    :sm19:
  • #19 329759
    Marek81
    Poziom 19  
    Posty: 367
    Pomógł: 6
    Ocena: 8
    No, no, bardzo sprytne...
    Tylko to pasmo 100kHz - dużo za małe! Przydało by się tak z 10MHz. :wink:

    Pozdrawiam.
  • REKLAMA
  • #20 333899
    sLoTeRRR
    Poziom 13  
    Posty: 91
    Pomógł: 3
    Ocena: 1
    Mam dużą ochotę zaprzegnąć ZM407 do pracy z GB
    wykorzystując karte I/O. Można pokombinować, fajna zabawa tylko ten czas. A ten wyświetlacz zGB jest gicior, jak ugryźć ten protokolik?
  • #21 377652
    damik
    Poziom 16  
    Posty: 248
    Pomógł: 5
    Ocena: 32
    tak apropos ZM407 , to fajny układzik i nadaje się idealnie do prostego oscyloskopu cyfrowego ....
    ALE ..... hmmm , gzie coś takiego kupić i ile to kosztuje ???....
    szukałem i nie znalazłem nigdzie ....
    może ktoś ma jakiś namiar na dystybutora , i to najlepiej takiego co sprzedaje wysyłkowo ...
  • #22 399036
    deo$eg
    Poziom 12  
    Posty: 91
    Pomógł: 1
    Ocena: 2
    Witam
    A moze jak juz wszysko pospinac z tym wyswietlaczam i mając w pamieci ileś tam próbek np ok 2k (jak sugerował przedmówca)
    to bysie mozna pokusic na zimplementowanie FFT na procku i to juz był by wypas nawet jesli by to niezbyt szerokie pasmo miało bo do Audio to by wystarczyło i niektórych zastsowan TV
    oczywiscie mówie tu o najmniej AVR i do tego bron Boze by to w czasie rzeczywistym nie chulało ale mona analizaowac te 2k próbek po procesie akwicycji do pamieci Co panowie na to?


    A dodam ze pomysł morpha 13 tez mi sie podoba bo sam juz na to wpadłem .
    pozdrawiam deo$eg
  • #23 399336
    transu
    Poziom 18  
    Posty: 344
    Pomógł: 1
    Ocena: 7
    kiedys w praktycznym elektroniku był opisany oscyloskop cyfrowy. Uzyto jako pamieci starych kosci z 486. Mozna było osiagnac nawet 40 MHz. A koszt całości nie byłwcale taki duży (nawet była możliwość podłączenia wyswietlacza LCD)
  • #24 399501
    damik
    Poziom 16  
    Posty: 248
    Pomógł: 5
    Ocena: 32
    transu napisał:
    kiedys w praktycznym elektroniku był opisany oscyloskop cyfrowy. Uzyto jako pamieci starych kosci z 486. Mozna było osiagnac nawet 40 MHz. A koszt całości nie byłwcale taki duży (nawet była możliwość podłączenia wyswietlacza LCD)


    masz może jakiegoś skana lub przynajmniej dokładny miesiąc/rok wydania ?
  • #25 399774
    transu
    Poziom 18  
    Posty: 344
    Pomógł: 1
    Ocena: 7
    jak nie zapomne to poszukam w jutro
  • #26 400529
    transu
    Poziom 18  
    Posty: 344
    Pomógł: 1
    Ocena: 7
    rocznik 99 od numeru 2 do 12
    kto chce to prosze na prywatna wiadomosc
    Plik zajmuje 2,7 MB
  • #27 400560
    Nemo
    Poziom 31  
    Posty: 2078
    Pomógł: 9
    Ocena: 72
    Ja zaproponuję kompendium wiedzy o budowie amatorskich oscyloskopów cyfrowych: EP 9/2003 i EP10/2003 - kontynuacja w EP11/2003. Są tam dwa niezależne projekty. Jeden prostszy (9/2003) a drugi trudniejszy i znaaacznie droższy. W sumie dosyć ciekawe.
    Pozdrawiam.
  • #29 401096
    Marek81
    Poziom 19  
    Posty: 367
    Pomógł: 6
    Ocena: 8
    psw:
    Pokręć kółkiem myszki do góry i zobacz mój pierwszy post do tego tematu. Chociaż oczywiście lepiej mieć spojrzenie na całość.

    transu:
    Serdeczne dzięki, pocztę odebrałem.

    Pozdrawiam.
  • #30 401598
    damik
    Poziom 16  
    Posty: 248
    Pomógł: 5
    Ocena: 32
    zrobiłem ostatnio taki pseudo ;) oscyloskop na AVR 90S8535 podpiętym do wyświetlacza graficznego 128x64 piksele ,stosując wdudowane przetwotniki procka , program polegał na zczytaniu do tablicy danych z przetwornika i wyświetleniu ich potem .... przyznam się że mizerny efekt ... 50 Hz jeszcze było widać jako cały okres ale dalej to był śmiech na sali .... dla zainteresowanych mogę wysłać program w bascom'ie na maila ...
    Opracowałem też mały projekt oscyla z przetwornikami typu pipeline coś jak flash tylko dynamiczne - ads830 (firmy Texas Instruments - 60MHz sampling) i pamięciami fifo 9x2048bit pod wyświetlacz 320x240 pikseli (na SED 1335) ... ale narazie jest to w fazie składania i uruchamiania .... cały czas modyfikuję układ - jeszcze nie skończony .... jeśli kiedyś skończę to się pochwalę...

    Pozdrawiam

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy budowy przenośnego oscyloskopu cyfrowego opartego na mikrokontrolerze 89C2051 z wyświetlaczem graficznym. Poruszono kwestie doboru procesora, przetwornika A/C oraz pamięci RAM dla zwiększenia częstotliwości próbkowania. Sugerowano zastosowanie mikrokontrolerów AVR z wbudowanym ADC, np. ATtiny13, ATtiny15L, AT89S8252, ATmega128, ze względu na lepszą wydajność i dostępność. Wskazano na wyzwania związane z prędkością przetwarzania danych i aktualizacją wyświetlacza, proponując wyświetlacze graficzne typu JM12864 lub LCD o rozdzielczości 128x64, 320x240 pikseli, a także wykorzystanie pamięci RAM i FIFO do buforowania próbek. Omówiono metody przełączania pamięci (double buffering) dla ciągłej akwizycji i wyświetlania danych. Poruszono temat galwanicznego oddzielenia sygnału wejściowego, zabezpieczeń przed wysokim napięciem (do 120V) oraz analogowego toru wejściowego. Wskazano na ograniczenia mikrokontrolerów w zakresie rozdzielczości ADC (10 bitów) i częstotliwości próbkowania, co wpływa na jakość pomiarów. Zaproponowano także wykorzystanie układów specjalizowanych, DSP lub FPGA dla zwiększenia wydajności i pasma pomiarowego. Wspomniano o projektach oscyloskopów opartych na układach ZM407, TDA8703, ADS830 (TI), a także o wykorzystaniu wyświetlaczy z konsoli GameBoy i telewizorów jako alternatywne rozwiązania. Dyskutowano o implementacji algorytmów wyświetlania przebiegów oraz możliwości analizy FFT na mikrokontrolerze. Podkreślono, że budowa oscyloskopu o wysokich parametrach jest skomplikowana i kosztowna, a gotowe rozwiązania komercyjne mogą być bardziej opłacalne. Wskazano na literaturę i projekty z czasopism Elektronika Praktyczna oraz dostępne schematy i oprogramowanie open source jako cenne źródła wiedzy.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA