0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeProgramiranje PIC32 (9)

    Programiranje PIC32 (9)

    32-bitni mikrokontrolerji prinašajo v svetova elektrotehnike in računalništva povsem nove dimenzije. Hitrost, odzivnost, sorazmerno veliko pomnilnika in strojno podprto digitalno procesiranje signalov omogočajo, da vse več analognih komponent nadomestimo s programsko logiko. Hkrati lahko izdelamo kakovostnejše rešitve.

    Slike niV preteklem nadaljevanju smo v teoretičnem delu spoznali strojno in programsko podpro za vodilo I2C, v praktičnem delu članka bomo pokazali, kako se PIC32 poveže s temperaturnim tipalom ADT7410. Dokončali bomo tudi programsko opremo za predvajalnik glasbenih datotek na osnovi dveh vodil SPI, ki smo ga predstavili v preteklem nadaljevanju.

    Tokrat bomo v teoretičnem delu spoznali enoto UART, ki podpira hitre povezave po protokolu RS232 in podobnih protokolih. Prikazali bomo tudi primer uporabe UART. Nadaljujemo tudi s praktičnimi primeri uporabe vodila I2C. Lotili se bomo tudi predelave bazne enote vremenske postaje.

    PIC32 se splača, kaj pa konkurenca?

    V zadnjem času se med mikrokontrolerji različnih proizvajalcev pojavljajo tudi 32-bitni izdelki vprašljive uporabne vrednosti. Osnovni namen 32-bitnosti je enostaven dostop do velikih pomnilnikov, saj je pri 8-bitnem mikrokontrolerju potrebna posebna strojna logika za dostop do pomnilnika, večjega do 256 bajtov, medtem ko je taka logika pri 16-bitnem mikrokontrolerju potrebna pri dostopu do pomnilnika z več kot 65535 bajti, oziroma več kot 64 kB. 32-bitni mikrokontrolerji bi naleteli na podobne težave šele pri 4 GB, kar pa za enkrat ne predstavlja omejitve, saj njihovi pomnilniki dosežejo največ nekaj 10 MB.

    Slike niDruga pomembna lastnost 32-bitnosti je zmožnost računanja z velikimi števili, brez potrebe po zapletenih strojnih programih, ki se izvajajo relativno počasi. To pride prav pri dostopu do večjih podatkovnih pogonov in digitalnem procesiranju signalov (DSP, angl. digital signal processing). A pri ekstremno majhnem glavnem pomnilniku z le nekaj kB statičnega RAM-a (SRAM) velikokrat ne bo dovolj prostora za vmesno pomnjenje podatkov in odlaganje rezultatov, ali da bi izdelali podatkovni pogon. Zato bomo morda prisiljeni v številne poenostavitve in prednosti 32-bitnega procesiranja bodo zbledele.

    32-bitnosti morda ne bomo mogli v polnosti izkoristiti tudi, če mikrokontroler nima ustreznih funkcionalnih enot. Denimo, če so vhodno-izhodna vrata 8-bitna in izvajamo preproste operacije, bomo z uporabo 32-bitnih strojnih ukazov pogosto zgolj podaljšali čas izvajanja, saj bo pri vsakem ukazu, kjer bomo podatek podali kot spremenljivko, zgornjih 24-bitov morda neizkoriščenih.

    Da je lahko 32-bitnost včasih nepotrebna, vedo tudi pri Microchipu, zato omogoča vsak PIC32 tudi 16-bitni način delovanja, v katerem porabi v Flash RAMu manj prostora za programsko opremo, kar je še posebej uporabno pri mikrokontrolerjih z manjšimi pomnilniki, ki ne izvajajo digitalnega procesiranja signalov ali drugega zahtevnega računanja.

    Kaj pa združljivost z mikavnimi že uveljavljenimi 32-bitnimi arhitekturami? Res ima večina mobilnih telefonov 32-bitne mikroprocesorje, vendar imajo tudi sorazmerno veliko RAMa in Flash RAMa. Uporabljati slabo zasnovan mikrokontroler s podobno 32-bitno arhitekturo samo zato, bomo lahko napisali kak kratek 32-bitni programček v C++ ali zbirniku, za kompleksne programske knjižnice za hitro obdelavo podatkov in funkcionalne enote za prenos podatkov pa bo zmanjkalo prostora, morda ni smiselno, saj ni izključeno, da bo celo 8-bitni PIC18 deloval hitreje.

    Celotni članek

    Programiranje PIC32 (9)

    2015_SE234_46