Tradicionalno se v mikrokontrolerskih sistemih uporabljajo preproste periferne naprave za razširitev funkcionalnosti gostiteljskega mikrokontrolerja, če je potrebna dodatna funkcija, ki ni implementirana v napravi.
Renesas Electronics
Avtor: Graeme Clark
Ta periferna vodila so bila običajno povezana z zaporednim vodilom na tiskanem vezju z gostiteljskim mikrokontrolerjem. Zaporedna vodila so idealna rešitev za razširitev, saj običajno zasedejo manj prostora na tiskanem vezju kot izvedba s popolnim vzporednim vodilom. Uporabljajo tudi manj vhodno-izhodnih priključkov na mikrokontrolerju, hkrati pa še vedno ponujajo dovolj visoke hitrosti prenosa podatkov za večino aplikacij in porabijo manj energije kot vzporedna vodila.
Te zaporedne naprave so običajno fizično majhne, uporabljajo kompaktna 8- ali 16-pin ohišja in so pogosto zelo poceni. Na voljo je veliko različnih funkcij, od preprostih pomnilniških naprav, kot so serijske EEPROM in SRAM, do kompleksnih naprav, kot so napredni analogno-digitalni pretvorniki.
S pojavom kompleksnejših naprav, zlasti mobilnih naprav, kot so mobilni telefoni in nosljive naprave, so ta zaporedna vodila zaživela na novo, saj omogočajo povezavo najrazličnejših kompleksnih senzorjev z gostiteljskim procesorjem, hkrati pa zmanjšujejo prostor na tiskanem vezju.
Zaporedno vodilo, ki se pogosto uporablja za razširitev perifernih naprav v številnih sistemih, je zaporedni periferni vmesnik (SPI), ki ga je v osemdesetih letih prejšnjega stoletja prvič razvila Motorola. To je postal skoraj dejanski standard za mnoge uporabnike. Sprva je bil priljubljen predvsem pri tistih, ki so želeli v svoj sistem dodati majhne ştalne pomnilnike, sčasoma pa se je število naprav, ki podpirajo SPI, povečalo tako, da ponujajo veliko število različnih funkcij.
SPI vodilo je štirižično vodilo, ki ga lahako obravnavamo kot krožni predpomnilnik, saj se podatki iz nadrejenega in podrejenega vodila premaknejo hkrati in so sinhronizirani s signalom ure, posamezne naprave pa so izbrane z dodatnim priključkom. Slika 1 prikazuje tipičen SPI sistem. SPI vodilo ima običajno eno nadrejeno napravo, ki upravlja vse prenose vodila. Možnih je tudi več nadrejenih naprav na vodilu, vendar se s tem bistveno poveča zapletenost sistema.
Vodilo vključuje vsaj 4 signale:
CLK: zaporedna ura, ki jo odda nadrejena naprava
MOSI: Master Out Slave In, kjer se podatki oddajajo iz nadrejene naprave
MISO: Master In Slave Out, kjer se podatki oddajajo iz podrejene naprave
CS/SS: Chip ali Slave Select (izbira čipa ali podrejene naprave), ki je izhod iz glavnega strežnika in se uporablja za izbiro določene podrejene naprave ter označuje, da se pošiljajo podatki.
Čeprav lahko SPI za vodilo uporablja veliko priključkov, lahko deluje pri visokih hitrostih, saj nekatere naprave podpirajo hitrosti prenosa do 60 MHz ali več. V zadnjem času se je specifikacija še povečala glede števila podatkovnih linij, saj je vodilo Quad SPI (QSPI) postalo običajna periferna naprava. Ponuja napredne funkcije, kot je izvajanje na mestu (Execute in Place – XiP), ki aplikacijam omogoča izvajanje neposredno iz zaporednega pomnilnika in pridobivanje podatkov pri izjemno visokih hitrostih.
SPI ima več prednosti, vključno s podporo za popolnoma dvostransko komunikacijo, visoko hitrost in preprost komunikacijski mehanizem, ki zahteva preprost in enostaven programski gonilnik. V blokovnem diagramu tipične SPI aplikacije na sliki 1 je jasno razvidno, da se za podporo zaporednemu prenosu podatkov uporablja veliko I/O priključkov, zlasti kadar se uporablja več perifernih naprav.
SPI se je z leti razvil tudi v več različnih » odtenkih«, kar lahko oteži izbiro posebnih perifernih naprav, saj se razlikujeta rob in polariteta ure.
Drugo priljubljeno zaporedno vodilo je Inter Integrated Circuit vodilo ali I2C, ki ga je v 80. letih prejšnjega stoletja razvil Philips. I2C vodilo za prenos ure in podatkov uporablja dva dvosmerna signala z odprtim ponorom (kolektorjem), serijsko podatkovno linijo (SDA) in serijsko uro (SCL). Vsaka signalna linija je priključena na pull-up upor.
I2C podpira protokol, v katerem so v sporočilu zakodirani 7-bitni naslov podrejene naprave in dodatne informacije o registru. Zaradi konfiguracije vodila z odprtimi ponori je mogoče zlahka podpirati delovanje več nadrejenih naprav. I2C protokol je bil v preteklih letih večkrat spremenjen. Prve različice so podpirale le hitrosti prenosa podatkov do 100 kb/s, novejše različice pa podpirajo višje hitrosti prenosa podatkov – do 3,4 Mb/s v hitrem načinu ter dodatne funkcije, kot je 10-bitno naslavljanje. Slika 2 prikazuje tipično konfiguracijo I2C vodila.
I2C vodilo je bilo od svoje prve izdaje večkrat spremenjeno. Zdaj lahko podpira hitrosti prenosa podatkov do 5 Mb/s. Uporaba kompleksnejšega protokola uporabnikom omogoča, da ustvarijo bolj zapletene sisteme z več vodniki vodila, pri čemer uporabljajo le dva priključka, vendar so programski gonilniki za I2C naprave običajno bolj zapleteni.
Še ena velika pomanjkljivost SPI in I2C vodil je v tem, da nobeno od njiju nima možnosti implementacije prekinitev v svojih strukturah vodila, zato morate, če vaše serijske periferne naprave potrebujejo prekinitve, te priključiti na dodatne priključke na mikrokontrolerju, pri čemer lahko na slikah 1 in 2 vidite uporabo zunanjega priključka.
Ker sistemi postajajo vse bolj zapleteni in moramo vzpostaviti vmesnik z veliko več serijskimi napravami z več podatki in višjimi podatkovnimi hitrostmi, so se sistemi, ki uporabljajo tradicionalne izvedbe SPI in I2C, začeli spopadati s težavami. Zahtevo po iskanju nove rešitve so narekovale zahteve mobilnih aplikacij z nizko porabo energije, hkrati pa je bilo treba ohraniti osnovno združljivost z obstoječimi vodili.
I3C vmesnik (uradno »MIPI Alliance Improved Inter Integrated Circuit«) je prvotno razvila zveza MIPI za podporo povezovanju senzorjev v mobilnih aplikacijah. Zveza MIPI je globalna zveza elektronskih podjetij, ki razvijajo tehnične specifikacije za mobilne aplikacije. Podjetje Renesas Electronics je njen član.
Prvotna zamisel I3C vmesnika je bila standardizirati komunikacijo med senzorji in gostiteljskim procesorjem, zmanjšati število fizičnih priključkov in medsebojnih povezav ter podpirati komunikacijo z nizko porabo energije in visoko hitrostjo. I3C je bil zasnovan za zamenjavo I2C in SPI vodil, ki se danes običajno uporabljajo v teh aplikacijah, in za izboljšanje specifikacij. Čeprav so bile prvotni cilj mobilne naprave, je kmalu postalo jasno, da so enake zahteve primerne za številne druge aplikacije, ki vključujejo preprosta zaporedna vodila, ki zagotavljajo lokalno povezavo med napravami.
I3C vmesnik rešuje nekatere težave, ki jih imamo z obstoječima I2C in SPI vodili. Prednosti, ki jih ponuja vmesnik I3C, so:
Podpora za višje hitrosti prenosa podatkov
“In-band” prekinitve odpravljajo potrebo po dodatnih priključkih za podporo izbire čipov (SPI) ali prekinitev.
Podpora dinamičnemu naslovu
Podpora za vklop/izklop med delovanjem (angl. Hot plug)
Podpora za “In-band” ukaze
Podpora za številne starejše I2C naprave
Nizka poraba energije
I3C vmesnik lahko deluje v različnih načinih z različnimi hitrostmi prenosa podatkov.
Standardna hitrost prenosa podatkov (SDR): podpira do 12,5 Mb/s
Visoka hitrost prenosa podatkov – Double Data Rate (HDR-DDR): podpira do 25 Mb/s
Visoka hitrost prenosa podatkov – Tertiary Symbol Pure (HDR-TSP): podpira do 33,3 Mb/s
Visoka hitrost prenosa podatkov -Tertiary Symbol Legacy (HDR-TSL): podpira do 33,3 Mb/s
Vsak od teh načinov ima v primerjavi z I2C vodilom pomembne prednosti pri delovanju. Vendar pa bo dejanska hitrost prenosa podatkov, dosežena v resnični aplikaciji, nižja zaradi dodatnih funkcij v protokolu. HDR načini uporabljajo SDR, HDR-TSL načini pa podpirajo periferne I3C naprave in starejše I2C naprave na istem vodilu. Opozoriti je treba, da načini visoke hitrosti prenosa podatkov niso na voljo v osnovni I3C specifikaciji. Komunikacija se začne v SDR načinu, za dostop do naprav, ki lahko delujejo v tem načinu, pa je mogoče izdati ukaz vodila za preklop v HDR način. Zmožnost pošiljanja ukazov, kot dela paketne strukture I3C, odpira tudi veliko več možnosti za krmiljenje senzorskih naprav. I3C specifikacija opredeljuje običajne kode ukazov in možnost ustvarjanja lastnih, uporabniško opredeljenih kod ukazov.
I3C vodilo omogoča povratno združljivost z I2C vodilom, kar omogoča podporo starejšim napravam in aplikacijam, vendar obstajajo nekatere omejitve, ki jih je treba upoštevati. Te vključujejo prehod z odprtega ponora (I2C) na push-pull (I3C) za uro in podatkovne linije ter pomanjkanje podpore za raztegovanje ure, ki se včasih uporablja, da se nekaterim I2C napravam omogoči čas za odziv na zahtevo po podatkih.
Funkcija prekinitve v pasu, ki jo podpira I3C, je še posebej pomembna, saj jo je mogoče uporabiti kot poceni funkcijo prebujanja, hkrati pa omogoča napravam, da preidejo v način mirovanja z nizko porabo energije, pri čemer še vedno podpirajo pravilno delovanje na vodilu. Uporabnikom ni treba uporabljati dodatnih priključkov, povezanih s prekinitvami na drugih vodilih.
I3C lahko prihrani tudi precej energije naprave zaradi višjih hitrosti prenosa podatkov (ker se lahko naprava prej preklopi v stanje mirovanja), vgrajene konfiguracije in nadzora (brez poseganja v glavne komunikacijske protokole), prekinitve v pasu (IBI) kot poceni mehanizma za prebujanje in zmožnosti ciljnih naprav, da izklopijo vse notranje ure in še vedno pravilno delujejo prek I3C vmesnika.
I3C lahko v primerjavi z I2C vodilom prihrani tudi energijo, saj je poraba energije za prenos bitov učinkovitejša od porabe z I2C vodilom. To je posledica uporabe push-pull in močne pull-up konfiguracije (v primerjavi z odprtom ponorom).
Podjetje Renesas je razvilo dve novi družini mikrokontrolerjev, ki temeljita na ARM jedru Cortex M33, 100 MHz RA4E2 in 200 MHz RA6E2. Ti napravi sta bili zasnovani kot idealna rešitev za izdelke, ki morajo zbirati podatke z velikega števila senzorjev. Vsaka naprava vključuje I3C vmesnik ter več I2C in SPI vmesnikov, ki so združeni v ohišja, majhna kot 32-pin QFN ali 4 x 4 mm BGA. Te naprave ponujajo pomembne ravni zmogljivosti in omogočajo uporabo zapletenih programskih algoritmov za upravljanje podatkov iz večjega števila senzorjev in obdelavo senzorskih podatkov v napravi, kar zmanjšuje potrebo po podrobni izmenjavi podatkov z gostiteljskim procesorjem. Kombinacija teh naprav z več serijskimi senzorji, povezanimi z I3C vodilom, omogoča ustvarjanje kompaktnih senzorskih sistemov z nizko porabo energije. Slika 4 prikazuje blok diagram 200 MHz naprave RA6E2.
Celotna specifikacija MIPI I3C je na voljo samo članom zavezništva MIPI. Vendar pa osnovna specifikacija MIPI I3C združuje najpogostejše funkcije I3C in je na voljo za uporabo brez članstva v MIPI, kar uporabnikom omogoča uporabo I3C vmesnika v njihovih povezovalnih aplikacijah.
I3C vmesnik predstavlja celovito nadgradnjo I2C in SPI vodil, ki se danes v številnih aplikacijah običajno uporabljata za povezovanje senzorjev in gostiteljskih procesorjev, kar omogoča lažji prenos podatkov med temi napravami in manjšo porabo energije v sistemu.
Pri naslednji generaciji pametnih senzorjev, od katerih bodo številni imeli zahteve po lokalni obdelavi, da bi čim bolj zmanjšali obremenitev procesorja gostitelja, bodo naprave, kot sta RA4E2 in RA6E2, predstavljale idealno rešitev. Ti napravi omogočata podporo majhnim možnostim ohišij, kot je 4 x 4 mm BGA, hkrati pa podpirata I3C vmesnik z izjemno zmogljivim jedrom, zaradi česar sta zelo privlačni za te nove senzorske aplikacije.
V tem članku je predstavljen le vmesnik I3C na visoki ravni. Zainteresirani uporabniki lahko več informacij o vmesniku MIPI Alliance I3C in celotno specifikacijo prenesejo s spletnega mesta MIPI na naslovu [1]. Več informacij o novih izdelkih RA4E2 in RA6E2 je na voljo na spletni strani podjetja Renesas: www.renesas.com/ra.
Spoštujemo vašo zasebnost in se zavezujemo, da bomo osebne podatke, pridobljene prek spletnega informacijskega sistema, skrbno varovali in jih brez vaše privolitve ne bomo posredoval tretji osebi oziroma jih uporabili v druge namene. Ker obstajajo v spletnem informacijskem sistemu določene povezave na druge, zunanje spletne strani, ki niso vezane na nas, ne prevzemamo nobene odgovornosti za zaščito podatkov na teh spletnih straneh.
Hkrati se zavezujemo, da bomo po svojih najboljših možnih močeh varovali podatke in zasebnost obiskovalcev spletne strani .
Da bi preprečili nepooblaščen dostop do pridobljenih podatkov ali njihovo razkritje, ohranili natančnost osebnih podatkov in zagotovili njihovo ustrezno uporabo, uporabljamo ustrezne tehnične in organizacijske postopke za zavarovanje podatkov, ki jih zbiramo.
Piškotki, ki so nujno potrebni za delovanje spletne strani
Nujno potrebne piškotke bomo na vašo napravo vedno nameščali, saj brez njih naša spletna stran ne deluje pravilno. Med nujno potrebne piškotke uvrščamo piškotke, ki vam omogočajo dostop do spletne strani, delovanje posameznih funkcionalnosti spletne strani in hkrati ne zbirajo analitičnih ali drugih podatkov o vašem obisku.
Ime piškotka
Trajanje
Opis
PHPSESSID
dokler ne zaprete brskalnika
Piškotek omogoča shranjevanje sej med posameznimi zahtevami znotraj sistema za upravljanje z vsebinami.
moove_gdpr_popup
1 leto
Shrani uporabnikove preference politike piškotkov
Če onemogočite ta piškotek, ne bomo mogli shraniti vaših nastavitev. To pomeni, da boste morali vsakič, ko obiščete to spletno mesto, ponovno omogočiti ali onemogočiti piškotke.
Piškotki tretjih oseb
Med piškotke tretjih oseb spadajo analitični in funkcijski piškotki, ki jih na vašo napravo nameščajo druga podjetja, kot so Facebook Inc. in Google Inc.. Ti piškotki vam omogočajo uporabo vtičnikov in funkcij na naši strani, ki so povezane z njihovimi družbenimi omrežji in drugimi platformami ter za sledenje vaši uporabi njihovih storitev.
Ime piškotka
Trajanje
Opis
_ga
2 leti
Google Analytics Zabeleži razlikovanje med uporabniki in sejami.
_gid
1 leto
Google Analytics Zabeleži novo sejo ali novega uporabnika.
_gat
10 min
Google Analytics piškotek se uporablja za omejevanje pogostosti zadetkov..
IDE
2 leti
Oglaševalski piškotek podjetja Google Inc. Ki nam omogoča prikazovanje oglasov.
Najprej omogočite strogo potrebne piškotke, da lahko shranimo vaše nastavitve!
Uporaba piškotkov na spletišču
Spletišče v brskalnik računalnika obiskovalca oziroma uporabnika odloži tako imenovani “piškotek”. Piškotki so tekstovne datoteke, ki se shranijo na uporabnikovem računalniku in omogočajo analize o uporabnikovem obisku, številu obiskov in kaj ga zanima v teh obiskih. V piškotku so osnovni podatki o uporabnikovem obisku določene spletne strani, npr. ime obiskovane spletne strani, ki jih opravi v spletišču. Vsebina piškotka se shrani v računalniku uporabnika v posebni mapi. Z dvakratnim klikom na datoteko dobimo podrobnejše informacije o obiskani spletni strani, datumu in uri obiska. Vsi ti podatki so shranjeni tudi pri upravljavcu spletne strani, ki jo uporabnik obiskuje.
Uporabnik lahko piškotke z določenimi nastavitvami briše, izključuje oziroma jih pogojno uporablja, a posledično uporabnik ne bo mogel uporabljati vseh funkcij spletišča v polni meri. V osnovi so brskalniki nastavljeni tako, da piškotke sprejemajo, zavračajo pa nastavljanje piškotkov, ki ne izvirajo iz področja, zapisanega v naslovni vrstici.