Pretraži ovaj blog

ponedjeljak, 4. travnja 2011.

MIKROKONTROLERI

Mikrokontroler (microcontroller) je elektronički uređaj koji, slično kao i računalo, ima zadaću da zamjeni čovjeka u kontroli dijela proizvodnog procesa ili gotovo cijelog proizvodnog procesa.

Iz svakodnevne prakse pri uporabi računala opće namijene tip PC već je poznato da je standardni ulaz tipkovnica i miš (eventualno igrača palica), dok je standardni izlaz monitor ili pisač. Teško je definirati što će biti standardni ulaz i izlaz mikrokontroleru. Razlog tome je što su mikrokontroleri uglavnom dizajnirani za specifične zadaće vrlo raznolike od slučaja do slučaja. Primjera ima mnogo, od jednostavne regulacije osvjetljenja, alarmnih sustav, pa dao upravljanja robotima u industrijskim pogonima.

Ulazi mogu biti vrlo jednostavne izvedbe kao na primjer prekidač u sklopu plovka za nadzor najvećeg ili najnižeg nivoa tekućine u spremniku. Mikrokontroler tada ima za obradu samo dva stanja koje opisuje jedan bit. Složenije je praćenje ako treba pratiti stvarnu razinu nivoa tekućine u spremniku. Tada treba definirati koliko će se nivoa pratiti i tu će se uporabiti nekakav potenciometarski sklop koji će mikrokontroleru predati određenu analognu vrijednost koju će ovaj potom pomoću A/D pretvornika obraditi i isporučiti odredištu. Ako je pak povezan s fotoćelijom za brojanje predmeta po načelu prekidanja svjetlosnog snopa radi se o izravnom brojanju impulsa tijekom rada neovisno o vremenu.

Dakle, ulazi mogu biti analogne i digitalne prirode i u suštini podatke će isporučivati nekakav mjerni pretvornik (senzor).

Izlazi iz mikrokontrolera također mogu biti analogne i digitalne prirode. Analogni izlazi, bilo naponski ili strujni, mogu se elektromehaničkim sklopovima pretvoriti u neku korisnu radnju kao promjena položaja nekog predmeta, povećanje brzine vrtnje motora i slično. Najjednostavniji primjer je lampica upozorenja koja upozorava čovjeka na promjenu ili neispravnost. Složeniji izlaz biti će kada se želi pratiti veličina promjene bilo kao analogni ili digitalni prikaz.

Naravno, ulaz i izlaz mikrokontrolera nije isključivo vezan na komunikaciju sa strojem. Vrlo rijetko kontroler nema neki vid komunikacije prema korisniku, na primjer s lampicama ili s digitalnim pokazivačem. No nisu rijetki slučajevi da se za komunikaciju sa čovjekom koristi računalo tipa PC.

Iz navedenog može se zaključiti da se mikrokontroleri prema načinu izrade i komunikacije s okolišem mogu svrstati u jednu od dvije osnovne kategorije:

  • Mikrokontroler kao samostalna upravljačka jedinica
  • Mikrokontroler kao osobita kartica u jednom od utora PC računala

U suštini mikrokontroler radi na načelu vrlo bliskom računalu. On je u istinu malo računalo, a složenost mu ovisi o složenosti zadaće koju ima nadzirati. Općenito blok shema mikrokontrolera mogla bi izgledati prema narednoj slici.


 Mini PC
Slika 7.2.1 Načelna blok-shema mikrokontrolera.

Koje će sve elemente sadržavati i koliko moćne ovisiti će o njegovoj namijeni. CPU je jednostavniji od sklopova namijenjenih PC konfiguracijama, obično nekad popularni Zilog-Z80 ili neki iz porodice INTEL-ovih procesora. Svima su zajednička sljedeća svojstva:

  • Relativno mali radni takt reda 10 MHz
  • Mali broj jednostavnih instrukcija, red veličine oko 100
  • Radna memorija (RAM) reda KB
  • Stalna memorija s programskim kodom u PROM ili EPROM izvedbi
  • Brojači različitih namjena kao sat, brojač impulsa, BCD brojač i drugi
  • Brojač za nadzor ispravnog rada - WDT (Watch Dog Timer)
  • Ulazno/Izlazni kanali (port-ovi) za prihvat i slanje podataka
  • A/D i D/A pretvornici razlučivosti prema namjeni, uobičajeno 8 bit-ni
  • Širok raspon napona napajanja

Svi navedeni elementi ne moraju biti nužno zastupljenu u mikrokontroleru. Od namjene mikrokontrolera ovisiti će njegov izbor te će jedni imati više U / I port-ova, a drugi više multipleksiranih A/D pretvornika i slično. Intel-ova serija mikrokontrolera MSC-48 ima 8 osnovnih predstavnika različitih po mogućnostima. Osim navedene postoji još nekoliko serija istog proizvođača. Ako se tome pribroje i ostali proizvođači (Motorola, Microship Technology, Siemens i drugi) izbor mikrokontrolera više je nego dovoljan. Tipični predstavnik je Siemens-ov mikrokontroler SAB 80535 opisan u primjeru.

Od značaja je WDT sustav nadzora. To je specijalno dizajnirano BROJILO. Ako program upisan u memoriju mikrokontrolera ispravno radi on će povremeno u prikladnim vremenski razmacima (do 100ms) vratiti kontrolno brojilo na početnu vrijednost. Ako pak brojilo u svom radu odbroji do kraja, zadnjim brojem stavlja na znanje CPU mikrokontrolera da je došlo do nepravilnosti u radu programa jer nije bio vraćen na početnu vrijednost. CPU pokreće programsku rutini za ponovnu inicijalizaciju mikrokontrolera ili se odvija neka druga predviđena zaštitna radnja. Na taj način onemogućava se duži nepravilan rad mikrokontrolera bez obzira na razloge uzroka nepravilnosti. Ova metoda nadzora višestruko povećava sigurnost sustava kojeg mikrokontroler nadzire.

Obično se u sklopu uređaja s mikrokontrolera nalazi i mala baterija kojoj vijek trajanja doseže i do 10 godina. Zajedno sa sustavom WDT za nadzor ispravnog rada mikrokontrolera, proizlazi da će podaci u RAM-u uvijek biti očuvani te da za redovnim servisom gotovo da nema potrebe. Naravno, baterija zamjenjuje i napajanje cjelokupnog sklopa u slučaju nestanka struje, slično kao što rade on-line UPS uređaji.


Primjer I

Izgled i blok shema Siemens-ovog mikrokontrolera SAB 80535.


 Mikrokontroler
Slika 7.2.2 Mikrokontroler SAB 80535 tvrtke Siemens.

To je osam bit-ni mikrokontroler (CPU) i proizvodi se u dvije verzije, 80515 i 80535. Prva sadrži programsku memoriju (ROM) ugrađenu u mikrokontroler i izrađuje se po narudžbi sa željenim programskim kodom. Druga ne posjeduje ugrađenu programsku memoriju već se ona dodaje izvana. Po ostalim elementima potpuno su identični.

Vrijeme izvršavanja instrukcije je jedna mikrosekunda uz radni takt od 12 MHz kojeg daje oscilator s kristalom kvarca dodanim izvan čip-a. Od 256 byte-a unutrašnje radne memorije 128 byte-a osigurano za 41 registar opće namijene. Akumulator i 32 registra posebne namijene, te aritmetički i pokazivački registri i registri namijenjeni prijenosu podataka između CPU i periferija su u drugom dijelu unutrašnje radne memorije. Unutrašnja radna (RAM) i programska (ROM) memorija mogu se proširiti do 64 KB dodacima izvana. Hoće li se izvršavati kod iz radne ili programske memorije ovisi o stanju na izvodu EA (External memory Access). Pristup vanjskoj memoriji upravlja se preko izvoda PSEN (Program Store ENable).

Tu su još izvodi za normalni i pričuvno napajanje i referentni napon te reset mikrokontrolera i druge zadaće. Sam mikrokontroler ima vrlo razrađenu mogućnost prekida (Interrupt) programa s ukupno 12 mogućih izvor prekida uz moguću raspodjelu na 4 prioritetna nivoa. Postoji i 'watchdog' koji se može pomoću programa aktivirati ali ne i isključiti.

Svih šest port-ova su 8 bit-ni i dvosmjerni. A/D pretvornik također je 8 bit-ni. Radi po načelu sukcesivne aproksimacije. Vrijeme uzorkovanja je 5 mikrosekundi, a vrijeme pretvorbe 20 mikrosekundi. Naravno tu je S&H sklop za pamćenje vrijednosti uzorka analognog signala. Multiplekser vodi brigu o 8 mogućih analognih ulaza za korištenje.

Mikrokontroler sadrži tri 16 bit-na brojača. Svaki od njih može se definirati kao klasičan brojač, dijelilo ili nešto drugo koristeći interni ili vanjski takt. Mikrokontroler koristi skup od 111 instrukcija od čega je 49 instrukcija duljine 1 B, 45 duljine 2 B i 17 duljine 3 B. Instrukcije se mogu podijeliti na:

  • Instrukcije za prijenos
  • Aritmetičke instrukcije
  • Kontrolu prijenosa

Navedeni podaci samo su dio od sile ostalih koji se nalaze u priručniku koji se dobije uz svaki mikrokontroler.

Mikrokontroleri na jednom čipu razvijeni su i stavljeni na tržište uz uporabu CPU s 4, 8, i 16 bit-nom sabirnicom. Udio 8 bit-nih mikrokontrolera je jako velik (preko 50%) u ukupnom tržištu mikrokontrolera.

Nema komentara:

Objavi komentar