0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeMoj preprost logični analizator (2)

    Moj preprost logični analizator (2)

    Na pobudo kolega iz Sveta elektronike sem se odločil posodobiti svoj enostavni logični analizator, ki je bil objavljen v reviji Svet elektronike št. 220. Spomnimo se: mikrokontroler bere digitalne nivoje na 8-bit vodilu neke naprave in jih shranjuje v tabeli, ki se nahaja v SRAM-u. Rutina za zajemanje podatkov je napisana v asemblerju, s čemer je zagotovljena hitrost zajemanja, ki znaša 2 vzorca v eni mikrosekundi (pri 12 MHz oscilatorju). Število vzorcev je omejeno s kapaciteto SRAM-a: moj testni ATMega8515 s svojimi 512 B SRAM-a lahko shrani 400 vzorcev medtem, ko bi jih zmogljivejši mikrokontrolerji lahko shranili več.

    Slike niPrototip logičnega analizatorja je za prikaz zajetih podatkov uporabljal zaslon osebnega računalnika. Zato je najprej bilo potrebno prenesti zajete podatke v Excel tabelo, jih nato ustrezno obdelati in vizualizirati – o vsem tem lahko preberete v omenjenem članku. Odkar so se v Virtualni trgovini revije Svet elektronike pojavili OLED displeji, se nam nudi odlična možnost: logični analizator lahko zdaj zajete podatke prikaže na svojem zaslonu brez prenosa podatkov na osebni računalnik. V tem članku bom prikazali kako.

    Uporabljeni OLED je velikosti 128×64 (njegovih 8192 pikslov je razporejenih v 64 vrstic in 128 stolpcev). S sliko upravlja kontroler, ki se nahaja na displeju. S kontrolerjem komuniciramo preko I2C protokola. Kontroler vsebuje 1 kB SRAM spomina, njegovo vsebino pa prikazujemo v obliki rasterizirane slike. Zato moramo sliko, ki jo želimo prikazati na displeju, prenesti v OLEDov SRAM in pri tem izbrati želeni način dela displeja. Po tem je prikaz slike v domeni OLED-a do trenutka, ko spremenimo vsebino ali način prikaza slike.

    Slike niNačin na katerega sem povezal OLED z logičnim analizatorjem (to je z mikrokontrolerjem ATMega8515) je prikazan na sliki 12. Glede na originalno shemo na sliki 1 ni velike razlike razen tega, da je AN LCD zamenjan z OLED-om, dodana pa je še ena tipka za bolj eleganten prikaz. Tipki TP1 in TP2 sta zdaj spojeni na PD0 in PD1 (kot na MiniPin-u, ki sem ga uporabljal med razvojem).

    Če želimo na malem OLED displeju jasno prikazati pridobljene podatke iz logičnega analizatorja, se moramo najprej domisliti nekega dobrega načina. Naš analizator je 8-kanalni, za prikaz imamo največ 6 pikslov po kanalu (preostala dva moramo pustiti za razmak). Po nekaj poizkusih sem se odločil za prikaz, ki ga vidite na sliki 13.

    Na zgornjem delu slike je prikazan gornji levi del displeja – prvih 16 vrstic oziroma prvi dve strani. Za prikaz logične „0“ sem izbral tanko črto „spodaj“ medtem ko sem za prikaz logične „1“ izbral debelejšo črto „zgoraj“. S takšno izbiro sem se izognil dodatnemu označevanju logičnih nivojev in prehoda iz enega v drugo logično stanje, za kar na displeju enostavno ni prostora. Na sliki 13 spodaj sem odstranil raster, zaradi česar je prikaz še bolj čitljiv. No, pravi občutek boste dobili, ko pogledate fotografijo na sliki 14: prikaz vseh 8 kanalov je popolnoma jasen in ni dileme, kateri signal je v nekem trenutku v določenem logičnem stanju kajne?

    Program 2

    Celotni članek

    Moj preprost logični analizator (2)

    2015_SE230_46