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.

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.

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.
Programiranje PIC32 (9)
2015_SE234_46

