20
Denis Vaupotić, 4.a Obrtnička škola Koprivnica Mikroračunala – skripta 20.11.2014.

Mikroračunala skripta

Embed Size (px)

DESCRIPTION

Skripta za mikroračunala

Citation preview

Page 1: Mikroračunala skripta

Denis Vaupotić, 4.a Obrtnička škola Koprivnica

Mikroračunala – skripta

20.11.2014.

Page 2: Mikroračunala skripta

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

Page 3: Mikroračunala skripta

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

Page 4: Mikroračunala skripta

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

Page 5: Mikroračunala skripta

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

Page 6: Mikroračunala skripta

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

Page 7: Mikroračunala skripta

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

Page 8: Mikroračunala skripta

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

Page 9: Mikroračunala skripta

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

Page 10: Mikroračunala skripta

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

Page 11: Mikroračunala skripta

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

Page 12: Mikroračunala skripta

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

Page 13: Mikroračunala skripta

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