32-bit 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.
V preteklem nadaljevanju smo na osnovi mikrokontrolerja PIC32MX270F256B izdelali programator ICSP, ki omogoča, da mikrokontrolerske čipe PIC sprogramiramo, ne da bi jih morali odstraniti iz tiskanega vezja. Več na spletni strani: https://sites.google.com/site/pcusbprojects/home/j-icsp-programmer-for-pic32-microcontroller-family
Tokrat bomo predstavili delovanje vmesnika SPI/ I2S, s pomočjo katerega PIC32 zaporedno komunicira s številnim zunanjimi enotami, kot so: D/A pretvorniki, radijski oddajniki-sprejemniki (npr. HopeRF RFM69CW), kartice SD itn. Videli bomo, da lahko PIC32 s pomočjo vgrajenih 32-bitnega mikroprocesorja in specializiranih funkcijskih enot doseže veliko hitrost in zanesljivost prenosa podatkov.
PIC32 je odlično prilagojen tudi za obdelavo in predvajanje digitalne glasbe. Ločene funkcijske enote za podporo več vmesnikom SPI/ I2S in I2C omogočajo PIC32 hkratno delovanje večjega števila tovrstnih komunikacijskih povezav. Manj naprav na posameznem vodilu omogoča hitrejši prenos podatkov in večjo paralelnost, saj napravam ni potrebno čakati na sprostitev vodil.
Za »srce« vremenske postaje, o kateri ste lahko brali v Svetu elektronike od lanskega junija do decembra, bi bil PIC32MX270F256B kot naročen, saj bi s svojimi izravnalniki omogočal hitrejšo komunikacijo preko vodil I2C in SPI, kar bi omogočilo boljšo in hitrejšo grafiko, potencialno pa bi tudi uporabnik lahko dobil več informacij. A idej je preveč za en članek in prav je, da najprej spoznamo način delovanja omenjenih vodil pri PIC32. Prenovo vremenske postaje bomo prihranili za enega od septembrskih Svetov elektronike.
V drugem delu članka se bomo raje lotili problemov snemanja in predvajanja zvoka s PIC32, s katerimi se doslej še nismo srečali. V veliko pomoč nam bosta PIC32MZ EC Starter Kit in dvokanalni, 12-bitni digitalno-analogni (D/A) pretvornik, MCP4822 pa tudi v PIC32MZ2048ECH144 vgrajeni 12-bitni analogno-digitalni (A/D) pretvornik. Najprej bomo izdelali predvajalnik glasbe, nato pa bomo s pomočjo A/D pretvornika vzorčili, obdelali in nato predvajali glasbo iz radia. Na ta način je mogoče v strojni opremi implementirati različne zvočne učinke.
Zgradba in delovanje
Vmesnik SPI/I2S
SPI (angl. serial peripheral interface) in I2S sta zunanji zaporedni vodili, ki omogočata hkratni dvosmerni prenos podatkov. Če je na vodilo priključenih več naprav, ki izbiramo preko posebnih naslovnih linij, CS (angl. chip select), saj naslov naprave ni del podatkovnih besed, ki jih prenašamo preko SPI in I2S.
Programiranje PIC32 (7)
2015_SE232_41