0,00 €

V košarici ni izdelkov.

0,00 €

V košarici ni izdelkov.

More
    DomovRevijaProgramiranjeProgramiranje PIC32 (5)

    Programiranje PIC32 (5)

    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 se lotili prekinitvenega krmilnika, enot za vhodno zajemanje (angl. ICx, input capture units) ter A/D pretvornika, ki zmore veliko več kot od njega zahteva povprečen domači programer in za marsikaterega strokovnjaka s področja strojne opreme deluje impresivno.

    Tokrat se bomo lotili zelo pomembnega poglavja, programiranja PIC32. Ne gre toliko za to, da bi si želeli izdelati lasten programator, bistveno je, da znamo mikrokontroler sprogramirati tako, da si lahko določene podatke zapomni v svoj Flash RAM med delovanjem. Pri tem uporabljamo enake postopke kot pri programiranju s programatorjem. Razlika je predvsem v tem, da mora programator preko enega vmesnikov JTAG ali ICSP želene podatke najprej prenesti v RAM mikrokontrolerja in šele nato jih lahko sprogramira v Flash. Spoznali bomo tudi, se kako lahko PIC32 s PC poveže kot zunanji podatkovni pogon (npr. SSD)…

    Ko zanimivost omenimo, da smo med iskanjem zadnje različice dokumenta PIC32 Flash Programming Specification (Microchipova specifikacija za programiranje Flash-a v PIC32), DS60001145, po naključju odkrili tudi omembo dveh novih družin mikrokontrolerjev PIC32: PIC32MK in PIC32MM, o katerih je še bolj malo znanega. Iz Microchipove spletne strani sicer lahko prenesemo aktualni dokument, DS60001145N, za zadnjo različico z omembami novih mikrokontrolerskih družin, DS60001145P, pa moramo vprašati Googla. Mi smo jo našli, ko smo v Google vnesli geslo »DS60001145P« in prišli do dokumenta na spletnem naslovu: http://ww1.microchip.com/downloads/cn/DeviceDoc/cn532867.pdf. Sicer ni težko ugotoviti, da ima vsaka nova različica določene Microchipove specifikacije naslednjo črko po abecedi v primerjavi s staro. V primeru specifikacije DS60001145N bi bila naslednja črka sicer O, vendar smo pravilno sklepali, da so O pri Microchipu preskočili, ker bi lahko prišlo do zmotnih zamenjav s cifro 0.

    Slike niMed brskanjem po Microchipovem forumu lahko najdemo še načrt razvoja novih mikrokontrolerjev (http://www.microchip.com/forums/m828872.aspx), ki omenja poddružine PIC32MK: GP (splošna uporaba), DA (poceni grafični procesor) in MC (krmilnik motorjev), poleg teh pa še novo poddužino PIC32MZ: DA (zmogljiv grafični procesor z nizko porabo energije). Zanimivo je tudi, da naj bi zadnji prevajalnik za C in C++, XC32 v1.34, že vseboval tudi podporo za omenjene mikrokontrolerske družine.

    Zgradba in delovanje

    Osnovni principi

    Mikrokontrolerji PIC32 imajo vgrajeno posebno funkcijsko enoto za upravljanje Flasha, poleg te pa še poseben modul EJTAG v jedru centralnega procesorske enote (CPE), ki omogoča popolno zunanje upravljanje izvajalne enote CPE, s tem pa tudi razhroščevanje. Modul komunicira preko vrat TAP (test access port, slov. vrata za testni dostop), ki omogoča strojno prenos podatkov po protokolih JTAG (standard IEEE 1149.1) in ICSP ter neposredno upravljanje CPE. TAP uporabljamo za vse načine programiranja mikrokontrolerja in razhroščevanje.

    Čeprav se morda zdi neverjetno, da moramo za programiranje mikrokotrolerjev PIC32 uporabljati funkcionalnost, ki je bila v prvi vrsti verjetno razvita za razhroščevanje, saj od zunaj nimamo neposrednega dostopa do Flasha, se moramo na to pač navaditi. V praksi programiranje celotnega 2 MB Flash RAM PIC32MZ2048ECH100 s PICkit3, preko ICSP vzame le nekaj minut.

    Celotni članek

    Programiranje PIC32 (5)

    2015_SE230_38