1
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
MIKROPROCESORSKI MERNI SISTEMI
ARHITEKTURA MIKROKONTROLERA
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Osnovna arhitektura mikrokontrolera
2
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Kako počinje rad mikrokontrolera?
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Kako počinje rad mikrokontrolera?
1. Napajanje isključeno. Program je u mikrokontroleru.2. Napajanje uključeno. Oscilator počinje sa radom.3. Napajanje dostiglo maksimum. Oscilator daje stabilan
takt. Sva kola se uključuju i rade u skladu sa tim taktom.4. Programski brojač na početku ima stanje 0. 5. Iz memorije, sa adrese koju daje programski brojač,
uzima se instrukcija i izvršava.6. Programski brojač se povećava za 1 i izvršava se
prethodni korak.
3
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Memorija
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Memorija• Read Only Memory (ROM)
– stalna - čuva podatke i bez napajanja– program se smešta u ROM– veličina od 512B do 64kB– najčešće FLASH ROM (može da se prepisuje
praktično neograničen broj puta)• Random Access Memory (RAM)
– privremena– podaci i međurezultati– reda nekoliko kB– registri – memorijske jedinice (jedan bajt) opšte
namene i posebne namene (SFR)
4
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Memorija
• Electrically Erasable Programmable ROM (EEPROM)– sadržaj se menja tokom izvršavanja programa
(kao RAM)– sadržaj se čuva i nakon isključenja napajanja
(kao “obični” ROM)– spora memorija
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Memorija• Special Function Registers (SFR)
– deo RAM-a– njihova svrha predefinisana i ne može se
menjati– služe za konfigurisanje pojedinačnih kola
MCU (AD konvertora, serijske komunikacije, tajmera itd.)
– njihovi bitovi su fizički povezani sa ovim kolima
5
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
CPU• nadzire i kontroliše sve procese u
mikrokontroleru
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
CPU• podjedinice
– dekoder instrukcija• pokreće ostala kola CPU na osnovu instrukcije• svaka familija MCU ima svoj set instrukcija
– ALU• aritmetičko logička jedinica• matematičke i logičke operacije nad podacima
– akumulator• registar unutar CPU - za podatke koji su deo trenutnih
operacija ALU (“radni sto” ALU)– PSW registar
• program status word• statusni registar – informacija o stanju broja u akumulatoru
(da li je veci ili manji od nula i slično)
6
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Magistrale
• tipično 8, 16 ili više veza• adresna magistrala – prenosi adresu od
CPU do memorije• magistrala podataka – povezuje sva kola
unutar MCU
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Programski brojač
• kolo koje pokazuje na trenutnu adresu programa i pokreće izvršenje programa
• nakon izvršenja instrukcije programa, poveća se za 1
• mogući su programom zadati skokovi na proizvoljnu adresu
7
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Prekidi (interrupts)
• mikrokontroler treba da reaguje na promene u okruženju
• da procesor ne bi stalno proveravao stanje u okruženju posebna kola to rade i šalju informaciju procesoru o bitnom događaju
• signal koji nosi ovu informaciju jeste INTERRUPT (prekid)
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
IO portovi
8
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
IO portovi
• registri povezani sa pinovima mikrokontrolera
• kontrolišu ih SFR registri• mogu se konfigurisati kao ulaz ili kao izlaz
(npr. 3 pina “pale” LED-ovke, a 5 pinova nadziru senzore)
• postoji max struja koju mogu dati (na nivou pina i na nivou MCU)
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Serijska komunikacija• Paralelna komunikacija preko IO portova i velikog broja
veza dobro rešenje za male daljine• Za veće daljine i veći broj veza - serijska komunikacija• Postoje razni protokoli serijske komunikacije• Baud rate (baud ~ simbol ili impuls)
– brzina komunikacije – bps (biti u sekundi)
9
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Serijska komunikacija – I2C protokol
• Inter Integrated Circuit• kraća rastojanja – nekoliko metara• 2 veze
– podaci– sinhronizacija (clock)
• jedan master uređaj obavezan• 112 slave uređaja (max)• brzina 10-100 kbps (novija kola – 3.4Mbps)
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Serijska komunikacija – SPI protokol
• Serial Peripheral Interface• 3-4 veze (prijem, slanje, sinhronizacija i ponekad
selekcija uređaja za komunikaciju)• full duplex komunikacija – simultano slanje i
primanje• brzina veća od I2C
10
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Serijska komunikacija – UART protokol
• Universal Asynchronous Receiver/Transmitter • asinhrona – nema posebne veze za clock signal
– bitno u nekim situacijama (npr. za radio vezu ili daljinsku kontrolu preko infracrvenih talasa)
• jedna linija za komunikaciju• prijemnik i transmiter rade na istoj predefinisanoj brzini i
tako se reguliše sinhronizacija• Baud rate – ne veća od 1Mbps
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Oscilator• omogućuje harmoničan,
sinhronizovan rad svih kola MCU
• Kvarc ili keramički rezonatori – frekvencija stabilna
• RC oscilator – frekvencija nestabilna
• jedna instrukcija se izvršava u većem broju perioda oscilatora (npr. frekvencija je 20 MHz a jedna instrukcija se izvršava 50-800 ns zavisno od tipa MCU)
11
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Tajmer• minijaturna štoperica• broji impulse oscilatora (1/4 najčešće zbog 4
faze u jednoj instrukciji)• tako meri vreme između 2 događaja
– tajmerski registri – SFR registri koji se inkrementiraju sa svakim impulsom
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Tajmer i prescaler• elektronsko kolo koje deli takt na ulazu u
tajmerski registar
12
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Tajmer i dodatni registar• prekoračenje (overflow) tajmera može da da
interrupt• tajmerski registar se restartuje a dodatni registar
inkrementira
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Brojač
• ista tajmerska kola ali sa drugom namenom
• usmerena na brojanje impulsa ulaznog pina
• ne mere vreme nego broje vanjske događaje (npr. broj rotacija, putnike, proizvode na liniji za sklapanje,...)
13
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Watchdog tajmer
rešenje za “zaglavljivanje” programa– kada odbroji maksimum, w.tajmer inicira reset
MCU i ponovno izvršenje programa• ovo se sprečava instrukcijama za čišćenje w.
tajmer registra• međutim, kada se desi zaglavljivanje - w. tajmer
registar se stalno inkrementira i kada dođe do maksimuma – inicira reset MCU
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Watchdog tajmer
14
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Napajanje• Brown out
– potencijalno opasno stanje– kontrolno kolo ga detektuje i vrši reset
mikrokontrolera• Reset pin
– Master Clear Reset (MCLR) – Služi za eksterni reset
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
AD konvertor• referentni napon iz mikrokontrolera ili
spolja
15
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Interna arhitektura
• von-Neumann ili Harvard• razlika u izmeni podataka CPU i memorije
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
von-Neumann arhitektura
• 1 memorijski blok• 8 bitna magistrala podataka• ili čitanje instrukcija ili čitanje/upis
podataka – nikad istovremeno• sporo i neefikasno
16
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Harvard arhitektura• 2 odvojene magistrale• istovremeno čitanje instrukcija i čitanje/upis
podataka • omogućuje 2 instrukcije istovremeno
– prethodna instrukcija završava sa rw podataka; – nova instrukcija se učitava u CPU
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Set instrukcija
RISC (Reduced Instruction Set Computer)– samo osnovne operacija (sabiranje, oduzimanje,
kopiranje,...)– složenije operacije se prave kombinacijom osnovnih– lakše za učenje ali veći i sporiji programi
CISC (Complex Instruction Set Computer)– implementirane i složenije operacije– manji i brži programi ali teži za učenje
17
FTN - EET - Smer INSTRUMENTACIJA I MERENJA
Pitanja1. Objasniti ROM, RAM i EEPROM memorije MCU2. Registri posebne namene (SFR) - svrha i karakteristike.3. Opisati strukturu CPU.4. Vrste magistrala u MCU.5. Programski brojač.6. Objasniti ulogu prekida (interrupts).7. IO portovi.8. Uloga i karakteristike serijske komunikacije kod MCU.9. I2C protokol serijske komunikacije.10. SPIprotokol serijske komunikacije.11. UART protokol serijske komunikacije.12. Uloga i vrste oscilatora.13. Uloga i funkcionisanje tajmera.14. Tajmer i prescaler.15. Tajmer i dodatni registar.16. Brojač MCU.17. Watchdog tajmer.18. Brown-out i reset pin19. Von-Neumann i Harvard arhitektura.20. RISC i CISC set instrukcija.