Professional Documents
Culture Documents
Mikroprsistemi - Radni Materijal
Mikroprsistemi - Radni Materijal
Mikroprocesorski sistemi
- Radni materijal
upravljakih,
odnosno
regulacijskih
algoritama
izvodi
se
preko
upravljanje
(mehanikim,
mehatronikim)
sistemima
ima
niz
Digitalna obrada,
Informacije kod mikroprocesorskih sistema su prikazane pomou binarnog brojnog
sistema.
Cijena i sl.
Ovakvi mikroprocesorski sistemi poznati su kao ugraeni, namjenski mikroprocesorski
sistemi sa radom u realnom vremenu (engl. embedded real time microprocessor
systems). Naziv ugraeni - namjenski oznaava da je takav mikroprocesorski sistem
dio mnogo veeg sistema, koji je kod mehatronikih aplikacija temeljen na mehanikim
produktima ili procesima.
Namjenski mikroprocesorski sistemi jedna su od dvije kategorije mikroprocesorskih
aplikacija.
Druga
kategorija
oznaava
aplikacije
za
obradu
podataka.
Ovdje
su
Mikroprocesorski sistemi
postojanje analognih i digitalnih ulaza i / ili postojanje ulaznih suelja (engl. interface)
za povezivanje sa senzorima i aktuatorima i
robotske
ruke
po
eljenoj
trajektoriji.
Robotska
ruka
je
spojena
za
komunikacijski kabl
Komunikacija
I/O
Memorija
Digitalni izlaz
Obrada signala
Digitalni
I /O
CPU
Analogni izlaz
Obrada signala
Analogni
aktuatori
(motori)
Mikroprocesorski
sistem
Digitalni ulaz
Obrada signala
Displej
Tastatura
Analogni ulaz
Obrada signala
Digitalni
senzori
(enkoderi)
Maina
(robotska ruka)
Digitalni
aktuatori
Analogni
senzori
Mikroprocesorski sistemi
CPU
izlazni
ureaji
komponente
mikroprocesor-skih
memorija
(glavna)
sekundarna
imati
sve
komponente
potrebne
kompletnom
raunalu
na
jednom
ipu.
Mikroprocesori koji imaju memoriju i razliite I/O ureaje na jednom ipu nazivaju se
mikrokontrolerima.
2.1. Sistemska sabirnica
Sabirnica je skup elektronikih veza koje omoguavaju komunikaciju izmeu dva
ureaja. Procesor komunicira sa memorijom i ulazno-izlaznim (I/O) ureajima preko
sistemske sabirnice.
sabirnica podataka
CPU
memorija
I/O
suelje
I/O
ureaji
I/O
ureaji
adresna sabirnica
upravljaka sabirnica
sistemski
sat
Slika 3.Sabirnice
Mikroprocesorski sistemi imaju najee arhitekturu sa tri sabirnice i to:
Mikroprocesorski sistemi
Sabirnica predstavlja niz fizikih linija iji broj ovisi o funkciji sabirnice, kao i tipu
mikroprocesora. Radi na brzini vanjskog takta procesora. Brzina takta odreuje koliko se
aktivnosti, kao to su itanje i pisanje, u memoriji moe dogoditi u jednoj sekundi. Koncept
adrese i podatka je temeljni za rad mikroprocesorskih sistema. Memorija se sastoji od
velikog broja lokacija (elija) sposobnih da dre podatke. Svaka memorijska lokacija je
jednoznano identifikovana sa adresom.
Kada CPU prihvata instrukcije ili podatke, pridruuje im adresu koju postavlja na
adresnu sabirnicu. Adresna sabirnica predstavlja set linija koje prenose informacije o tome
gdje e u memoriji podaci biti zapisani, odnosno odakle iz memorije biti proitani.
Upravljaka sabirnice slui za prenos signala omoguujui itanje i pisanje podataka u
memorijsku lokaciju. Signali sistemskog sata se prenose upravljakom sabirnicom. Ovi
signali definiraju vremenske intervale tokom kojih sistem funkcionira. Tako CPU alje neke
upravljake signale do drugog elementa da pokae tip operacije koju obavlja, npr. da li je
potrebno itanje primanje (engl. read - receive) ili zapisivanje slanje (engl. write send) podataka.
2.1.1. irina i brzina sabirnice
Kako je sabirnica kanal za prenos informacija, to njena irina utie na koliinu
informacija koju prenosi. irina adresne sabirnice specificira se neovisno o irini sabirnice
podataka i odreuje koliko razliitih memorijskih lokacija moe prenijeti sabirnica.
2.1.2. Nain rada mikroprocesorske sabirnice
Centralno procesorska jedinica je odgovorna za upravljanje adresnom, upravljakom i
sabirnicom podataka, tako da se oznaava kao bus muster komponenta, dok su druge
komponente mikroprocesorskog sistema, npr. memorija i I/O ureaji bus slave. CPU
izvrava program pohranjen u memoriji izvoenjem sekvenci dopremanja i izvravanja
instrukcija.
Kako instrukcija moe biti duine nekoliko byte-ova
za dopremanje instrukcije
potrebno je nekoliko ciklusa itanja iz memorije, dok operaciju izvravanja mogu initi
ciklusi itanja ili zapisivanja ili njihova kombinacija. izvravanje instrukcije moe rezultirati
i operacijama koje se deavaju u CPU kao to je raunanje, pa se u tom sluaju sistemski
sat ne koristi.
2.2. Centralna procesorska jedinica
Temeljna komponenta mikroprocesorskih sistema je centralna procesorska jedinica
(CPU). CPU je dio mikroprocesorskog sistema koji obrauje podatke, doprema instrukcije iz
memorije, dekodira ih i izvrava. Program mikroprocesorskih sistema je skup instrukcija
pohranjenih u memoriji, koje e izvriti CPU. Ciklusom maine smatra se vrijeme potrebno
za izvrenje unutarnjih hardverskih operacija. Karakteristike tipinog programa kojeg
izvodi CPU su:
Mikroprocesorski sistemi
Adresna
sabirnica
Sabirnica
podataka
Izvravanje instrukcije
instrukcije
Programski broja
(Program counter PC)
Adresa
Podaci
Upravljaka
sabirnica
Akumulator
Dekoder i
upravljaki segment
Register banke
Interna CPU sabirnica
Mikroprocesorski sistemi
2. Memorijski adresni register (engl. memory address register MAR) sadri adrese
podataka. Npr. pri sabiranju dva broja u memorijski adresni register se uitava adresa
prvog broja. Podaci sa navedene adrese uitavaju se u akumulator. U memorijski
adresni register uitava se memorijska adresa drugog broja, pa se podaci sa ove
adrese zbrajaju podacima u akumulatoru.
3. Instrukcijski register (engl. instruction register IR) slui za pohranjivanje instrukcija
nakon njihovog dopremanja iz memorije. Instrukcija moe biti potom dekodirana i
izvrena.
4. Pokaziva stacka (engl. stack pointer SP) sadri adresu koja definira vrh stacka u
RAMu. Stack je posebna memorijska zona u kojoj se pohranjuje sadraj programskog
brojaa pri izvravanju podprograma.
Segmenti programskog koda koji se ponavljaju obino se mogu implementirati kao
zaseban blok u vidu podprograma u memoriji.
U tom sluaju potrebno je osigurati prenos kontrole nad izvravanjem programa u
podprogram, te nakon izvravanja instrukcija podprograma vratiti kontrolu u glavni
6
Mikroprocesorski sistemi
instrukcije JMP mora biti napisana i proitana sa stacka kao dva bytea. Uz pretpostavku da
stack raste nagore u memoriji, nakon to je instrukcija JSR izvrena, sadraj programskog
brojaa, a to je adresa slijedee instrukcije, se zapisuje na vrh stacka koristei dva ciklusa
zapisivanja. Nakon svakog ciklusa zapisivanja, stanje stack pointera se aurira (uveava).
Kada se izvri instrukcija RTS na kraju podprograma, tana reverzibilna procedura slijedi
za pohranjivanje adrese koja slijedi instrukciju JSR u glavnom programu u programski
broja (PC). Pri tome su potrebna dva ciklusa itanja i sadraj stack pointera bit e
auriran (umanjen) prije svakog ciklusa itanja.
a)
b)
Mikroprocesorski sistemi
Instrukcije i podaci kod mikroprocesorskih sistema egzistiraju kao skupine bita, tako da
CPU nema naina da, pri itanju bitova, prepozna da li se radi o instrukciji ili podacima.
CPU e prvi proitani blok informacija tokom faze dopremanja, uvijek interpretirati kao
instrukciju. Meutim, to moe dovesti do tzv. padanja mikroprocesorskog sistema kada,
zbog zauzetosti adresnih linija, usljed smetnji, CPU ita podatke umjesto instrukcija
djelujui pri tome nepredvidivo. Kod namjenskih mikroprocesorskih sistema sa radom u
realnom vremenu, mikroprocesorski pad je vrlo nepoeljan. Ne moe se garantovati
potreban slijed rada takvog sistema, posebno ne u okruenju sa jakim elektrinim
smetnjama. Takva rjeenja uobiajeno razvijaju mehanizme za resetovanje CPU u neko
poznato stanje.
Faza izvravanja instrukcije
Glavna funkcija jedinice za dekodiranje instrukcija i upravljanje je dekodiranje
mainskih instrukcija i generiranje upravljakih signala za pomjeranje informacija izmeu
internih registara i eksterne memorije, te za upravljanje funkcijama CPU koje obrauju
podatke.
Najei registri koji se susreu u dijelu CPU namjenjenom izvravanju instrukcija su:
1. Akumulator register (engl. accumulator register A) slui za privremeno pohranjivanje
ulaznih podataka za aritmetiko-logiku jedinicu. Npr. kod sabiranja dva broja, prvo se,
sa odreene memorijske lokacije, postavljanjem adekvatne adrese na adresnu
sabirnicu, uitava prvi broj i smjeta u akumulator register, dok CPU dobrema drugi
broj sa druge memorijske adrese. Ova dva broja obrauje ALU i rezultat vraa ponovo
u akumulator register.
Akumulator register se, dakle koristi za privremeno pohranjivanje podataka s kojima
manipulira ALU kao i dobijenog rezultata.
2. Status register (ili flag register) sadri informacije koje se odnose na rezultat ili zadnji
proces izvren u ALU i slui za definiranje statusa raznih operacija. Npr. kod sabiranja,
prvo se sabiraju najmanje znaajni bitovi, zatim vie znaajni itd. Kod svake od tih
operacija moe se javiti prijenos u vii byte (pamti se 1), to ALU realizira
aktiviranem zatakca (bita) prijenosa u status registru. Slino je kod operacije
oduzimanja (posuuje se 1).
3. Register banke smjetene su u dijelu CPU namjenjenom izvravanju instrukcija. Mnogi
mikroprocesori sadre set openamjenskih registara (engl. general purpose register)
koji se koriste za privremeno pohranjivanje meuvrijednosti generiranih pri dugim
proraunima, zatim za pohranjivanje podataka ili adresa, a mogu biti upotrijebljeni i pri
operacijama prijenosa podataka izmeu razliitih registara. Osnovni razlog postojanja
register banki je mnogo vea brzina pristupa podacima pohranjenim u register
bankama, nego u vanjskoj memoriji. Takoer, mainske instrukcije za pristup register
bankama su tipino single-byte instrukcije dok instrukcije za pristupanje vanjskoj
memoriji moraju biti duge dva ili tri byte, jer sadre adresu podataka.
Mikroprocesorski sistemi
3. Razvojni ciklus
Izbor mikroprocesorskog sistema temelji se na funkcionalnim zahtjevima procesa kojim
se eli upravljati, npr.:
kabl
emulatora
komunikacijski kabl
mikroprocesorski sustav
(host)
Slika 6.
emulator
ciljni hardware
CPU,
Broj i sloenost operacija koje treba da izvri mikroprocesor, odreuju njegove
performanse, kao i tip mikroprocesora prikladnog za datu primjenu.
memorija,
Veliina i brzina memorije su vrlo vani parametri. Veliina potrebne memorije
mikroprocesorskog sistema zavisi od broja operacija koje se izvravaju programom.
Obino nije mogue precizno odrediti zahtjev za memorijom, prije nego se napravi
program, pa se sistem projektuje sa vie memorije nego to je potrebno. Na taj
nain, mogue je, po potrebi i proirivanje programa bez hardverske intervencije.
Na sl.6. prikazan je set alata pomou kojih projektant moe verificirati potrebni
hardware, napisati i testirati software i konano testirati zajedniko funkcioniranje
hardware i software. Prototip hardware oznaen je kao ciljni hardware. Software za ciljni
hardware je napisan na mikroprocesorskom sistemu, nazvanim hostom. Alati za razvoj
software omoguuju konstruktoru pisanje programa i generiranje ekvivalentnog mainskog
koda, koji e biti uitan i izvren na ciljnom sistemu. Kada se ustanovi korektno
funkcioniranje software, mogue je program zapisati u ROM, to omoguuje stalnu
instalaciju na konanom ciljnom sistemu.
Mikroprocesorski sistemi
Danas
Preliminarni dizajn
su
najee
koriteni
mikroprocesorski
Implementiranje
hosta
Revizija
Testiranje i usporeivanje
sa zahtjevima
Zadovoljava zahtjeve?
ciljnog
hardware.
hardware
Emulator
je
upravlja
emulator
tokom
za
ciljni
izvoenja
Da
Izraditi proizvod
kojeg
host
moe
prenijeti
aplikacioni
program
Osnovi koraci koje poduzima konstruktor pri razvoju software i hardware za ciljni sistem
formiraju tipini razvojni ciklus, prikazan na sl.7. Za razvoj specifinog mikroprocesorskog software
cilus moe biti prikazan na sl. 8. On podrazumijeva da je ciljni sistem razvijen i napravljen i da
zajedno sa emulatorom omoguuje testiranje software. Potrebno je voditi rauna o mogunosti
Mikroprocesorski program
Izvorna datoteka
Editor
Listing file
Mikroprocesorski program
Source file
Compiler /
assembler
Linker
Objektne biblioteke
Uitavanje na
emulator i izvravanje
Ne
R a d i?
Da
oznaava se kao izvorni kd programa, jer predstavlja poetak za formiranje mainskog kda.
Sljedei korak je konverzija izvornog programskog kda u instrukcije mainskog kda, koje su
razumljive od strane ciljnog mikroprocesora. Ovo se izvodi kortenjem kompajlerskog jezika ili
asemblera, ovisno o tome koji je jezik odabran za izvoenje ciljnog programa. Linkovanjem se
povezuju svi potrebni kodovi i generira izvrna verzija korisnikog programa, nakon ega slijedi
njegovo testiranje.
10