Kontroler prekida, watchdog timer kao i Power or reset – POR samo jedni od mnogobrojnih delova složenog mikrokontrolerskog sistema. Isto tako korisni kao i drugi delovi mikrokontrolela, a to su: PWM signal, brojači, tajmeri, konvertori i drugo. Dalje u tekstu možete pronaći detalja opis kao i princip rada.

Kontroler prekida

 U mikrokontrolerskom sistemu postoji više izvora prekida. Rad CPU ponekad treba prekinuti ako je jedan od brojača odbrojao, ili kada je neki impuls detektovan, kada je A/D konverzija završena, kada je pristigao podatak sa serijske veze, itd. U principu, svaka periferija ima nekoliko svojih razloga za prekid.

 Neko treba da kontroliše sve ove izvore prekida. Taj neko je interrupt controller , kontroler prekida. Uobičajeno je da ovaj kontroler poseduje barem dva konfiguraciona registra. Jedan je registar kojim se dozvoljava ili zabranjuje pojedini izvor prekida (jedan bit za jedan izvor, 1 – prekid je dozvoljen, 0 – prekid je zabranjen). Obično postoji i globalni bit dozvole, na slici dole EA (enable all). Ukoliko EA nije setovan, ni jedan prekid nije dozvoljen. Drugi registar služi za podešavanje prioriteta pojedinih prekida. Ovim se definiše koji se prekid prvi servisira, i da li neki prekid može prekinuti prekid koji se trenutno servisira. Kod složenih jedinica postoji i dodatni konfiguracioni registar, koji služi za podešavanje načina rada kontrolera prekida, podešava se dozvola ili zabrana ugnježnjavanja prekida, podešava se da li su prekidi aktivni na nivo ili na ivicu, itd…

Slika br.1 Kontroler prekida kod mikrokontroler 8051

Watchdog timer

 Watchdog je u osnovi potpuno nezavisni sistemski brojač (može biti 16-bitni, 32-bitni). Jednom dozvoljen njegov rad, postavlja ovaj brojač u režim neprekidnog brojanja ka gore. U momentu kada watchdog dostigne unapred zapisanu vrednost generiše se reset signal za µC. Da se ovo ne bi desilo, korisnički program mora periodično da osvežava odgovarajući registar (ili registre) watchdog sistema, i da time inicira reset brojačkog sistem na početnu poziciju. Ukoliko korisnički program ovo ne uradi , smatra se da je program ‘odlutao’, da sistem nije više stabilan i da je najbolje resetovati µC. Jednostavan primer za ovu situaciju je greška u čitanju jednog bita adrese skoka. Ovo je moguće usled šuma u sistemu, uglavnom nastaje usled loše projektovane procesorske pločice. Program se grana na lokaciju koja nije predviñena, tamo nema programa , obično se takve instrukcije tretiraju kao NOP, program ne radi ništa predviñeno, a ujedno ni ne osvežava watchdog i watchdog resetuje sistem.

Slika br.2  Način rada watchdog timer-a

POR – Power on reset

 Svi µP, µC ili DSP su predviñeni da rade u odreñenom opsegu napajanja. Uobičajeno jednosmerno napajanje potrebno za µP i µC je 5V, ±10%. Uobičajeno jednosmerno napajanje za novu generaciju DSP je 3,3V, ±10%. Prilikom uspostavljanja napajanja, kao i prilikom nestanka, jednosmerni napon vrši ekskurziju od ili ka 0V. U tom režimu rad CPU, memorije, kao i svih ostalih delova sistema je potpuno nedefinisan, i može prouzrokovati neželjene izlazne signale. Ovo je veoma opasno, pogotovo za mikrokontrolerski sistem koji kontroliše rad celokupnog elektromotornog pogona. Da bi se ovaj problem rešio, u µC ili DSP se ugrañuje dodatno kolo (POR) koje zadržava ureñaj u resetu dok se ne postigne potrebni nivo napajanja. Ukoliko ureñaj ne poseduje ovo dodatno kolo problem je moguće rešiti spoljašnjim POR kolom.

Slika br.3 Primer dodavanja spoljašnjeg POR kola

POSTAVI ODGOVOR