Pretraži ovaj blog

ponedjeljak, 4. travnja 2011.

Programiranje mikrokontrolera

Mikrokontroleri s EPROM memorijom pogodni su za razvoj uređaja jer omogućavaju reprogramiranje sadržaja EPROM-a. Programiranje EPROM-a vrši se u za tu svrhu dizajniranim uređajem. Izrađuju se kao samostalni uređaji s vlastitim procesorom i sučeljem za upis podataka u EPROM, ili kao uređaji koji se obično priključe na paralelni (CENTRONICS) port računala koje im tada služi kao sučelje.

U drugom slučaju su znatno jeftiniji ali je potrebna odgovarajuća programska potpora za upis programskog koda u EPROM. Programska potpora mora:

  • Osigurati potpun pristup EPROM-u putem izbornika
  • Automatski prepoznati grafičku karticu računala i frekvenciju sistemskog takta potrta te je prilagoditi uređaju
  • Automatski prepoznati koja vrsta EPROM-a je umetnuta u uređaj za programiranje, tip i proizvođača
  • Omogućiti brisanje prethodnog sadržaja EPROM-a
  • Uspoređivanje sadržaja dvaju EPROM-a
  • Upisivanje programskog koda u EPROM
  • Očitavanje upisanog koda i testiranje.

Različite vrste EPROM-a imaju različite napone programiranja te ih treba točno ustanoviti i provjeriti da li programska potpora za upis podataka postavlja upravo tu vrijednost pri programiranju te ako je potrebno izvršiti ispravku. Sofisticirani programski alati za upis podataka u EPROM prevesti će u C-u ili VisualBASIC-u ili nekom drugom programskom jeziku napisani program za rad mikrokontrolera u skup instrukcija (programski kod) upravo za CPU mikrokontrolera koji se odabere te upisati te instrukcije u EPROM. Skuplji programski alati podržavati će rad za više tipova CPU i više proizvođača i vrsta mikrokontrolera. Naravno, sastavni dio programske potpore sigurno je ASCII / HEX editor za očitavanje sadržaja EPROM-a.

Jedan zamišljeni mali program u jeziku kojeg koristimo bio bi recimo ovakav:

            POČETAK             REG_1 = MEM_LOK_A             REG_2 = MEM_LOK_B             REG_3 = REG_1 + REG_2             PORT_A = REG_3             KRAJ  

Program zbraja sadržaj dvije memorijske lokacije i zbir šalje na port A. Naravno za složenije zadaće veći su i programi koji ih rješavaju. Programiranje se može raditi na više jezika a najčešće su to asembler, C i BASIC. Asembler spada u jezike niskog nivoa koji se sporo programiraju ali zauzimaju najmanje mjesta i najbolje je rješenje sa stanovišta brzine izvršavanja programa. Programi u C-u se lakše pišu, bolje razumijevaju ali su i do 7-8 puta sporiji od asemblerskih. BASIC je najlakši za učenje a njegove naredbe su najbliže ljudskom razmišljanju ali je još znatno sporiji.

U svakom slučaju prije nego što se odabere jedan od ovih jezika potrebno je da dobro razmotriti zahtjeve za brzinom izvršavanja programa, veličinom memorije i raspoloživim vremenom te temeljem toga odabrati način programiranja. Napisani program se prvo prevede, a zatim preko serijskog kabla učita u mikrokontroler. Prevođenje je proces koji od izvornog programa pravi izvršni program koji sadrži instrukcije koje mikrokontroler razumije i izvršava. Napisani program potrebno je smjestiti u memoriju mikrokontrolera. Načina ima više, jedan od njih podrazumijeva postojanje drugih programa s kojima se učitavaju (loader) memoriju i koji najčešće koriste serijsku komunikaciju mikrokontrolera za pristup njegovoj memoriji.

Dakle, programiranje mikrokontrolera se vrši upisom instrukcija u EPROM prema uputama za korišteni mikrokontroler, odnosno prema skupu instrukcija koje podržava njegov centralni procesorski ustroj (CPU), te se u tom smislu ne može govoriti o jedinstvenom programskom jeziku za programiranje rada mikrokontrolera jer je skup instrukcija uglavnom različit, već prema vrsti i proizvođaču koji ga izrađuje. Treba razlikovati programiranje EPROM-a od programiranja rada mikrokontrolera.

Kada se neka izvedba mikrokontrolera pokaže stabilna i vrlo raširena u pravilu se nadalje umjesto skupih EPROM-a koriste PROM memorije koje dozvoljavaju samo jednokratno programiranje ali su višestruko jeftinije.


Ukratko, mikrokontroler je malo samostalno računalo vrlo raznolike namijene s mogućnosti programiranja i reprogramiranja njegovog rada. Uobičajeno je da sadrže mehanizme za samostalnu kontrolu ispravnosti rada te zaštitu od neautoriziranog čitanja programskog koda. Ne zahtijevaju osobitu pažnju glede održavanja. Kako su obično sve komponente unutar samo jednog integriranog kruga i nema osobitih zahtijeva za velikom brzinom rada postiže se vrlo velika pouzdanost i sigurnost.

Razvoj, konstrukcija i održavanje zahtijevaju mnogo ljudskog rada. Zbog toga se nastoji na sve moguće načine smanjiti potreban posao za konstrukciju, rad i održavanje sustava koji se nadzire. Osnovna ideja je uporaba masovno proizvedenih, jeftinih standardnih sklopova. Tako je i izgrađen mikrokontroler sa svim elementima u jednome čipu (Single-Chip Microcontroller).

U samom dizajnu mikrokontrolera vrlo je bitna STANDARDIZACIJA. Standardizira se sve što se može, funkcije koje se moraju obavljati, mehanički i električni elementi, kućište, veličina štampane pločice, tipovi priključaka i spojnih vodova, naponi napajanja, osobine signala, ulazne i izlazne impedancije i drugo. Na narednoj slici prikazana je jedna tipična standardizirana upravljačka jedinica s mikrokontrolerom koji upravlja tijekom jednog procesa nadzorom temperature.


Primjer II

Izgled tipične standardizirane upravljačke jedinice s mikrokontrolerom.


 Upravljanje mikrokontrolerom
Slika 7.2.3 Tipična standardizirana upravljačka jedinica.

Jedinica se sastoji od niza štampanih ploča (kartica) s elektroničkim komponentama. Senzor pri nadzoru procesa daje signal uređaju za analognu obradu koji će ga obraditi na način da njegov izlaz odgovara ulazu u A/D pretvornik, a dobivene binarne podatke obraditi će mikroračunalo prema programu u svojoj memoriji. Izlaz iz mikroračunala je rezultat obrade koji ide u izlazni elektronički uređaj gdje će se pomoću D/A pretvornika i izlaznih elektroničkih sklopova pretvoriti na način da može upravljati izvršnim uređajem koji će ispraviti tijek procesa onako kako je odlučilo mikroračunalo na osnovu podataka dobivenih od senzora.

Broj kartica može biti i manji od prikazanih, na primjer moderni mikrokontroleri već imaju ukomponiran A/D pretvornik i multiplekser i na njegovoj karici mogu biti ulazni, izlazni i komunikacijski priključci. Tako bi broj kartica bio 3 u odnosu na 7 kartica prikazanih na slici. S druge strane ako se promatra više pojava različite prirode (temperatura, pritisak, snaga ..) trebati će više kartica za analognu obradu jer će više različitih senzora imati različite izlazne signale koji će se morati različito obrađivati kao bi podaci poslani na ulaz multipleksera mikrokontrolera bili upotrebljivi.

Glede navedenog, prethodna slika samo je ilustracija kako smjestiti i koristiti jedan mikrokontroler koji će upravljati nekim procesom na osnovu upisanih instrukcija u memoriju. U primjeru je uzet nadzor temperature nekog procesa mada je u pitanju moglo biti bilo što drugo. Ovakva jedinica može se smjestiti uz sam proces i bez povezivanja s drugim jedinicama samostalno upravlja procesom (Stand Alone). Može se povezati s drugim jedinicama tako da sve zajedno nadziru neki složeni proces.

Ako je ukomponirana uz sam proces mora se dizajnirati tako da može normalno i dugotrajno funkcionirati u okolišu u kojem se nalazi, a ako to nije moguće može se nalaziti na izdvojenom mjestu u nekoj drugoj prostoriji, ali tada treba riješiti problem dostave i otpreme podataka. Dakle, nema tipičnih rješenja za sve situacije i prikazana koncepcija na prethodnoj slici samo je ilustracija.

Promatranje i neposredno upravljanje pojedinačni procesima najniži je i prvi nivo nadzora i upravljanja. Ako se pak izlazni podaci svih pojedinačnih upravljačkih jedinica prikupljaju na jednom mjestu i objedinjuju riječ je o drugom nivou upravljanja. Tada pojedinačni procesi predstavljaju podprocese cjelokupnog procesa nadzora i upravljanja.

Od svakog mikrokontrolera očekuju se različite mogućnosti spajanja i različito ponašanje te stoga ne postoji mogućnost monopola neke tvrtke u smislu njihove implementacije u neki proizvodni sustav i programiranja njihovog rada. Njihov dizajn i implementacija ostati će uvijek posao malih tvrtki, ali se od osoba koje će se s time baviti zahtijevaju brojne sposobnosti i kreativnost upravo zbog vrlo različitih poslova koji se moraju obaviti da bi se mikrokontroler stavio u funkciju.

Pojava mikrokontrolera oslobodila je konstruktore sustava od mukotrpnog posla gradnje mikroračunala, raznih sučelja i drugih uređaja. Stoga ne čudi njegova sve šira primjena u mjerenjima, vođenjima i upravljanjima procesima. Današnja tehnologija omogućila je da djeluju kao vrlo moćna računala. Moć im je vrlo različita, i proizvodno su već prilični tipizirani, uglavnom izrađeni kao jedan čip. Koliko moćan (i skup) mikrokontroler uporabiti ovisiti će o zadaći za koju se koristi: u sustavu za brojanje paketa na pokretnoj traci ili u sustavu za nadzor motora robota koji boja automobile ili u sustavu za nadzor sastava COCA-COLE ili nekom drugom, uz sve moguće zamisli o signalizaciji o pogrešnom tijeku procesa i po potrebi i njegovog zaustavljanja.

NAČELNO:

Dakle, mikrokontroler je gotovo bezgrešni nadglednik rada strojeva u proizvodnom procesu osobito na pokretnim trakama. Na pokretnoj traci jednoličnom brzinom promiču proizvodi. Ovisno o izradi i programu mikrokontrolera on može osim jednostavnog brojanja proizvoda preusmjeriti neispravne proizvode drugim putom, nadgledati njihov ukupan broj te po programiranoj statističkoj obradi odlučiti prekinuti proizvodnju i probuditi osobu nadležnu za nadzor na procesu proizvodnje.

Nema komentara:

Objavi komentar