Elektronski fakultet Niš
This presentation is the property of its rightful owner.
Sponsored Links
1 / 69

Damir Mihajlović 10535 Perica Paunović 10586 PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on
  • Presentation posted in: General

Elektronski fakultet Niš Katedra za elektroniku. Programiranje i č itanje Flash memorije Am29F010 pomoću mikrokontrolera PIC16F877. Damir Mihajlović 10535 Perica Paunović 10586. 1. MEMORIJE.

Download Presentation

Damir Mihajlović 10535 Perica Paunović 10586

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Damir mihajlovi 10535 perica paunovi 10586

Elektronski fakultet Niš

Katedra za elektroniku

Programiranje i čitanje Flash memorije Am29F010pomoću mikrokontrolera PIC16F877

Damir Mihajlović 10535

Perica Paunović 10586


Damir mihajlovi 10535 perica paunovi 10586

1. MEMORIJE


Damir mihajlovi 10535 perica paunovi 10586

Memorije u digitalnim sistemima predstavljaju sklopove u koje se može upisati i iz kojih se može pročitati informacija. Memorija je namenjena za prihvatanje, čuvanje (pamćenje, memorisanje) i predaju podataka i programa. Proces unošenja podataka u memoriju naziva se upisivanje, a proces zahvatanja podataka iz memorije naziva se čitanje. Upisivanje i čitanje informacija nazivaju se pristup (obraćanje) memoriji i predstavljaju osnovne operacije u memorijskom podsistemu računarskog sistema.


Damir mihajlovi 10535 perica paunovi 10586

Mogući način pristupa:

Sa aspekta pristupa memorijskoj ćeliji razlikuju se memorijski moduli sa :

- sekvencijalnim (serijskim) pristupom

- cikličnim (periodičnim) pristupom

- slučajnim (proizvoljnim) pristupom

- asocijativnim pristupom

Mogućnost promene sadržaja:

Sa aspekta mogućnosti izmene sadržaja memorijske lokacije mogućno je memorije klasifikovati kao:

- promenljive memorije (nema ograničenja u pogledu izmene sadržaja lokacija)

- polupromenljive memorije (sadržaj se ne može menjati normalnim postupkom, već samo posebnim postupcima u laboratorijama)

- stalne memorije (sadržaj se formira u toku procesa proizvodnje i ni pod kojim uslovima se ne može menjati)


Damir mihajlovi 10535 perica paunovi 10586

  • Adresabilnost:

  • Prema nacinu smeštanja sadržaja i pretraživanja memorije delimo na:

  • - adresne (tj. adresibilne, ako se pomoću adrese može pristupiti jednom bajtu ili jednoj reči)

  • - poluadresne (ako se pomoću adrese može pristupiti grupi bajtova većoj od reči, npr. diskovi)

  • - bezadresne (ako se pomoću adrese ne može prići sadržaju memorije, npr. spoljne memorije).

  • Propusnost:

  • Propusnost memorije je mera stope po kojoj podatak može da se prenosi sa, i na memoriju, i obično se izražava u megabajtima po sekundi (MB/sec). Najveći opseg je teoretski maksimum prenosa između bilo kog uređaja i memorije. U praksi dolazi do smanjenje najvećeg opsega uključivanjem raznih uređaja, a takođe i zbog 'lead-off' vremena koje je potrebno da uređaj preuzme prvi bit podatka nakon zadavanja instrukcije


Damir mihajlovi 10535 perica paunovi 10586

Fizički tip medijuma:

Zavisno od medijuma na kome se informacija pamti, najčešće se koriste poluprovodničke (najviše su u upotrebi; napravljene u LSI ili VLSI tehnologiji),memorije sa magnetnom površinom (diskovi, trake,...)imemorije koje koriste optičku tehnologiju (CD-ROM, DVD…).

Magnetne i optičke memorije se uglavnom koriste za memorisanje velikog broja digitalnih informacija. Vreme upisa i čitanja informacija u ovim memorijama je relativo dugačko, zbog neophodnih mehaničkih pomeranja diska ili trake. Magnetne i optičke memorije pripadaju klasi postojanih memorija (nonvolatile memory) jer infomacija ostaje zapisana i kada se isključi električno napajanje.

Stalnost zapisa:

Poluprovodničke memorije mogu biti statičke i dinamičke. Informacija upisana u statičku memoriju, ostaje zapamćena sve dok je memorija priključena na napon napajanja. Da bi informacija ostala zapamćena u dinamičkoj memoriji, neophodno je periodično obnavljati sadržaj ″osvežavanje memorije″, inače se informacija gubi. Poluprovodničke memorije se izrađuju u bipolarnoj, zatim MOSFET tehnologiji i kao CCD elementi


Damir mihajlovi 10535 perica paunovi 10586

Podela poluprovodničkih memorija


Damir mihajlovi 10535 perica paunovi 10586

ROM memorije

ROM (eng. Read only memory) je memorija sa konstantnim sadržajem u koju se posebnim postupkom upisuje željena informacija, a kada je sadržaj upisan, memorija može samo da se čita. Ovo su stalne memorije opšte primene, i koriste se, na primer: za generisanje binarnih reči, konverziju brojeva, generisanje raznih funkcija, u telefoniji za određivanje vrste i tipa priključka itd. Najvažniju namenu su našle kao stalne memorije u računarima. Podaci smešteni u ROM-u su uvek tamo, bez obzira da li je priključeno napajanje.

Zbog toga ROM spada u klasu postojanih memorija.


Damir mihajlovi 10535 perica paunovi 10586

Mask ROM memorije (memorije sa fiksnim sadržajem)

U prvoj fazi su se koristili ROM čipovi u koje su u fabrici prilikom proi-zvodnje, jednom zauvek upisani podaci i nije postojala nikakva mogućnost da se oni promene. One se proizvode sličnim tehnološkim postupkom kao i mikroprocesori. Koriste se za programe koji se masovno proizvode i ne menjaju se često.

PROM (eng.Programmabile Read Only Memory) je programabilna ROM memorija, koju može da programira sam korisnik prema svojim potrebama.

Programiranje PROM memorija se vrši pomoću specijalnog uređaja koji se zove PROM programator. U programator se pomoću računara upiše željeni sadržaj memorije, a zatim se sukcesivno adresiraju sve adrese priključene PROM memorije i dovede impuls, koji pregoreva odgovarajuće osigurače. Glavni nedostatak ovih memorija je što se jedanput upisani sadržaj više ne može menjati.


Damir mihajlovi 10535 perica paunovi 10586

EPROM memorije (eng.Erasable Programmabile Read Only Memory) kaomemorijskeelementekoristi MOS tranzistoresaizolovanimgejtom.

Jednom programirana memorija ne menja sadržaj više od 10 godina. Ako se memorija izloži dejstvu ultraljubičaste svetlosti u vremenu oko 20 minuta, sadržaj se gubi jer SiO2 postaje slabo provodan i elektroni napuštaju izolovani gejt. Svaki čip ima mali stakleni prozor ugrađen na vrh kućišta ROM memorije, i kroz njega se može videti unutrašnjost memorijskog čipa. EPROM se može u svako doba obrisati tako što se kroz ovaj prozorčić osvetli unutrašnjost čipa u komori sa UV svetlošću (UV PROM). Posle ovoga čip se može ponovo programirati.


Damir mihajlovi 10535 perica paunovi 10586

EEPROM memorije (eng. Electrically Erasable Programmabile Read Only Memory) kao memorijske elemente takođe koriste MOS tranzistore sa izolovanim gejtom, samo što je izolacija između elektroda dosta manja. Upis sadržaja u memoriju se vrši na sličan način kao kod EPROM-a. Sadržaj se može obrisati pod kontrolom softvera, i upisati u bilo kom trenutku bez prethodnog brisanja.

Uobičajena upotreba EEPROM-a je kao programska memorija u malim mikroprocesorima sa ugrađenom memorijom ili se koriste kao mali memorijski nizovi za stalno čuvanje podataka o konfiguracionim informacijama sistema.


Damir mihajlovi 10535 perica paunovi 10586

Fleš memorija:

Fleš memorija je računarska memorija koja može da čuva podatke čak i kada nije pod naponom, a može se brisati i reprogramirati elektronskim putem. Zasnovana je na tehnologiji memorijskih kartica kao što su memorijske kartice za digitalne foto aparate, palmtop računare, telefone, konzole za video igrice, audio plejere itd. Za razliku od EEPROM-a, brisana je i reprogramirana u blokovima koji su sačinjeni od višestrukih lokacija. Fleš memorija košta mnogo manje od EEPROM-a, i baš zbog toga, ova tehnologija memorijskih kartica je postala dominatna na tržištu od kako se pojavio USB flash drive, koji se koristi za čuvanje i razmenu podataka između računara.

Pored karakteristike što joj nije potrebno električno napajanje za čuvanje podataka, fleš memorija nudi i brz pristup podacima. Još jedna vrlo važna karakteristika fleš memorije je i ta što ima bolju otpornost, na kinetičke šokove u odnosu na hard diskove. Gotovo je fizički neuništiva kada je upakovana u neku memorijsku karticu, koju koristi neki digitalni uredjaj.


Damir mihajlovi 10535 perica paunovi 10586

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 slučaj s klasičnom radnom memorijom u računaru.

U zavisnosti od toga od kojih je kola realizovana svaka memorijska ćelija, fleš čipovi se svrstavaju u dve osnovne kategorije NOR i NAND.


Damir mihajlovi 10535 perica paunovi 10586

Fleš tipa NOR nudi sporije čitanje i pisanje, ali i uređenu strukturu adrese i podataka tako da je moguće pristupati bilo kojoj lokaciji na memorijskom čipu, na sličan način kao kod radne memorije. Zbog toga je ovaj tip memorije pogodan za skladištenje podataka koje nije potrebno često osvežavati, kao što je recimo BIOS ili pak firmware u raznim elektronskim uređajima.

NOR fleševi su pogodni za primenu kod mikroprocesorskih sistema, zbog sposobnosti za njihovo direktno povezivenja u sistem. Pri tome, kada rade u režimu Read-only, ove memorije funkcionišu na sličan način kao EPROM-ovi, koje karakteriše jednostavno oblikovani interfejs. U široj upotrebi kod prenosnih uređaja, pre svega mobilnih telefona, do sada je uglavnom bila NOR Fleš memorija koja polako počinje da gubi korak u trci sa NAND tipom.


Damir mihajlovi 10535 perica paunovi 10586

NAND fleš memorija

Ima znatno nižu cenu proizvodnje od NOR fleša, brže čitanje i pisanje, veću gustinu pakovanja memorijskih ćelija i osetno veću izdržljivost u pogledu količine maksimalnog broja pristupa memoriji odnosno maksimalnog broja pisanja/brisanja memorije

NAND fleševi se standardno koriste u potrošačkoj elektronici kao memorijske kartice, kakav je slučaj sa digitalnim fotoaparatima. NAND fleševi, kao komponente su takođe dostupne kao diskretne komponente za stalno memorisanje velike količine podataka kod digitalnih sistema.


Damir mihajlovi 10535 perica paunovi 10586

U skorijoj budućnosti predviđa se postepeni prelazak sa klasičnih hard-diskova na nove, ultrabrze fleš diskove koji će se u početku sretati u modelima prenosnih računara, kao i u uređajima koji zahtevaju manje količine memorije poput digitalnih video-kamera.


Damir mihajlovi 10535 perica paunovi 10586

USB FLASH DRIVE

USB flash drive je mobilan i moćan memorijski uređaj i ima velike prednosti u odnosu na ostale prenosive memorijske uređaje. Kompaktniji je, generalno brži, može da nosi veliku količinu podataka, i veoma je pouzdan (fizički pre svega). Danas, maksimalan kapacitet USB flash drive-a je zvanično 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 čip i USB kontroler koji računaru ili nekom drugom uređaju omogućava pristup fleš memoriji. Ostatak čine generator takta, dodatni kontakti za programiranje i testiranje uređaja pri proizvodnji, led dioda za indikaciju rada i na kraju sama štampana pločica na koju su sve ove komponente integrisane. Na štampanoj pločici je i fizički USB konektor kojim se uređaj priključuje na računar


Damir mihajlovi 10535 perica paunovi 10586

RAM (eng.Random Access Memory ) je memorija sa slučajnim pristupom. To znači da je vreme potrebno za čitanje ili upis sadržaja nezavisno od adrese na kojoj se čitanje ili upis obavlja. Informacija upisana u poluprovodničkim RAM memorijama se gubi čim se isključi napajanje pa pripada klasi nepostojanih memorija i služi za privremeno memorisanje podataka za vreme rada računara. Ova memorija je neizbežan deo svakog računarskog sistema (operativna memorija). Brzina i veličina ove memorije, znatno utiče na performanse računarskog sistema, tako da proizvođači memorijskih čipova stalno usavršavaju dizajn: cilj je najveća moguća brzina pristupa po najmanjoj ceni. Kapacitet memorije se kreće od nekoliko Kb za male mikroračunare do više GB za velike računarske sisteme. RAM memorije se proizvode kako sa statičkim, tako i sa dinamičkim memorijskim ćelijama, pa se obično dele na statičke i dinamičke RAM memorije.


Damir mihajlovi 10535 perica paunovi 10586

Statička RAM memorija – SRAM

Statičke memorije su manjeg kapaciteta po čipu, a koriste se u sistemima gde se zahteva veća brzina pristupa memoriji i manja potrošnja struje iz izvora za napajanje. Takođe je verovatnoća greške kod statičkih memorija manja nego kod dinamičkih, tako da se koriste u sistemima gde se zahteva visoka pouzdanost.

Između glavne radne memorije koja je realizovana kao dinamički RAM i mikroprocesora se postavlja manja količina znatno brže statičke RAM memorije. Ova memorija se naziva keš memorijom i njenim radom upravlja poseban keš kontroler.

Prvi nivo, takozvaniL1 nivo je relativno mali i on se nalazi u okviru samog jezgra mikroprocesora. On obično ima dva odvojena dela. U jednom se smeštaju instrukcije koje bi procesor trebao da izvrši, a u drugom podaci koje bi trebao da obradi. Obično radi na istom taktu kao i sam procesor.

Drugi nivo keš memorije (L2 nivo) ima znatno veću količinu memorije, smešten je u ulazno-izlaznom delu mikroprocesora, i zavisno od konstrukcije samog mikroprocesora može da radi i sa manjom učestanosti takta (obično polovina učestanosti takta procesora).


Damir mihajlovi 10535 perica paunovi 10586

DRAM memorija

Da bi se realizovala memorija sa većom gustinom pakovanja, konstruisana je memorija sa samo jednim tranzistorom i jednim kon-denzatorom po memorijskoj ćeliji. Ovakva memorija bazira pamćenje in-formacije na električnom punjenju kondenzatora. Zbog eksponencijalnog pražnjenja kondenzatora sadržaj ove memorije potrebno je povremeno osvežavati da se informacija ne bi izgubila.

Dinamički RAM čini veći deo operativne memorije jer mu to omogu-ćava niska cena i velika gustina pakovanja.

Ima više vrsta DRAM memorija. Danas su na tržištu najzastupljenija dva tipa DRAM memorije: SDRAM (Synchronous DRAM) i DDR (Double Data Rate SDRAM).


Damir mihajlovi 10535 perica paunovi 10586

SDRAM i DDR RAM

SDRAM dozvoljava efikasniju komunikaciju sa procesorom i povećava brzinu rada na 133 MHz, u odnosu na prethodne verzije DRAM-a (EDO RAM, BEDO RAM), međutim ova memorija jednostavno nemože da radi stabilno na brzinama većim od 140 MHz. Zbog toga je razvijena nova memorijska arhitektura koja korišćenjem obične SDRAM tehnologije može da radi na taktovima do čak 266 MHz - DDR SDRAM memorija (DDR- Double Data Rate).

Principska razlika između običnih i DDR modula je u tome, što obični moduli obavljaju jednu operaciju tokom jednog takt impulsa. DDR moduli tokom jednog takt impulsa obave dve operacije, pošto koriste obe ivice takt impulsa (i uzlaznu i silaznu), što teoretski omogućuje dvostruko brži rad.


Damir mihajlovi 10535 perica paunovi 10586

  • RDRAM (Rambus dynamic random access memory)

  • Osnovne osobine Direct Rambus memorije su široke interne magistrale pojedinih čipova u modulu (128 i 64-bitne), uska širina magistrale koja povezuje module i memorijski kontroler na matičnoj ploči, 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 računara (Rambus channel na 400MHz, 1.6GB/s, teoretski manja latencija pristupa)

  • - Smanjen broj potrebnih linija za pristup memoriji (jedna magistrala od 16+5+3=24 linije koja obilazi sve module) – ušteda na kompleksnosti magistrala

  • - Razdvojene linije za adrese kolone i reda

  • - Paketni pristup prenosu adresa, naredbi i podataka, unificirana veličina i trajanje paketa

  • Cevovodni (pipeline) rad

  • Stroge i standardizovane specifikacije, veliki kvalitet izrađenih komponenti


Damir mihajlovi 10535 perica paunovi 10586

SLDRAM (Synchronous-Link DRAM)

SLDRAM je evolutivni dizajn koji izuzetno povećava peformanse memorijskog podsistema u odnosu na SDRAM, i to bez korišćenja potpuno nove arhitekture kao u slučaju RDRAM-a. Iako SLDRAM trenutno može da radi na (samo) 200 MHz, on radi sa manjim kašnjenjem od RDRAM-a i koristi kompletnu 64-bitnu magistralu (RDRAM koristi 16-bitnu magistralu). Takođe, SLDRAM može da koristi istu tehniku za dupliranje takta kao kod DDR SDRAM-a, što mu omogućava performanse ekvivalentne radu na 400 MHz


Damir mihajlovi 10535 perica paunovi 10586

Memorije budućnosti: MRAM ili OUM

MRAM (Magnetne RAM memorije) temelje se na IBM–ovom pronalasku magnetnog tunel efekta.Njegovom upotrebom bi se smanjila potrošnja energije jer se više ne bi osvežavali podaci u dinamičkim memorijama. Uz to npr. računar bi se mogao dovesti iz stanja mirovanja (isključeno) u radno stanje za nekoliko sekundi itd. MRAM bi mogao u budućnosti zameniti registre, keš memoriju i glavnu memoriju.

Ukoliko dva magneta odvojimo vrlo tankim izolirajućim slojem, tunelska struja kroz izolator će se menjati zavisno o toga da li su magneti polarizovani jedan prema drugom u istom ili u obrnutom smeru. Ta razlika u veličini 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 optičkih disk memorija (CD, DVD) ali menja amorfno u kristalno stanje električki a ne laserom. Ova tehnologija ima prema današnjim saznanjima čak i veće šanse da postane opšte prihvaćena memorija sutrašnjice nego magnetske memorije (MRAM).


Damir mihajlovi 10535 perica paunovi 10586

2. Fleš Memorija Am29F010


Damir mihajlovi 10535 perica paunovi 10586

Osnovne karakteristike:

● Napajanje 5.0V±10% (pojednostavljuje zahteve sistema u koji se ugrađuje jer je za čitanje, brisanje i programske operacije potreban isti naponski nivo)

● Čip je izrađen u 0.32µm tehnologiji (kompatibilan sa Am29F010 i Am29F010 čipovima)

● Visoke performanse uz maksimalno vreme odziva čipa od 45 ns

● Niska potrošnja:

- tipična aktivna struja čitanja je 12 mA

- tipična struja upisa/brisanja je 30 mA

- tipična struja u STAND BY modu je manja od 1 mA

● Kompatibilnost sa JEDEC standardima

● Fleksibilana arhitektura sektora:

- osam šesnaestokilobajtnih sektora

- svaka kombinacija sektora se može izbrisati

- podrška za celokupno brisanje čipa

● Zaštita sektora:

- karakteristika hardvera koja omogućava/onemogućava upis i čitanje za bilo koju kombinaciju sektora

- ova zaštita se može implementirati korišćenjem standardne opreme za programiranje PROM memorije


Damir mihajlovi 10535 perica paunovi 10586

● EMBEDDED algoritmi:

- EMBEDDED algoritmi za brisanje automatski reprogramiraju i brišu čip za bilo koju kombinaciju označenih sektora

- EMBEDDED algoritmi za upisivanje automatski upisuju i verifikuje podatke na označenoj adresi.

● Brisanje: obustava/nastavak

- podržava čitanje podataka iz sektora koji nije izbrisan

● Minimum milion ciklusa brisanja po sektoru je garantovano

● Dvadesetogodišnje čuvanje podataka na 125ºC

- pouzdanost za ceo životni vek sistema

● Tip kućišta:

- 32-pin PLCC

- 32-pin TSOP

- 32-pin PDIP

● Data# pozivni i prekidački biti

- priprema softveskog metoda za detektovanje završetka programa ili ciklusa brisanja

● Temperaturni opseg rada:

- Komercijalni uređaji 0°C do +70°C

- Industrijski uređaji –40°C do +85°C

- Uređaji specijalne namene –55°C do +125°C


Damir mihajlovi 10535 perica paunovi 10586

Blok šema Am29F010B


Damir mihajlovi 10535 perica paunovi 10586

Kućište memorijskog čipa Am29F010B:


Damir mihajlovi 10535 perica paunovi 10586

Komandna sekvenca za upisivanje

Komandna sekvenca za brisanje sektora/cele memorije


Damir mihajlovi 10535 perica paunovi 10586

3. Mirokontroler PIC16F877


Damir mihajlovi 10535 perica paunovi 10586

Mikrokontroler (microcontroller) je elektronski uređaj koji, slično kao i računar, ima zadatak da zameni čoveka u kontroli dela proizvodnog procesa ili gotovo celog proizvodnog procesa. To je uređaj opšte namene, koji pribavlja podatke, obavlja ogranicenu obradu nad tim podacima, i upravlja svojim okruzenjem na osnovu rezultata izracunavanja. Mikrokontroleri su uglavnom dizajnirani za specifične zadatke, vrlo raznolike od slučaja do slučaja. Primera ima mnogo, od jednostavne regulacije osvetljenja, alarmnih sistema, pa do upravljanja robotima u industrijskim pogonima.

Svi mikrokontroleri imaju usađenu memoriju na čipu kao i veći broj ulazno-izlaznih interfejs linija. Mikrokontroleri poseduju A/D i D/A konvertore, impulsno-širinski modulisane (PWM) generatore, sofi-sticirani sistem prekida, veći broj serijskih i paralelnih ulazno-izlaznih portova, fleksibilni sistem tajmer-brojač događaja, LCD drajvere, i dr. Ova njegova kompaktnost se može iskazati konstatacijom: Računar na jednom čipu.


Damir mihajlovi 10535 perica paunovi 10586

Opis mikrokontrolera PIC16F877

Firma Microchip je tržištu ponudila mikrokontroler PIC16F877 pre oko deset godina. Ovaj mikrokontroler takođe predstavlja integraciju mikroprocesora (CPU), memorije i periferija. On je izrađen u CMOS tehnologiji sa ugrađenom FLASH i EEPROM memorijama, za čuvanje programa i podataka. PIC16F877 ima tipičnu RISC arhtekturu (ka-rakteriše manjim skupom instrukcija koje se brže izvršavaju u odnosu na CISC arhitekturu).


Damir mihajlovi 10535 perica paunovi 10586

Karakteristike mikrokontrolera:

● RISC CPU visokih performansi

● 35 instrukcija obima jedne reči

● 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 načina adresiranja (direktno, indirektno i relativno)

● Programska flash memorija je kapaciteta 8 k X 14-bitnih reči

● 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/brojač_događaja

- Timer1 (TMR1): šesnaestobitni tajmer/brojač_događaja

- Timer2 (TMR2): osmobitni tajmer/brojač_događaja


Damir mihajlovi 10535 perica paunovi 10586

● 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 uključenju napajanja (POR)

● Power-up timer : unošenje kašnjenja nakon uključenja napajanja (PWRT)


Damir mihajlovi 10535 perica paunovi 10586

● Oscillator Start-up Timer - unošenje kašnjenja neposredno po stabili-zovanju radne frekvencije oscilatora (OST)

● Sleep mode - režim rada sa veoma malim utroškom 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 duže od 40 godina

● Radni napon može da bude u opsegu od 2V do 5.5V

● Mala potrošnja energije:

- <0.6 mA pri naponu od 3V i radnoj frekvenciji od 4 MHz

- 20µA pri naponu od 3V i radnom taktu od 32kHz

- <1µA u standby režimu rada.


Damir mihajlovi 10535 perica paunovi 10586

● Napajanjeod +5V se dovodi napinove VDD (11 i 32) a masanapinove

VSS (12 i 31)

● Nozice OSC1 i OSC2 (pinovi 13 i 14) sluzezapriklucivanjeoscilatorskihkomponeti (RC-koloilikvarc)

● Pin 1 (MCLR/VPP) imadvostrukuulogu. Standardno se koristikao Reset, a u procesuprogramiranjakao pin zadovodjenjevisokognapona (13V)

● Ostalih 33 pinaprestavljaju U/I linije. One sugrupisane u pet portova

(PORTA-PORTE) isvakiodnjihmozemokonfigurisatikaoulazniiliizlazni.).


Damir mihajlovi 10535 perica paunovi 10586

Samu strukturu mikrokontrolera PIC16F877 čini nekoliko celina:

● Aritmetičko-logička jedinica (ALU)

● Akumulator (Working Register)

● Hardverski magacin (Stack) organizivan u 8 nivoa

● EEPROM memorija podataka obima 256 bajtova

● Flash programska memorija – 8 kiloreči obima 14 bita

● RAM (File Registers) – 368 bajtova

● Višekanalni A/D konvertor,

● USART,

● SPI interfejs,

● I2C interfejs,

● šest U/I portova,

● tajmere itd.


Damir mihajlovi 10535 perica paunovi 10586

Arhitektura mikrokontrolera PIC16F877


Damir mihajlovi 10535 perica paunovi 10586

Portovi 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 spoljašnjim svetom. Svaki od ovih portova može da se konfiguriše kao ulazni ili kao izlazni. Ovi portovi su različitog obima:

- 6-pinski (PORT_A)

- 8-pinski (PORT_B, PORT_C, PORT_D)

- 3-pinski (PORT_E).


Damir mihajlovi 10535 perica paunovi 10586

Port A je 6-bitni (RA5-RA0) bidirekcioni port (podaci mogu da se šalju u oba smera). Sadržaj registra TRISA određuje 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


Damir mihajlovi 10535 perica paunovi 10586

Port B je 8-bitni bidirekcioni port. Svakom pinu porta korespondira odgovarajući bit u registru TRISB, kojim se definiše smer. Svi pinovi unutar Porta B poseduju pull-up otpornike. Ovi otpornici mogu da se uključe jednim kontrolnim bitom. Četiri pina na Portu B (RB7-RB4) imaju mogućnost generisanja prekida. Samo pinovi koji su definisani kao ulazni mogu da prouzrokuju prekid.

Pinovi od RB0 do RB3 Pinovi RB7-RB4 na portu B


Damir mihajlovi 10535 perica paunovi 10586

Port C je 8-bitni bidirekcioni port. Ovaj port ima ugrađen USART modul, koji služi za serijsku komunikaciju (na primer sa računarom 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


Damir mihajlovi 10535 perica paunovi 10586

Port D je 8-bitni bidirekcioni port. Ovaj port može da se konfiguriše kao 8-bitni paralelni mikro-procesorski port (parallel slave port-PSP) i to podešavanjem konfiguracionog bita PSPMOTE (TRISC<4>). U ovom režimu rada ulazni bafer je TTL tipa.

Struktura porta D


Damir mihajlovi 10535 perica paunovi 10586

Port E je bidirekcioni port veličine 3 bita. Ima mogućnost A/D konverzije. Ulazni bafer je tipa Schmitt Trigger. Pinovi mogu da se konfigurišu kao digitalni ili analogni, kao i u slučaju Porta A, o čemu je već bilo reči.

Struktura porta E


Damir mihajlovi 10535 perica paunovi 10586

Dijagram programiranja mikrokontrolera PIC16F877


Damir mihajlovi 10535 perica paunovi 10586

4.IC-Prog


Damir mihajlovi 10535 perica paunovi 10586

Za programiranje mikrokontrolera PIC16F877 može da se koristi softver IC-Prog. Inače, 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 mogućnost čitanja, upisa i verifikacije (Read, Write, Verify) sadržaja mikrokontrolera. Naravno, softver dozvoljava mogućnost podešavanja parametara (WDT, PWRT, BODEN, LVP, CPD, CO, Debugger), kao i izbor oscilatora (RC, LP, XT, HS).


Damir mihajlovi 10535 perica paunovi 10586

Korak 1: Instaliranje drajvera

Ulaskom u podmeni Misc, koji se nalazi u meniju Options, ostvaruje se instaliranje/uključivanje drajvera icprog.sys (Settings → Options → Misc: √ Enable 2000/NT/XP), što je ilustrovano na Slici 69. Na taj način omogućava se pristup serijskom portu računara.


Damir mihajlovi 10535 perica paunovi 10586

Korak 2: Podešavanje hardverskih parametara

Nakon što je instaliran/uključen drajver, program će se restartovati i ponudiće opciju podešavanja hardverskih parametara, koji treba da budu postavljeni kao na Slici70. IC-Prog ima sličnu konfiguraciju kao JDM Programmer, signali su bez inverzije – dok se komunikacija obavlja preko, na primer, serijskog porta COM2. Ako računar ima samo jedan serijski port, podrazumeva se da je to COM1.

Korak 3: Izbor mikrokontrolera i učitavanje kôda u bafer programa

Najpre treba izabrati mikrokontroler PIC16F877 (obeleženi padajući meni u gornjem desnom uglu osnovnog prozora programa), a potom učitati heksadecimalni kôd klikom na opciju Open File iz menija File - što je ilustrovano na Slikama 71-73


Damir mihajlovi 10535 perica paunovi 10586

Upisivanje/učitavanje kôda ubafer programa


Damir mihajlovi 10535 perica paunovi 10586

Korak 4: Programiranje mikrokontrolera

Ulaskom u meni Command i startovanjem opcije Program All (Slika 73). Zapravo, proces programiranja podrazumeva da se sadržaj bafera programa upiše u flash memoriju našeg mikrokontrolera.

Naravno program će postaviti pitanje, tj. mogućnost da se izabere da li da otpočne proces programiranja ili da se od njega odustane. Ukoliko se izabere programiranje, program će obrisati prethodni sadržaj flash memorije mikrokon-trolera i u nju “prepisati” sadržaj bafera programa.


Damir mihajlovi 10535 perica paunovi 10586

Proces programiranja, a zatim i verifikacije

Poruka nakon uspešnog programiranja


Damir mihajlovi 10535 perica paunovi 10586

5. Realizacija projekta


Damir mihajlovi 10535 perica paunovi 10586

Ovaj seminarski rad prikazuje komunikaciju između PC računara, mikrokontrolera PIC16F877 i flash memorije Am29F010B.

Komunikacija se ostvaruje između USART modula – jedan je integrisan u serijskom portu računara, dok je drugi sastavni deo mikrokontrolera. Praćenje toka komunikacije vrši se preko UART terminala, koji čini integralni deo softvera mikroC.


Damir mihajlovi 10535 perica paunovi 10586

Na blok šemi prikazan je interfejs PC↔PIC16F877↔AM29F010B. Između mikro-kontolera i serijskog porta računara nalazi se kolo MAX232, kojim se prilagođavaju naponski nivoi (TTL-RS232C).

Flash memorija, mikrokontroler i kolo za prilagođenje se napajaju preko standardnog linearnog regulatora napona L7805 (Vout = 5V±0,1V, Imax = 500mA). Napon na ulazu ovog regulatora napona treba da bude u opsegu 7-12V.

Kako bi se sprečilo povezivanje napona pogrešnog polariteta, na ulaz (ispred regulatora napona) je postavljena Šotkijeva dioda BAT43.

Takt mikrokontrolera iznosi 4MHz.

Programiranje flash memorije AM29F010B vrši mikrokontroler koji selektuje njene niže adrese (A7-A0) i šalje podatke. Naime, iz programa USART terminal se šalju adrese memorijskih lokacija i podaci koji se upisuju (u te lokacije).

Čitanje sadržaja flash memorije vrši, takođe, mikrokontroler koji selektuje njene niže 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.


Damir mihajlovi 10535 perica paunovi 10586

Crvena i zelena LED (D2 i D3) služe kao indikacija koji je firmware (ugrađeni 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 potrošnju.

Prekidačima (SW DIP2) imaju uloga definisanja čitanja, odno-sno upisa. Tasterom SW3 se upućuje komanda mikrokontroleru da, na osnovu adrese memorijske lokacije koju je dobio od USART Terminala, pročita njen sadržaj. Tasterom SW2 se briše sadržaj flash memorije, a namena tastera SW1 je resetovanje mikrokontrolera.

Više memorijske adrese flash memorije (A16-A8) su u našem slučaju postavljene na logičku 0.


Damir mihajlovi 10535 perica paunovi 10586

Interfejs PC↔PIC16F877↔AM29F010B


Damir mihajlovi 10535 perica paunovi 10586

Raspored elektronskih i elektromehaničkih elemenata na pločici (PCB)


Damir mihajlovi 10535 perica paunovi 10586

Realizovani uređaj


Damir mihajlovi 10535 perica paunovi 10586

6. Laboratorijska vežba


Damir mihajlovi 10535 perica paunovi 10586

Prvo treba povezati pločicu sa računarom 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 čini karakter (Data bits), isključen RTS (Off), uključena opcija Send as Number.

Podesite da prenos mikrokontroler↔PC bude HEX (heksadecimalni) ili DEC, ako vam je lakše za praćenje.

Naglašavamo da se tasterom SW1 resetuje mikrokokontroler, tasterom SW2 se briše sadržaj flash memorije, dok se tasterom SW3 šalje podatak iz flash memorije za aktuelnu adresu (koja je poslata od strane USART Terminala).


Damir mihajlovi 10535 perica paunovi 10586

Da bi se podaci upisivali u flash memoriju, DIPSW-2 prekidači treba da budu uključeni (u ON položaju, odnosno da stanje na odgovarajućim pinovima mikrokontrolera bude 00).

Prvo se šalje proizvoljan broj iz USART Terminala, što će izazvati uključivanje crvene LED. To znači da je mikrokontroler spreman da primi adresu memorijske lokacije na koju treba da unese podatak. Po slanju adrese, gasi se crvena LED, a uključuje zelena LED. Ovo znači da je mikrokontroler spreman da prihvati podatak. Po prijemu istog, mikrokontroler ga upisuje u flash memoriju. Zatim se ponovo uključuje crvena LED i ce proces upisa se ponavlja, ali za drugu memorijsku lokaciju. Ističemo kako je preko mikrokontrolera moguće adresirati samo niže memorijske lokacije (čije su adrese A7:A0) flash memorije.


Damir mihajlovi 10535 perica paunovi 10586

Upisivanje podataka u flash memoriju po principu – šalje se adresa lokacije, pa sadržaj koji treba da bude upisan


Damir mihajlovi 10535 perica paunovi 10586

Čitanje podataka iz flash memoriju po principu –šalje se adresa lokacije i pritiska se SW3


Damir mihajlovi 10535 perica paunovi 10586

7. Zaključak


Damir mihajlovi 10535 perica paunovi 10586

Seminaraski rad s kojim ste imali prilike da se upoznate pruža studentima mogućnost da se upoznaju sa načinom upisa i čitanjem podataka iz flash memorije. Kao primer, uzeta je flash memorija AM29F010B u kućištu DIP-32. Ova memorija je dostupna na našem tržištu (Radioklub, Beograd) i kapaciteta je 128KB (1Mbit, tj. 128 x 8 bita).

Sam čin upisa i čitanja memorije obavlja mikrokontroler PIC16F877. Proces upisa i čitanja (preko mikoC-ovog USART Terminal-a) obavlja u dva koraka. U jednom slučaju (upis), Port D mikrokontrolera je izlazni, a u drugom (čitanje) je ulazni. Dakle, u prvom koraku smer podataka je PIC16F877-->AM29F010B, dok je u drugom smer obrnut.


  • Login