Title: Damir Mihajlovic 10535
1Elektronski fakultet Ni Katedra za elektroniku
Programiranje i citanje Flash memorije Am29F010
pomocu mikrokontrolera PIC16F877
Damir Mihajlovic 10535 Perica Paunovic 10586
21. MEMORIJE
3Memorije u digitalnim sistemima predstavljaju
sklopove u koje se moe upisati i iz kojih se
moe procitati informacija. Memorija je namenjena
za prihvatanje, cuvanje (pamcenje, memorisanje) i
predaju podataka i programa. Proces unoenja
podataka u memoriju naziva se upisivanje, a
proces zahvatanja podataka iz memorije naziva se
citanje. Upisivanje i citanje informacija
nazivaju se pristup (obracanje) memoriji i
predstavljaju osnovne operacije u memorijskom
podsistemu racunarskog sistema.
4 Moguci nacin pristupa Sa aspekta pristupa
memorijskoj celiji razlikuju se memorijski moduli
sa - sekvencijalnim (serijskim) pristupom
- ciklicnim (periodicnim) pristupom -
slucajnim (proizvoljnim) pristupom -
asocijativnim pristupom Mogucnost promene
sadraja Sa aspekta mogucnosti izmene sadraja
memorijske lokacije mogucno je memorije
klasifikovati kao - promenljive memorije
(nema ogranicenja u pogledu izmene sadraja
lokacija) - polupromenljive memorije
(sadraj se ne moe menjati normalnim postupkom,
vec samo posebnim postupcima u laboratorijama)
- stalne memorije (sadraj se formira u toku
procesa proizvodnje i ni pod kojim uslovima se ne
moe menjati)
5- Adresabilnost
- Prema nacinu smetanja sadraja i pretraivanja
memorije delimo na - - adresne (tj. adresibilne, ako se pomocu
adrese moe pristupiti jednom bajtu ili jednoj
reci) - - poluadresne (ako se pomocu adrese moe
pristupiti grupi bajtova vecoj od reci, npr.
diskovi) - - bezadresne (ako se pomocu adrese ne moe
prici sadraju memorije, npr. spoljne memorije). - Propusnost
- Propusnost memorije je mera stope po kojoj
podatak moe da se prenosi sa, i na memoriju, i
obicno se izraava u megabajtima po sekundi
(MB/sec). Najveci opseg je teoretski maksimum
prenosa izmedu bilo kog uredaja i memorije. U
praksi dolazi do smanjenje najveceg opsega
ukljucivanjem raznih uredaja, a takode i zbog
'lead-off' vremena koje je potrebno da uredaj
preuzme prvi bit podatka nakon zadavanja
instrukcije
6Fizicki tip medijuma Zavisno od medijuma na
kome se informacija pamti, najcece se koriste
poluprovodnicke (najvie su u upotrebi
napravljene u LSI ili VLSI tehnologiji), memorije
sa magnetnom povrinom (diskovi, trake,...) i
memorije koje koriste opticku tehnologiju
(CD-ROM, DVD). Magnetne i opticke memorije se
uglavnom koriste za memorisanje velikog broja
digitalnih informacija. Vreme upisa i citanja
informacija u ovim memorijama je relativo
dugacko, zbog neophodnih mehanickih pomeranja
diska ili trake. Magnetne i opticke memorije
pripadaju klasi postojanih memorija (nonvolatile
memory) jer infomacija ostaje zapisana i kada se
iskljuci elektricno napajanje. Stalnost
zapisa Poluprovodnicke memorije mogu biti
staticke i dinamicke. Informacija upisana u
staticku memoriju, ostaje zapamcena sve dok je
memorija prikljucena na napon napajanja. Da bi
informacija ostala zapamcena u dinamickoj
memoriji, neophodno je periodicno obnavljati
sadraj ?osveavanje memorije?, inace se
informacija gubi. Poluprovodnicke memorije se
izraduju u bipolarnoj, zatim MOSFET tehnologiji i
kao CCD elementi
7 Podela poluprovodnickih memorija
8ROM memorije ROM (eng. Read only memory) je
memorija sa konstantnim sadrajem u koju se
posebnim postupkom upisuje eljena informacija, a
kada je sadraj upisan, memorija moe samo da se
cita. Ovo su stalne memorije opte primene, i
koriste se, na primer za generisanje binarnih
reci, konverziju brojeva, generisanje raznih
funkcija, u telefoniji za odredivanje vrste i
tipa prikljucka itd. Najvaniju namenu su nale
kao stalne memorije u racunarima. Podaci smeteni
u ROM-u su uvek tamo, bez obzira da li je
prikljuceno napajanje. Zbog toga ROM spada u
klasu postojanih memorija.
9Mask ROM memorije (memorije sa fiksnim
sadrajem) U prvoj fazi su se koristili ROM
cipovi u koje su u fabrici prilikom proi-zvodnje,
jednom zauvek upisani podaci i nije postojala
nikakva mogucnost da se oni promene. One se
proizvode slicnim tehnolokim postupkom kao i
mikroprocesori. Koriste se za programe koji se
masovno proizvode i ne menjaju se cesto. PROM
(eng. Programmabile Read Only Memory) je
programabilna ROM memorija, koju moe da
programira sam korisnik prema svojim potrebama.
Programiranje PROM memorija se vri pomocu
specijalnog uredaja koji se zove PROM
programator. U programator se pomocu racunara
upie eljeni sadraj memorije, a zatim se
sukcesivno adresiraju sve adrese prikljucene PROM
memorije i dovede impuls, koji pregoreva
odgovarajuce osigurace. Glavni nedostatak ovih
memorija je to se jedanput upisani sadraj vie
ne moe menjati.
10EPROM memorije (eng. Erasable Programmabile Read
Only Memory) kao memorijske elemente koristi MOS
tranzistore sa izolovanim gejtom. Jednom
programirana memorija ne menja sadraj vie od 10
godina. Ako se memorija izloi dejstvu
ultraljubicaste svetlosti u vremenu oko 20
minuta, sadraj se gubi jer SiO2 postaje slabo
provodan i elektroni naputaju izolovani gejt.
Svaki cip ima mali stakleni prozor ugraden na
vrh kucita ROM memorije, i kroz njega se moe
videti unutranjost memorijskog cipa. EPROM se
moe u svako doba obrisati tako to se kroz ovaj
prozorcic osvetli unutranjost cipa u komori sa
UV svetlocu (UV PROM). Posle ovoga cip se moe
ponovo programirati.
11 EEPROM memorije (eng. Electrically Erasable
Programmabile Read Only Memory) kao memorijske
elemente takode koriste MOS tranzistore sa
izolovanim gejtom, samo to je izolacija izmedu
elektroda dosta manja. Upis sadraja u memoriju
se vri na slican nacin kao kod EPROM-a. Sadraj
se moe obrisati pod kontrolom softvera, i
upisati u bilo kom trenutku bez prethodnog
brisanja. Uobicajena upotreba EEPROM-a je kao
programska memorija u malim mikroprocesorima sa
ugradenom memorijom ili se koriste kao mali
memorijski nizovi za stalno cuvanje podataka o
konfiguracionim informacijama sistema.
12Fle memorija Fle memorija je racunarska
memorija koja moe da cuva podatke cak i kada
nije pod naponom, a moe se brisati i
reprogramirati elektronskim putem. Zasnovana je
na tehnologiji memorijskih kartica kao to su
memorijske kartice za digitalne foto aparate,
palmtop racunare, telefone, konzole za video
igrice, audio plejere itd. Za razliku od
EEPROM-a, brisana je i reprogramirana u blokovima
koji su sacinjeni od viestrukih lokacija. Fle
memorija kota mnogo manje od EEPROM-a, i ba
zbog toga, ova tehnologija memorijskih kartica je
postala dominatna na tritu od kako se pojavio
USB flash drive, koji se koristi za cuvanje i
razmenu podataka izmedu racunara. Pored
karakteristike to joj nije potrebno elektricno
napajanje za cuvanje podataka, fle memorija nudi
i brz pristup podacima. Jo jedna vrlo vana
karakteristika fle memorije je i ta to ima
bolju otpornost, na kineticke okove u odnosu na
hard diskove. Gotovo je fizicki neunitiva kada
je upakovana u neku memorijsku karticu, koju
koristi neki digitalni uredjaj.
13 Fle memorija ima karakteristiku da je
non-volatile odnosno da ne gubi podatke koji su
upisani na nju nakon to nestane napajanje, kao
to je slucaj s klasicnom radnom memorijom u
racunaru.
U zavisnosti od toga od kojih je
kola realizovana svaka memorijska celija, fle
cipovi se svrstavaju u dve osnovne kategorije NOR
i NAND.
14Fle tipa NOR nudi sporije citanje i pisanje, ali
i uredenu strukturu adrese i podataka tako da je
moguce pristupati bilo kojoj lokaciji na
memorijskom cipu, na slican nacin kao kod radne
memorije. Zbog toga je ovaj tip memorije pogodan
za skladitenje podataka koje nije potrebno cesto
osveavati, kao to je recimo BIOS ili pak
firmware u raznim elektronskim uredajima.
NOR fleevi su pogodni za primenu kod
mikroprocesorskih sistema, zbog sposobnosti za
njihovo direktno povezivenja u sistem. Pri tome,
kada rade u reimu Read-only, ove memorije
funkcioniu na slican nacin kao EPROM-ovi, koje
karakterie jednostavno oblikovani interfejs. U
iroj upotrebi kod prenosnih uredaja, pre svega
mobilnih telefona, do sada je uglavnom bila NOR
Fle memorija koja polako pocinje da gubi korak u
trci sa NAND tipom.
15NAND fle memorija Ima znatno niu cenu
proizvodnje od NOR flea, bre citanje i pisanje,
vecu gustinu pakovanja memorijskih celija i
osetno vecu izdrljivost u pogledu kolicine
maksimalnog broja pristupa memoriji odnosno
maksimalnog broja pisanja/brisanja memorije NAND
fleevi se standardno koriste u potroackoj
elektronici kao memorijske kartice, kakav je
slucaj sa digitalnim fotoaparatima. NAND fleevi,
kao komponente su takode dostupne kao diskretne
komponente za stalno memorisanje velike kolicine
podataka kod digitalnih sistema.
16U skorijoj buducnosti predvida se postepeni
prelazak sa klasicnih hard-diskova na nove,
ultrabrze fle diskove koji ce se u pocetku
sretati u modelima prenosnih racunara, kao i u
uredajima koji zahtevaju manje kolicine memorije
poput digitalnih video-kamera.
17USB FLASH DRIVE USB flash drive je mobilan i
mocan memorijski uredaj i ima velike prednosti u
odnosu na ostale prenosive memorijske uredaje.
Kompaktniji je, generalno bri, moe da nosi
veliku kolicinu podataka, i veoma je pouzdan
(fizicki pre svega). Danas, maksimalan kapacitet
USB flash drive-a je zvanicno 64GB, a pre samo
nekoliko godina kapacitet od 1GB se smatrao
luksuzom Svaki USB flash drive se
sastoji od nekoliko osnovnih elemenata. To su u
prvom redu NAND fle memorijski cip i USB
kontroler koji racunaru ili nekom drugom uredaju
omogucava pristup fle memoriji. Ostatak cine
generator takta, dodatni kontakti za
programiranje i testiranje uredaja pri
proizvodnji, led dioda za indikaciju rada i na
kraju sama tampana plocica na koju su sve ove
komponente integrisane. Na tampanoj plocici je i
fizicki USB konektor kojim se uredaj prikljucuje
na racunar
18 RAM (eng. Random Access Memory ) je memorija sa
slucajnim pristupom. To znaci da je vreme
potrebno za citanje ili upis sadraja nezavisno
od adrese na kojoj se citanje ili upis obavlja.
Informacija upisana u poluprovodnickim RAM
memorijama se gubi cim se iskljuci napajanje pa
pripada klasi nepostojanih memorija i slui za
privremeno memorisanje podataka za vreme rada
racunara. Ova memorija je neizbean deo svakog
racunarskog sistema (operativna memorija). Brzina
i velicina ove memorije, znatno utice na
performanse racunarskog sistema, tako da
proizvodaci memorijskih cipova stalno usavravaju
dizajn cilj je najveca moguca brzina pristupa po
najmanjoj ceni. Kapacitet memorije se krece od
nekoliko Kb za male mikroracunare do vie GB za
velike racunarske sisteme. RAM memorije se
proizvode kako sa statickim, tako i sa dinamickim
memorijskim celijama, pa se obicno dele na
staticke i dinamicke RAM memorije.
19Staticka RAM memorija SRAM Staticke memorije
su manjeg kapaciteta po cipu, a koriste se u
sistemima gde se zahteva veca brzina pristupa
memoriji i manja potronja struje iz izvora za
napajanje. Takode je verovatnoca greke kod
statickih memorija manja nego kod dinamickih,
tako da se koriste u sistemima gde se zahteva
visoka pouzdanost. Izmedu glavne radne memorije
koja je realizovana kao dinamicki RAM i
mikroprocesora se postavlja manja kolicina znatno
bre staticke RAM memorije. Ova memorija se
naziva ke memorijom i njenim radom upravlja
poseban ke kontroler. Prvi nivo, takozvani L1
nivo je relativno mali i on se nalazi u okviru
samog jezgra mikroprocesora. On obicno ima dva
odvojena dela. U jednom se smetaju instrukcije
koje bi procesor trebao da izvri, a u drugom
podaci koje bi trebao da obradi. Obicno radi na
istom taktu kao i sam procesor. Drugi nivo ke
memorije (L2 nivo) ima znatno vecu kolicinu
memorije, smeten je u ulazno-izlaznom delu
mikroprocesora, i zavisno od konstrukcije samog
mikroprocesora moe da radi i sa manjom
ucestanosti takta (obicno polovina ucestanosti
takta procesora).
20DRAM memorija Da bi se realizovala memorija sa
vecom gustinom pakovanja, konstruisana je
memorija sa samo jednim tranzistorom i jednim
kon-denzatorom po memorijskoj celiji. Ovakva
memorija bazira pamcenje in-formacije na
elektricnom punjenju kondenzatora. Zbog
eksponencijalnog pranjenja kondenzatora sadraj
ove memorije potrebno je povremeno osveavati da
se informacija ne bi izgubila. Dinamicki RAM
cini veci deo operativne memorije jer mu to
omogu-cava niska cena i velika gustina pakovanja.
Ima vie vrsta DRAM memorija. Danas su na
tritu najzastupljenija dva tipa DRAM memorije
SDRAM (Synchronous DRAM) i DDR (Double Data Rate
SDRAM).
21SDRAM i DDR RAM SDRAM dozvoljava efikasniju
komunikaciju sa procesorom i povecava brzinu rada
na 133 MHz, u odnosu na prethodne verzije DRAM-a
(EDO RAM, BEDO RAM), medutim ova memorija
jednostavno nemoe da radi stabilno na brzinama
vecim od 140 MHz. Zbog toga je razvijena nova
memorijska arhitektura koja koricenjem obicne
SDRAM tehnologije moe da radi na taktovima do
cak 266 MHz - DDR SDRAM memorija (DDR- Double
Data Rate). Principska razlika izmedu obicnih i
DDR modula je u tome, to obicni moduli obavljaju
jednu operaciju tokom jednog takt impulsa. DDR
moduli tokom jednog takt impulsa obave dve
operacije, poto koriste obe ivice takt impulsa
(i uzlaznu i silaznu), to teoretski omogucuje
dvostruko bri rad.
22- RDRAM (Rambus dynamic random access memory)
- Osnovne osobine Direct Rambus memorije su
iroke interne magistrale pojedinih cipova u
modulu (128 i 64-bitne), uska irina magistrale
koja povezuje module i memorijski kontroler na
maticnoj ploci, a samim tim i obilna upotreba
multipleksiranja koja proizlazi iz toga. - Prednosti ovog tipa memorije su
- - Velika brzina prenosa podataka iz memorijskih
modula prema ostatku racunara (Rambus channel na
400MHz, 1.6GB/s, teoretski manja latencija
pristupa) - - Smanjen broj potrebnih linija za pristup
memoriji (jedna magistrala od 165324 linije
koja obilazi sve module) uteda na
kompleksnosti magistrala - - Razdvojene linije za adrese kolone i reda
- - Paketni pristup prenosu adresa, naredbi i
podataka, unificirana velicina i trajanje paketa - Cevovodni (pipeline) rad
- Stroge i standardizovane specifikacije, veliki
kvalitet izradenih komponenti
23SLDRAM (Synchronous-Link DRAM) SLDRAM je
evolutivni dizajn koji izuzetno povecava
peformanse memorijskog podsistema u odnosu na
SDRAM, i to bez koricenja potpuno nove
arhitekture kao u slucaju RDRAM-a. Iako SLDRAM
trenutno moe da radi na (samo) 200 MHz, on radi
sa manjim kanjenjem od RDRAM-a i koristi
kompletnu 64-bitnu magistralu (RDRAM koristi
16-bitnu magistralu). Takode, SLDRAM moe da
koristi istu tehniku za dupliranje takta kao kod
DDR SDRAM-a, to mu omogucava performanse
ekvivalentne radu na 400 MHz
24Memorije buducnosti MRAM ili OUM MRAM
(Magnetne RAM memorije) temelje se na IBMovom
pronalasku magnetnog tunel efekta.Njegovom
upotrebom bi se smanjila potronja energije jer
se vie ne bi osveavali podaci u dinamickim
memorijama. Uz to npr. racunar bi se mogao
dovesti iz stanja mirovanja (iskljuceno) u radno
stanje za nekoliko sekundi itd. MRAM bi mogao u
buducnosti zameniti registre, ke memoriju i
glavnu memoriju. Ukoliko dva magneta odvojimo
vrlo tankim izolirajucim slojem, tunelska struja
kroz izolator ce se menjati zavisno o toga da li
su magneti polarizovani jedan prema drugom u
istom ili u obrnutom smeru. Ta razlika u velicini
tunelske struje se opisuje kao "0" ili "1"
informacija. OUM (eng. Ovonic unified memory),
je tehnologija kompanije Ovonyx koja proizvodi
iste materijale koji se koriste kod optickih disk
memorija (CD, DVD) ali menja amorfno u kristalno
stanje elektricki a ne laserom. Ova tehnologija
ima prema dananjim saznanjima cak i vece anse
da postane opte prihvacena memorija sutranjice
nego magnetske memorije (MRAM).
252. Fle Memorija Am29F010
26Osnovne karakteristike ?
Napajanje 5.0V10 (pojednostavljuje zahteve
sistema u koji se ugraduje jer je za citanje,
brisanje i programske operacije potreban isti
naponski nivo) ? Cip je izraden u 0.32µm
tehnologiji (kompatibilan sa Am29F010 i Am29F010
cipovima) ? Visoke performanse uz maksimalno
vreme odziva cipa od 45 ns ? Niska potronja
- tipicna aktivna struja citanja je 12 mA
- tipicna struja upisa/brisanja je 30 mA -
tipicna struja u STAND BY modu je manja od 1 mA ?
Kompatibilnost sa JEDEC standardima ?
Fleksibilana arhitektura sektora - osam
esnaestokilobajtnih sektora - svaka
kombinacija sektora se moe izbrisati -
podrka za celokupno brisanje cipa ? Zatita
sektora - karakteristika hardvera koja
omogucava/onemogucava upis i citanje za bilo
koju kombinaciju sektora - ova zatita se
moe implementirati koricenjem standardne opreme
za programiranje PROM memorije
27? EMBEDDED algoritmi - EMBEDDED algoritmi
za brisanje automatski reprogramiraju i briu cip
za bilo koju kombinaciju oznacenih sektora
- EMBEDDED algoritmi za upisivanje automatski
upisuju i verifikuje podatke na oznacenoj
adresi. ? Brisanje obustava/nastavak -
podrava citanje podataka iz sektora koji nije
izbrisan ? Minimum milion ciklusa brisanja po
sektoru je garantovano ? Dvadesetogodinje
cuvanje podataka na 125ºC - pouzdanost za
ceo ivotni vek sistema ? Tip kucita -
32-pin PLCC - 32-pin TSOP - 32-pin PDIP
? Data pozivni i prekidacki biti -
priprema softveskog metoda za detektovanje
zavretka programa ili ciklusa brisanja ?
Temperaturni opseg rada - Komercijalni
uredaji 0C do
70C - Industrijski uredaji
40C do 85C - Uredaji
specijalne namene 55C do 125C
28Blok ema Am29F010B
29Kucite memorijskog cipa Am29F010B
30Komandna sekvenca za upisivanje
Komandna sekvenca za brisanje sektora/cele
memorije
313. Mirokontroler PIC16F877
32 Mikrokontroler (microcontroller) je elektronski
uredaj koji, slicno kao i racunar, ima zadatak da
zameni coveka u kontroli dela proizvodnog procesa
ili gotovo celog proizvodnog procesa. To je
uredaj opte namene, koji pribavlja podatke,
obavlja ogranicenu obradu nad tim podacima, i
upravlja svojim okruzenjem na osnovu rezultata
izracunavanja. Mikrokontroleri su uglavnom
dizajnirani za specificne zadatke, vrlo raznolike
od slucaja do slucaja. Primera ima mnogo, od
jednostavne regulacije osvetljenja, alarmnih
sistema, pa do upravljanja robotima u
industrijskim pogonima. Svi mikrokontroleri
imaju usadenu memoriju na cipu kao i veci broj
ulazno-izlaznih interfejs linija. Mikrokontroleri
poseduju A/D i D/A konvertore, impulsno-irinski
modulisane (PWM) generatore, sofi-sticirani
sistem prekida, veci broj serijskih i paralelnih
ulazno-izlaznih portova, fleksibilni sistem
tajmer-brojac dogadaja, LCD drajvere, i dr. Ova
njegova kompaktnost se moe iskazati
konstatacijom Racunar na jednom cipu.
33Opis mikrokontrolera PIC16F877 Â Firma Microchip
je tritu ponudila mikrokontroler PIC16F877 pre
oko deset godina. Ovaj mikrokontroler takode
predstavlja integraciju mikroprocesora (CPU),
memorije i periferija. On je izraden u CMOS
tehnologiji sa ugradenom FLASH i EEPROM
memorijama, za cuvanje programa i podataka.
PIC16F877 ima tipicnu RISC arhtekturu
(ka-rakterie manjim skupom instrukcija koje se
bre izvravaju u odnosu na CISC arhitekturu).
34Karakteristike mikrokontrolera  ? RISC CPU
visokih performansi ? 35 instrukcija obima jedne
reci ? Radna frekvencija do 20 MHz ? Sve
instrukcije su jednocikluske, sem instrukcija
grananja koje su dvocikluske ? Trajanje
taktnog intervala 200 ns (pri frekvenciji 20
MHz) ? Opkôd je obima 14 bita ? Hardverski
magacin (stack) ima osam nivoa ? Postoje tri
nacina adresiranja (direktno, indirektno i
relativno) ? Programska flash memorija je
kapaciteta 8 k X 14-bitnih reci ? Memorije za
podatke (RAM) je kapaciteta 368 X 8 bita ?
Memorije za podatke (EEPROM) je kapaciteta 256 X
8 bita ? Prekidi (maksimalno 14 izvora
prekida) ? est ulazno-izlaznih portova (A, B,
C, D i E) ? Tri tajmera - Timer0 (TMR0)
osmobitni tajmer/brojac_dogadaja - Timer1
(TMR1) esnaestobitni tajmer/brojac_dogadaja
- Timer2 (TMR2) osmobitni tajmer/brojac_dogadaja
35? Serijska komunikacija MSSP, USART ?
Paralelna 8-bitna komunikacija PSP ? ICSP (In
Circuit Serial Programing) preko samo dva
izvoda ? Analogni komparatorski modul sa
programabilnim referentnim naponima ? 8-kanalni
10-bitni ADC (Analog-to-Digital Converter,
analogno/digitalni konvertor) ? Power-on Reset
reset pri ukljucenju napajanja (POR) ? Power-up
timer unoenje kanjenja nakon ukljucenja
napajanja (PWRT)
36? Oscillator Start-up Timer - unoenje
kanjenja neposredno po stabili-zovanju radne
frekvencije oscilatora (OST) ? Sleep mode -
reim rada sa veoma malim utrokom energije ?
Watchdog tajmer sa sopstvenim integrisanim RC
oscilatorom za nezavisni rad ? Izbor tipa
oscilatora (RC, XT, HS, LP) ? 100000 ciklusa
Write/Erase programske memorije ? 1000000
ciklusa Write/Erase memorije za podatke EEPROM ?
Trajanje podataka u EEPROM due od 40 godina ?
Radni napon moe da bude u opsegu od 2V do 5.5V ?
Mala potronja energije - lt0.6 mA pri
naponu od 3V i radnoj frekvenciji od 4 MHz -
20µA pri naponu od 3V i radnom taktu od 32kHz
- lt1µA u standby reimu rada.
37? Napajanje od 5V se dovodi na pinove VDD (11 i
32) a masa na pinove VSS (12 i 31) ? Nozice OSC1
i OSC2 (pinovi 13 i 14) sluze za priklucivanje
oscilatorskih komponeti (RC-kolo ili kvarc) ? Pin
1 (MCLR/VPP) ima dvostruku ulogu. Standardno se
koristi kao Reset, a u procesu programiranja kao
pin za dovodjenje visokog napona (13V) ? Ostalih
33 pina prestavljaju U/I linije. One su grupisane
u pet portova (PORTA-PORTE) i svaki od njih
mozemo konfigurisati kao ulazni ili izlazni.).
38Samu strukturu mikrokontrolera PIC16F877 cini
nekoliko celina  ? Aritmeticko-logicka
jedinica (ALU) ? Akumulator (Working Register) ?
Hardverski magacin (Stack) organizivan u 8
nivoa ? EEPROM memorija podataka obima 256
bajtova ? Flash programska memorija 8 kiloreci
obima 14 bita ? RAM (File Registers) 368
bajtova ? Viekanalni A/D konvertor, ? USART,
? SPI interfejs, ? I2C interfejs, ? est U/I
portova, ? tajmere itd.
39Arhitektura mikrokontrolera PIC16F877
40Portovi mikrokontrolera  Mikrokontroler
PIC16F877 poseduje pet portova (PORT_A, PORT_B,
PORT_C, PORT_D i PORT_E) i svi oni predstavljaju
vezu njegove interne strukture sa spoljanjim
svetom. Svaki od ovih portova moe da se
konfigurie kao ulazni ili kao izlazni. Ovi
portovi su razlicitog obima  - 6-pinski
(PORT_A) - 8-pinski (PORT_B, PORT_C, PORT_D) -
3-pinski (PORT_E).
41 Port A je 6-bitni (RA5-RA0) bidirekcioni port
(podaci mogu da se alju u oba smera). Sadraj
registra TRISA odreduje smer (ulazni ili izlazni)
pinova na portu. Port_A se prvenstveno koristi za
analogno-digitalne konverzije. A/D konvertor,
koji je integrisan u mikrokontroleru, je 10-bitni
sa 8 ulaznih kanala, jer se u ove svrhe koriste i
svi pinovi Porta E (i pinovi Porta A, osim RA4).
Pin RA4 na portu A
Pinovi RA0 do RA3 i pin RA5
42 Port B je 8-bitni bidirekcioni port. Svakom pinu
porta korespondira odgovarajuci bit u registru
TRISB, kojim se definie smer. Svi pinovi unutar
Porta B poseduju pull-up otpornike. Ovi
otpornici mogu da se ukljuce jednim kontrolnim
bitom. Cetiri pina na Portu B (RB7-RB4) imaju
mogucnost generisanja prekida. Samo pinovi koji
su definisani kao ulazni mogu da prouzrokuju
prekid.
Pinovi od RB0 do RB3 Pinovi
RB7-RB4 na portu B
43 Port C je 8-bitni bidirekcioni port. Ovaj port
ima ugraden USART modul, koji slui za serijsku
komunikaciju (na primer sa racunarom ili drugim
mikro-kontrolerom). Modulu se pristupa preko
pinova RC7 i RC6. Pinove treba softverski
konfigurisati da budu u funkciji USART modula.
Struktura pinova od RC0
Struktura pinova od RC3 i RC4 do RC2
i od RC5 do RC7
44 Port D je 8-bitni bidirekcioni port. Ovaj port
moe da se konfigurie kao 8-bitni paralelni
mikro-procesorski port (parallel slave port-PSP)
i to podeavanjem konfiguracionog bita PSPMOTE
(TRISClt4gt). U ovom reimu rada ulazni bafer je
TTL tipa.
Struktura porta D
45 Port E je bidirekcioni port velicine 3 bita. Ima
mogucnost A/D konverzije. Ulazni bafer je tipa
Schmitt Trigger. Pinovi mogu da se konfiguriu
kao digitalni ili analogni, kao i u slucaju Porta
A, o cemu je vec bilo reci.
Struktura porta E
46 Dijagram programiranja mikrokontrolera PIC16F877
474.IC-Prog
48 Za programiranje mikrokontrolera PIC16F877 moe
da se koristi softver IC-Prog. Inace, ovaj
softver je kompatibilan sa mnogim bootstrap
loader-ima, kao to su JDM Programmer, TAFE
Programmer, TAIT Programmer, Conquest Programmer,
ProPIC 2 Programmer itd. ICProg poseduje
mogucnost citanja, upisa i verifikacije (Read,
Write, Verify) sadraja mikrokontrolera. Naravno,
softver dozvoljava mogucnost podeavanja
parametara (WDT, PWRT, BODEN, LVP, CPD, CO,
Debugger), kao i izbor oscilatora (RC, LP, XT,
HS).
49Korak 1 Instaliranje drajvera Ulaskom u
podmeni Misc, koji se nalazi u meniju Options,
ostvaruje se instaliranje/ukljucivanje drajvera
icprog.sys (Settings ? Options ? Misc v Enable
2000/NT/XP), to je ilustrovano na Slici 69. Na
taj nacin omogucava se pristup serijskom portu
racunara.
50 Korak 2 Podeavanje hardverskih
parametara Nakon to je instaliran/ukljucen
drajver, program ce se restartovati i ponudice
opciju podeavanja hardverskih parametara, koji
treba da budu postavljeni kao na Slici70. IC-Prog
ima slicnu konfiguraciju kao JDM Programmer,
signali su bez inverzije dok se komunikacija
obavlja preko, na primer, serijskog porta COM2.
Ako racunar ima samo jedan serijski port,
podrazumeva se da je to COM1.
Korak 3 Izbor mikrokontrolera i ucitavanje kôda
u bafer programa Najpre treba izabrati
mikrokontroler PIC16F877 (obeleeni padajuci meni
u gornjem desnom uglu osnovnog prozora programa),
a potom ucitati heksadecimalni kôd klikom na
opciju Open File iz menija File - to je
ilustrovano na Slikama 71-73
51Upisivanje/ucitavanje kôda u bafer programa
52Korak 4 Programiranje mikrokontrolera Ulaskom u
meni Command i startovanjem opcije Program All
(Slika 73). Zapravo, proces programiranja
podrazumeva da se sadraj bafera programa upie
u flash memoriju naeg mikrokontrolera. Naravno
program ce postaviti pitanje, tj. mogucnost da se
izabere da li da otpocne proces programiranja ili
da se od njega odustane. Ukoliko se izabere
programiranje, program ce obrisati prethodni
sadraj flash memorije mikrokon-trolera i u nju
prepisati sadraj bafera programa.
53 Proces programiranja, a zatim i verifikacije
Poruka nakon uspenog programiranja
545. Realizacija projekta
55Ovaj seminarski rad prikazuje komunikaciju izmedu
PC racunara, mikrokontrolera PIC16F877 i flash
memorije Am29F010B. Komunikacija se ostvaruje
izmedu USART modula jedan je integrisan u
serijskom portu racunara, dok je drugi sastavni
deo mikrokontrolera. Pracenje toka komunikacije
vri se preko UART terminala, koji cini
integralni deo softvera mikroC.
56Na blok emi prikazan je interfejs
PC?PIC16F877?AM29F010B. Izmedu mikro-kontolera i
serijskog porta racunara nalazi se kolo MAX232,
kojim se prilagodavaju naponski nivoi
(TTL-RS232C). Flash memorija, mikrokontroler i
kolo za prilagodenje se napajaju preko
standardnog linearnog regulatora napona L7805
(Vout 5V0,1V, Imax 500mA). Napon na ulazu
ovog regulatora napona treba da bude u opsegu
7-12V. Kako bi se sprecilo povezivanje napona
pogrenog polariteta, na ulaz (ispred regulatora
napona) je postavljena otkijeva dioda
BAT43. Takt mikrokontrolera iznosi
4MHz. Programiranje flash memorije AM29F010B vri
mikrokontroler koji selektuje njene nie adrese
(A7-A0) i alje podatke. Naime, iz programa USART
terminal se alju adrese memorijskih lokacija i
podaci koji se upisuju (u te lokacije). Citanje
sadraja flash memorije vri, takode,
mikrokontroler koji selektuje njene nie adrese
(A7-A0) i prima podatke. Ovoga puta iz programa
USART terminal se alju adrese memorijskih
lokacija, a kao povratna informacija se dobijaju
podaci koji se nalaze na tim lokacijama.
57Crvena i zelena LED (D2 i D3) slue kao
indikacija koji je firmware (ugradeni softver)
upisan u kontroler, tj. da li je mikro-kontroler
spreman da prihvati adresu ili podatak (za flash
memoriju). Obe LED su low-power, tj. imaju malu
potronju. Prekidacima (SW DIP2) imaju uloga
definisanja citanja, odno-sno upisa. Tasterom SW3
se upucuje komanda mikrokontroleru da, na osnovu
adrese memorijske lokacije koju je dobio od USART
Terminala, procita njen sadraj. Tasterom SW2 se
brie sadraj flash memorije, a namena tastera
SW1 je resetovanje mikrokontrolera. Vie
memorijske adrese flash memorije (A16-A8) su u
naem slucaju postavljene na logicku 0.
58Interfejs PC?PIC16F877?AM29F010B
59Raspored elektronskih i elektromehanickih
elemenata na plocici (PCB)
60Realizovani uredaj
616. Laboratorijska veba
62Prvo treba povezati plocicu sa racunarom preko
serijskog pin-to-pin kabla. Dovesti kolu
napajanje preko adaptera. Kako se linearni
regulator napona ne bi grejao, podesiti izlazni
napon da bude 7.5 ili 9V nestabilisano.
Pokrenuti USART terminal iz programa mikroC i
podesiti njegove parametre USART terminala
izabrati COM port, brzinu 2400 Bauda, 1 stop-bit
(One Stop Bit) prilikom slanja, Space bit
parnosti (Parity), osam bitova treba da cini
karakter (Data bits), iskljucen RTS (Off),
ukljucena opcija Send as Number. Podesite da
prenos mikrokontroler?PC bude HEX
(heksadecimalni) ili DEC, ako vam je lake za
pracenje. Naglaavamo da se tasterom SW1
resetuje mikrokokontroler, tasterom SW2 se brie
sadraj flash memorije, dok se tasterom SW3 alje
podatak iz flash memorije za aktuelnu adresu
(koja je poslata od strane USART Terminala).
63Da bi se podaci upisivali u flash memoriju,
DIPSW-2 prekidaci treba da budu ukljuceni (u ON
poloaju, odnosno da stanje na odgovarajucim
pinovima mikrokontrolera bude 00). Prvo se alje
proizvoljan broj iz USART Terminala, to ce
izazvati ukljucivanje crvene LED. To znaci da je
mikrokontroler spreman da primi adresu memorijske
lokacije na koju treba da unese podatak. Po
slanju adrese, gasi se crvena LED, a ukljucuje
zelena LED. Ovo znaci da je mikrokontroler
spreman da prihvati podatak. Po prijemu istog,
mikrokontroler ga upisuje u flash memoriju. Zatim
se ponovo ukljucuje crvena LED i ce proces upisa
se ponavlja, ali za drugu memorijsku lokaciju.
Isticemo kako je preko mikrokontrolera moguce
adresirati samo nie memorijske lokacije (cije su
adrese A7A0) flash memorije.
64Upisivanje podataka u flash memoriju po principu
alje se adresa lokacije, pa sadraj koji treba
da bude upisan
65Citanje podataka iz flash memoriju po principu
alje se adresa lokacije i pritiska se SW3
667. Zakljucak
67Seminaraski rad s kojim ste imali prilike da se
upoznate prua studentima mogucnost da se
upoznaju sa nacinom upisa i citanjem podataka iz
flash memorije. Kao primer, uzeta je flash
memorija AM29F010B u kucitu DIP-32. Ova memorija
je dostupna na naem tritu (Radioklub, Beograd)
i kapaciteta je 128KB (1Mbit, tj. 128 x 8
bita). Sam cin upisa i citanja memorije obavlja
mikrokontroler PIC16F877. Proces upisa i citanja
(preko mikoC-ovog USART Terminal-a) obavlja u dva
koraka. U jednom slucaju (upis), Port D
mikrokontrolera je izlazni, a u drugom (citanje)
je ulazni. Dakle, u prvom koraku smer podataka je
PIC16F877--gtAM29F010B, dok je u drugom smer
obrnut.
68(No Transcript)
69(No Transcript)