Upload
denis-vaupotic
View
26
Download
0
Embed Size (px)
DESCRIPTION
Skripta za mikroračunala
Citation preview
Denis Vaupotić, 4.a Obrtnička škola Koprivnica
Mikroračunala – skripta
20.11.2014.
Tablica sadržaja1. Građa računala.................................................................................3
Sl. 1. - Von Neumannov model računala....................3
1.1. Sabirnica...............................................................................4
Sl. 2. – Sklopovlje računala povezano sabirnicom......4
Sl.3. - Podjela vremena na sabirničke cikluse.............4
1.2. Pohrani – dobavi ciklusi........................................................5
Sl.4. – Procesor i memorija povezani na sabirnicu.....5
2. Memorija..........................................................................................6
Sl.5. – Građa memorije..............................................6
3. Mikroupravljači................................................................................7
Sl.6. – Osnovni moduli mikroupravljača.....................7
CPU............................................................................9
Sl.7. – Blok shema CPU...............................................9
4. ATtiny 2313V..................................................................................10
4.1. Općenito....................................................................10
4.2. Raspored pinova i njihovo značenje..........................10
Sl.8. – izvod nožica za Attiny 2313............................10
4.3. Osnovni tipovi varijabli..............................................12
4.4. Osnovne naredbe.......................................................12
1. Građa računala
Današnja mikroračunala bazirana su na arhitetkturi koju je zamislio i postavio J.Von Neumann.
Sl. 1. - Von Neumannov model računala
Prema tom modelu svako bi računalo trebalo imati: ulazni dio – preko njega se u memoriju unose podaci i instrukcije
programa iz okoline izlazni dio – preko njega se u okolinu prenosi rezultati programa radnu ili glavnu memoriju – u nju se pohranjuju svi podaci i instrukcije
programa uneseni izvana, kao i rezultati djelovanja instrukcija aritmetričko-logičku jedinicu – ona izvodi instrukcijama zadane
aritmetričke i logičke operacije upravljačku jedinicu jedinicu - ona prihvaća instrukcije iz spremnika,
dekodira ih i na temelju toga upravlja aritmetičkom logičkom jedinicom te ulaznim i izlaznim dijelovima
Page | 3
1.1. Sabirnica
Sabirnica – skup vodiča na koje su povezani svi dijelovi računala, a osim vodiča tu spada i sabirnički sklop koji omogućuje ostvarivanje veza.
Sl. 2. – Sklopovlje računala povezano sabirnicom
Veza između 2 funkcijska sklopa spojena na sabirnicu ostvaruje se u vremenskom periodu koji se naziva sabirnički ciklus.
1 ciklus = 1 vezaTakt sabirnice veći -> sabirnički ciklus kraći = u 1 sekundi moguće ostvariti više međusobnih veza i
prenjeti više podataka.
Sabirnički ciklus – vrijeme u kojem 2 uređaja koji su povezani na sabirnicu komuniciraju.Sabirnice se sastoje od 3 djela:
1. Adresni dio2. Podatkovni dio3. Upravljački dio
FSB – Front Side Bus = brzina protoka podataka u sabirnici.Širina sabirnice odgovara broju bitova podataka, pri tome adresni i podatkovni dio imaju istu širinu, dok upravljački nema.Memorija i procesor, a i drugi uređaji na sabirnici, vezani su na same linije sabirnice preko međuregistara.Adresni međuregistar – služi za pohranjivanje adresa prije samog adresiranja.Podatkovni međuregistar – služi za pohranjivanje podataka prije slanja u memoriju ili dohvaćanja iz memorije.
Page | 4
T B−sabirnički ciklus
Sl.3. - Podjela vremena na sabirničke cikluse
1.2. Pohrani – dobavi ciklusi
1. Ciklus pohrani: procesor na adresni dio sabirnice postavlja adresu iz svog adresnog
međuregistra i signal pohranjivanja na priključak POHRANITI-DOBAVITI preko upravljačkog dijela sabirnice te postavlja podatak iz svog podatkovnog registra na podatkovni dio sabirnice
memorijsko sklopovlje (spremnik) prihvaća adresu u svoj registar adrese, prihvaća podatak u registar sadržaja i pohranjuje sadržaj u bajtove spremnika
2. Ciklus dobavi: procesor na adresni dio sabirnice postavlja adresu iz svog adresnog
međuregistra i signal dobavljanja na priključak POHRANITI-DOBAVITI preko upravljačkog dijela sabirnice
spremnik prihvaća sa sabirnice adresu u svoj registar adrese, prebacuje iz bajtova memorije sadržaje u registar sadržaja te postavlja sadržaj na podatkovni dio sabirnice
procesor prihvaća u svoj podatkovni registar sadržaj s podatkovnog dijela sabirnice
Sl.4. – Procesor i memorija povezani na sabirnicu
Page | 5
2. Memorija
Memorija – središnji dio svakog računala, naziva se i spremnik podataka.RAM (Random Access Memory) – pamti podatke samo dok ima napajanja -> privremeno pohranjivanje podataka.Za trajnu pohranu podataka koristi se: EEPROM, Flash, magnetska memorija...Ovisno o broju podatkovnih linija govorimo o 8,16,32,64 itd. bitnim sustavima (memorijama).Ako je podatak manjeg broja bitova nego što je raspoloživo u memorijskoj ćeliji, tada se neiskorištena mjesta popunjavaju sa ''0'' ili ''1''.Svaka memorijska lokacija ima svoju jedinstvenu adresu.
Adrese memorijskih ćelija izražavaju se u binarnom obliku.
Općenita građa memorije:
Registar sadržaja – služi za uspostavljanje veze s ostalim dijelovima računala.Većina memorijskih modula svoj sadržaj ne mjenja dok je prisutno napajanje, osim prilikom pohrane novog sadržaja.Nestankom napajanja gube se svi sadržaji upisani u ćelije (RAM memorija).U memoriju računala zapisuju se :
1. Instrukcije strojnog programa2. Osovni tipovi podataka (bitovi, brojevi, znakovi)
Page | 6
Sl.5. – Građa memorije
3. Mikroupravljači
Mikroupravljač – mikroračunalo zaduženo za upravljanje nekim procesom. arhitektura mu ovisi o primjeni pored procesora, memorije, ulaza i izlaza, tu pripadaju i posebne izvedbe U/I sklopova,
pojačala, pretvarača itd. integrirani mikroupravljači – mikroupravljač je integrirani sklop koji sadrži sve navedene
elemente te predstavlja osnovu pri dizajniranju cjelovitog sustava za nadzor i upravljanje
Građa mikroupravljača:
Sl.6. – Osnovni moduli mikroupravljača
Mikroprocesor: najčešće 8-bitni s poznatijim setom instrukcija mogu biti CISC ili RISC (za brže mikroupravljače)
Memorija mikroupravljača: memoriju mikroupravljača dijelimo na: radnu i programsku memoriju programska memorija sadrži programske instrukcije i po tipu mogu
biti: ROM, PROM, EPROM i EEPROM programska memorija može biti ugrađena na samom čipu ili izvedena
kao vanjska (najčešće kombinirano) u programsku memoriju sadržaj se ubacuje programatorima programski kod je zaštićen od neovlaštenog čitanja radna memorija je tipa RAM, koristi se za rukovanje podacima,
čuvanje, prikupljanje podataka kapacitet ove memorije nije velik, ali je moguće vanjsko proširivanje
(do 64kB) sastavni dio ove memorije mogu biti pojedini registri procesora
Page | 7
Ulazno/izlazni sklopovi: sklopovi za paralelan ulaz i izlaz podataka, sastavni su dio svakog
mikroupravljača svi ti izvodi mogu biti definirani kao ulazni ili izlazni što se određuje
preko odgovarajućih registra U/I izvodi se mogu koristiti i za proširivanje memorije, kontrolu
prekida i sl. pristup ulazima ili izlazima obavlja se preko za to određenih registara
Generator takta – clock: vanjski kristal kvarca uz izvor stabilne frekvencije, dodaje se jedino nekoliko diskretnih
komponenti (ponekad dovoljna samo RC kombinacija) preko posebnog ulaza može se dovesti takt generiran negdje izvana
Prekidni sustav: namjena sustava je nadziranje svih izvora interrupta (prekid rada),
vanjskih i unutrašnjih prekide dijelimo na maskiranje i nemaskirane, a razlikuju se i po
prioritetu prekidna maska može onemogućiti prekid vanjski prekidi nisu predviđeni za posebne namjene i o njima
odlučuje korisnik unutrašnji se uglavnom koriste za isključivanje izvršenja tekućeg
programa neki jednostavniji mikroupravljači nemaju prekidni sustav
Brojila i mjerači vremena: namjena višestruka (mjerenje vremena, prebrojavanje impulsa,
generiranje posebnih signala) moguće ih je programirati da rade na više načina
Watchdog: specijalno brojilo za praćenje rada mikroupravljača sadržaj brojila se povećava, a ispravan rad mikroupravljača vraća
brojilo na početnu vrijednost ako mikroupravljač ne radi ispravno, brojilo raste i kad postigne
određenu vrijednost, izvršenje tekućeg programa se zaustavlja
Page | 8
CPUCPU izvršava naredbe, odrađuje aritmetričko logičke operacije.Naredbe dolaze iz FLASH memorije gdje su trajno pohranjene u binarnom obliku.Sabirnica povezuje FLASH i CPU.RAM može biti unutrašnji (obično kod kod manjih mikroračunala) i vanjski.
Sl.7. – Blok shema CPU
jezgra procesora je ALU (ALJ) naredbe koje su u binarnom obliku zapisano u FLASH-u, moraju se dekodirati da bi ih razumjela
ALU akumulator je obično 8-bitni registar koji služi za kratkotrajnu pohranu rezultata prije nego se oni
premjeste u RAM naredbe su napisane u asembleru u skladu s arhitekturom odabranog procesora takve naredbe dekodira dekoder i tek onda ih izvršava ALU
Page | 9
4. ATtiny 2313V
4.1. Općenito napredna AVR i RISC tehnologija 120 instrukcija, većinom u jednom ciklusu brzina do 20 MIPS-a (Millions of Instructions Per Second) pri taktu od
20 MHz 2 kB ISP (In-System Programming) programirljive FLASH memorije 128 bajta ISP EEPROM memorije 128 bajta interne SRAM memorije 8-bitni i 16-bitni timer/brojač 4 PWM (Pulse-width modulation) kanala analogni komparator programirljivi Watchdog timer USI – Universal Serial Interface Full Duplex USART
4.2. Raspored pinova i njihovo značenje
Port A (PA2...PA0) – port A je 3-bitni bidirekcijski ulazno/izlazni (U/I) port sa internim otpornicima prema pozitivnim naponu napajanja (internal pull-up resistors)
PA2 – RESET – resetiranje PA1 – XTAL2 – pin za priključenje kristala kvarca PA0 – XTAL1 – pin za priključenje kristala kvarca
Port B (PB7...PB0) – 8 bitni bidirekcijski U/I port s internal pull-up otpornicima
Port B PB7
USCK – pin za takt za trožični način komunikacije (Three-wire mode Universal Serial Interface Clock)
Page | 10
Sl.8. – izvod nožica za Attiny 2313
SCL – pin za USI dvožični način komunikacije
Port B PB6
DO – data output; 3-žični način komunikacije PCINT6 - vanjski prekid (interrupt)
Port B PB5
DI – data input; 3-žični način komunikacije SDA – 2-žični način komunikacije – podaci PCINT5 – interrupt
Port B PB4
OC1B – vanjski izlazni pin timera/brojača , izlaz za PWM način rada timera
PCINT 4 - interrupt
Port B PB3
OC1A – vanjski izlazni pin timera/brojača, izlaz za PWM način rada timera
PCINT 3 – interrupt
Port B PB2
OC0A - vanjski izlazni pin timera/brojača, izlaz za PWM način rada timera
PCINT 2 – interrupt
Port B PB1
AIN – negativni ulaz analognog komparatora PCINT 1 – interrupt
Port B PB0
AIN – pozitivni ulaz analognog komparatora PCINT 0 – interrupt
Port D (PD6 ...PD0) – 7-bitni bidirekcijski U/I port sa internal pull-up otpornicima
Port D PD6
ICP – ulazni pin timera/brojača
Port D PD5
OC0B – vanjski izlazni pin timera/brojača, izlaz sa PWM načinom rada timera
T1 – vanjski takt timera/brojača
Page | 11
Port D PD4
T0 – vanjski takt timera/brojača
Port D PD3
INT1 – ulazni pin prekidača
Port D PD2
INT0 – ulazni pin prekidača CKOUT – izlaz sistemskog takta XCK – USART takt
Port D PD1
TXD – UART slanje podataka
Port D PD0
RXD – UART primanje podataka
4.3. Osnovni tipovi varijabli BIT – 1/8 bajta BYTE – 8 bitova ili numerička vrijednost od 0-255 INTEGER – 2 bajta ili numerička vrijednost od -32768 do 32767 WORD – 2 bajta ili numerička vrijednost od 0 do 65535 LONG - 4 bajta ili numerička vrijednost od -2147483648 do 2147483647 SINGLE – 4 bajta ili numerička vrijednost od 0 do 4294967295 STRING – do 254 bajta
*string definiran kao 10 bajtova zauzima prostor kao 11 bajtova
4.4. Osnovne naredbe
Logičke i aritmetričke operacije:
ERASE - brisanje varijabli DECR – smanjenje vrijednosti varijable za 1 INCR – povećanje vrijednosti varijable za 1 LEN – računanje dužine stringa MAX – traženje max. vrijednosti polja MIN – traženje min. vrijednosti polja MOD – ostatak dijeljenja RESET – postavljanje adresnog bita na ''0'' SET – postavljanje adresnog bita na ''1''
Page | 12
ROTATE – rotiranje sadržaja varijable lijevo/desno SHIFT – pomicanje sadržaja varijable lijevo/desno SWAP – zamjena vrijednosti dviju varijabli istog tipa
Pretvorbe
ABS – računanje apsolutne vrijednosti varijable ASC – STRING -> ASCII kod AVG – računanje prosječne vrijednosti polja CHR – numerička vrijednost -> odgovarajući znak CONST – definiranje konstanti FUSING – oblikovanje decimalnog broja za ispis HEX – izračun HEX vrijednosti i ispis u obliku stringa
Page | 13