Professional Documents
Culture Documents
MIKROKONTROLERI I PROGRAMIRANJE
Studijski program: UPRAVLJANJE SISTEMIMA
IV semestar 2+2+1 6 bodova
Cilj predmeta:
DATI ZNANJA IZ OBLASTI MIKROKONTROLERA KAKO BI STUDENT PO USPENO POHAANOM KURSU MOGAO DA PRIMENJUJE MIKROKONTROLERE
Stei osnovna znanja o mikrokontrolerima i detaljnija kroz prouavanje konkretnog savremenog mikrokontrolera iz familija PIC mikrokontrolera firme MICROCHIP Ovladati alatima za razvoj aplikacije - ugraenog (embedded) sistema na bazi PIC mikrokontrolera Stei poetna iskustva u primeni mikrokontrolera kroz konkretne primere primene mikrokontrolera u oblasti automatike - upravljanja sistemima
TA RADI MIKROKONTROLER ?
1. PRIKUPLJA INFORMACIJE SA ULAZA; 2. OBRAUJE IH U DIGITALNOM DOMENU PO ODREENOM ALGORITMU; 3. GENERIE INFORMACIJE NA IZLAZIMA I/ILI KOMUNICIRA SA MIKRORAUNAROM U OKRUENJU Komunikaciona veza (izlazne informacije) (ulazne informacije)
MIKROKONTROLER
(ELEKTRONSKI SISTEM)
Okruenje - proces
Izlazi
Ulazi
Analogni signali
( Umin Umax ; fmin fmax )
U t TP Vsr TI t U
Impulsni signali
Digitalni signali
Realno svi signali su kontinualni
"1" "0" t
Uout VO1
Uin
INVERTOR
Uout
ZBOG STRUJE NAPAJANJA CMOS LOGIKOG KOLA U PRELAZNOM REIMU I ULAZI KOJI SE NE KORISTE MORAJU BITI U DEFINISANOM STANJU: VO0 STANJU LOGIKE "0" (Pull-down otpornikom) V0max V1min Uin
ILI
STANJU LOGIKE "1" (Pull-up otpornikom) +VDD
Uin
INVERTOR
Uout
Uul
GND
Uin
V1m
in
Uout
INVERTOR
Uout VO1
t
V0m
ax
Uou t
VI1
min
VI0
max
VO0
t
V0max
V1min
Uin
Uout
Uin
MIT DRAJVER
Uout
Uout VO1
Uout VO1
VO0
VTL
VTH
Uin
VO0
VTL
VTH
Uin
Uin
INVERTOR
Uout
VTH
VTL
t Uout
VITH
VITL
N TIP
X X MOS FET Y 0 1 OFF ON HZ 0 Z Y Y&Z
P TIP
+VPP
TA JE TO MIKROKONTROLER ?
MIKROPROCESOR
CPU - Central Processor Unit (izvrava instrukcije) Da bi se ostvario neki sistem neophodna su dodatna integrisana kola (memorije, bas drajveri, ...) ini ga P (CPU), operativna memorija, spoljanje memorije, ureaji za interakciju sa korisnikom, komunikacioni kontroleri, ... PC - OS opte namene; RT OS Sadri u ipu P (CPU) + ROM + RAM + I/O portove + Tajmere + Komunikacioni kontroler + ... Dovoljan da se realizuje ugraen R sistem (za odreenu aplikaciju)
MIKRORAUNAR
MIKRORAUNAR U IPU
Procesor
OBRAUJE INFORMACIJE U DIGITALNOM OBLIKU Sekvencijalno izvrava niz instrukcija koji ini program Instrukcije se mogu podeliti na: Aritmetiko-logike instrukcije; Instrukcije manipulisanja podacima; Instrukcije bezuslovnog i uslovnog granjanja programa; Specijalne instrukcije.
RR
ALU
RESU C, Z ...
Registri
Write Clr(Reset) OE(Read)
n bit elija
IZVRAVANJE INSTRUKCIJE
BUS
BUS drajver PROGRAMSKI BROJA Instr i-1 Instr i Instr i+1 Instr i+2 Instr i+3 Programske memorijske lokacije INSTRUKCIONI R
Prema PC-u Prema ALU
UPRAVLJAKA JEDINICA
OSCILATOR
RESET INT ZAHTEV
FAZE IZVRAVANJA INSTRUKCIJE 1. Pribavljanje instrukcije - kda instrukcije (upis u IR sadraja prog.mem.lok. selektovane sadrajem programskog brojaa) 2. Izvravanje instrukcije (prethodno se ako je potrebno pribavi operand-i)
1. Stanje programskog brojaa (ukazuje na lokaciju programske memorije glavnog programa u kojoj je instrukcija koja se treba sledea izvriti) smeta u magacinsku memoriju (stack); 2. U programski broja upisuje start adresu programske memorije u kojoj prekidni program (program koji obrauje prekid) Izvrenjem poslednje instrukcije u prekidnom programu povratak iz prekidnog programa (Return_Interrupt) upravljaka jedinica:
Vreme t
1. ita magacinsku memoriju (stek) u kojoj je adresa lokacije programske memorije gde se nastavlja izvravanje glavnog programa i upisuje u programski broja;
TIPOVI MIKROKONTROLERA
8 bit 16 bit 32 bit (sa memorijskim prostorom veliine od Kilo do nekoliko Mega lokacija i brojnim periferijama digitalni U/I, analogni U/I, tajmeri/brojai komunikacioni kontroleri, . . .) Digital Signal Processors (DSP) za digitalnu obradu signala
A/D I D/A konvertori odgovarajue brzine i tanosti Matematiki koprocesor (Math coP)
STRUKTURA MIKROKONTROLERA
CPU
STRUKTURA MIKROKONTROLERA
A computer on a chip Microcontrollers can have: CPU (central processing unit) RAM (Random Access Memory) EPROM/PROM/ROM (Erasable Programmable Read Only Memory) I/O (input/output) - serial and parallel Timers Pulse Width Modulation A/D and D/A conversion
Za realizaciju programske memorije koristi se: PROM (Programmable Read Only Memory) - Programirljiva memorija sa konstantnim sadrajem; Memorija koja se od strane P-a samo ita. EPROM (Erasable Programmable ROM) - Programirljiva memorija sa konstantnim sadrajem koji se moe izbrisati UV EPROM (Ultra Violet EPROM) EEPROM (Electrical EPROM) OTP (One Time Programmable) - memorije koje se samo jednom programiraju FLASH - memorije kod kojih se elektr. impulsom odjednom briu sve lokacije
PIC mikrokontroleri
Familije:
PIC 12C5x PIC 16C5x PIC 16Cxxx PIC 17Cxxx PIC 18Cxxx 12 bit program word 12 bit program word 14 bit program word 16 bit program word 16 bit program word
Familije koje umesto slova C imaju slovo F imaju programsku memoriju tipa FLACH
Hardware
PICSTART Plus or equivalent programmer Project ideas
Program a bootloader into the software and then load code over the serial port Build a PIC programmer (you can easily do it with another PIC and some simple circuitry)
Integrated Development Environment A Standard Windows Menus and Toolbars provide optimum access to all IDE features including the editor, debugger, customizable tool menu and online help. B Project Window offers clear visibility and easy management of all files associated with design project. C Edit Source Debugger Window helps create programs using the languagesensitive, full-featured editor. Debug assembly or C language program with the source in full view. Useful debug features, such as breakpoint markers and program counter location, dramatically speed debugging. D Output Window conveniently displays the assembler output and listing file. E, F Register Window and Memory Window help in examining and directly modifying memory, register and Flash contents during debugging. These flexible windows are automatically updated each time program execution stops, and values that changed are highlighted.
ADC
DAC
Karakteristike konvertora: Rezolucija (broj bitova) Opseg pune skale Greke konverzije Napajanje Vreme konverzije
D/A
DEKODOVANJE REGENERISANJE
Uo
analog
Uzorkovanje ( Semplovanje )
UZORKOVANJE
( Ideal Sampling )
KVANTOVANJE
Uamax ~ ~
V 1 LSB = V 11111
V=Ups/(2n-1) Uamin
00010 00001 00000
Instructions
Processors work with instructions
Move, Add, Jump, etc.
Programs are just a series of instructions that the processor steps through
k : constant or label
Bit-oriented