es.elfak.ni.ac.rses.elfak.ni.ac.rs/files/djstevanovic-mstojanovic - varijacije pri...  · web...

139
VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM UNIVERZITET U NI[U ELEKTRONSKI FAKULTET PROJEKAT VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Upload: truongcong

Post on 08-Jun-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

1VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

UNIVERZITET U NI[U ELEKTRONSKI FAKULTET

PROJEKATVARIJACIJE PRI MERENJU NAPONA

SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Page 2: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

2VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

MENTOR: STUDENTI:PROF. DR. MILE STOJ^EV DJORDJE STEVANOVIC 11314

MARIO STOJANOVIC 11323SADR@AJ

1. PRENOS PODATAKA / 41.1. UPOREDNE KARAKTERISTINE PARALELNOG I SERIJSKOG PORTA

/ 41.2. KOMBINACIJE PARALELNOG I SERIJSKOG PORTA / 51.3. HANDSHAKE PARALELNI U/I PRENOS / 6 1.4. ZAKLJU^AK / 8

2. [TA SU MIKROKONTROLERI? / 92.1. UVOD / 92.2. MIKROKONTROLERI:TIPOVI AHHITEKTURA I BLOK [EMA / 102.3. MIKROKONTROLERI U ODNOSU NA MIKROPROCESORE / 122.4. STRUKTURA MIKROPROCESORA / 132.5. STRUKTURA MIKROKONTROLERA / 132.6. RAZLIKE IZMEDJU MIKROPROCESORA I MIKROKONTROLER / 14

3. MIKROKONTROLER AT89S8253 / 153.1. UNUTRA[NJA STRUKTURA MIKROKONTROLERA / 153.2. OPIS PINOVA / 163.3. REDUKOVANI RE@IM NAPAJANJA / 193.4. PROGRAMSKA MEMORIJA / 203.5. MEMORIJA PODATAKA / 213.6. PROGRAMSKI STATUSNI REGISTAR / 253.7. TAKTOVANJE MIKROPROCESORA / 263.8. MA[INSKI CIKLUSI / 273.9. BROJA^I/TAJMERI / 27

3.9.1. KONTROLA RADA TAJMERA / 283.9.2. MODOVI RADA TAJMERA 0I1 / 29

3.10. OPIS PREKIDA KOD MIKROKONTROLERA / 314. A/D KONVERTORI / 32

4.1. UVOD U A/D KONVERTORE / 324.2. UVOD U A/D KONVERTOR AD9243AS / 344.3. ANALOGNI ULAZ / 374.4. SINGLE-ENDED MODE OPERACIJA / 39

Page 3: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

3VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

4.5. OPERACIONI POJAČAVAČ SA DC POMERANJE NIVOA / 404.6. DIGITALNI ULAZI I IZLAZI / 414.7. VAN OPSEGA (OTR-Out Of Range) / 42

5. MAX232 - 232 DRAJVER/PRIJEMNIK / 436. 74LS244N – OKTALNI BAFER I LINIJSKI DRAJVER / 447. TS272CN - DVOSTRUKI CMOS OPERACIONI POJA^AVA^

VISOKIH PERFORMANSI / 458. NAPAJANJE / 479. ELEKTRI^NA [EMA, BLOK [EMA, LAYOUT SLOJEVI,

REALIZOVAN PROJEKAT I SPECIFIKACIJA KORI[]ENIH KOMPONENTI / 48

10. KEIL uVision3 / 5210.1. UVOD / 5210.2. OPIS PROGRAMA / 5210.3. STATUS BAR / 5410.4. LOGI^KI ANALIZATOR / 5510.5. MEMORIJSKI PROZOR / 5610.6. SERIJSKI PROZOR / 5710.7. KREIRANJE PROJEKTA U uVision3 / 5810.8. SIMULACIJA PROJEKTA / 6610.9. ISPRAVLJANJE GRE[AKA U PROGRAMU / 6810.10.GENERISANJE HEX FAJLA / 6910.11.UPUTSTVO ZA PROGRAMIRANJE MIKROKONTROLERA / 72

11. PROGRAMIRANJE MIKROKONTROLERA / 7711.1. ALGORITMI GLAVNOG PROGRAMA I POTPROGRAMA / 7711.2. KÔD PROGRAMA / 80

12. PC PROGRAM “MERENJA” / 9012.1. UVOD / 9012.2. PREGLED TEHNOLOGIJA / 90

12.2.1. Mictosoft .NET Framework / 9012.2.2. SharpDevelop / 91

12.3. OPIS PC PROGRAMA “MERENJA” / 9212.4. IZGLED I UPUTSTVO ZA RAD PC PROGRAMA “MERENJA” / 93

13. LABORATORIJSKE VE@BE / 9713.1. UPUTSTVO ZA LABORATORIJSKU VE@BU / 9713.2. UPUTSTVO ZA KORI[]ENJE APLIKACIJE “MERENJA” / 9713.3. ZADATAK ZA STUDENTE / 101

Page 4: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

4VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

14.LITERATURA / 102

1. PRENOS PODATAKA

Prenos podataka predstavlja prenošenje kôdirane informacije kroz prenosni medijum (kabl, ma-gistralu itd.) Prema načinu prenosa podataka između dva sistema (integrisana kola, računara, terminala itd.) razlikuju se dva tipa prenosa:

- Paralelni: prenos n bitova (n = 8, 16, 32, 64) vrši se istovremeno (ovakav prenos se tipič-no ostvaruje preko sistemske ili neke druge magistrale u mikroprocesorskom sistemu)

- Serijski: prenos podataka vrši se preko jedinstvene linije (provodnika, voda, žice).

1.1. UPOREDNE KARAKTERISTINE PARALELNOG I SERIJSKOG PORTA

Na Slici 1.1 i Slici 1.2 ilustrovani paralelni i serijski prenos, respektivno. Paralelni prenos podataka je brži od serijskog, ali je znatno skuplji – jer zahteva veći broj veza (vodova ili kanala za prenos). Serijski prenos je pouzdaniji, iz razloga što se prekid ili greška u prenosu uvek mogu lako detektovati. Isto tako, kod serijskog prenosa su protokoli (skup pravila za razmenu podataka između dva sistema) daleko bolje definisani (postoje međunarodni standardi i norme za prenos). Kod paralelnog prenosa, zbog različitih formata paralelnih podataka, to nije slučaj.

Page 5: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

5VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 1.1. Ilustracija paralelnog prenosa (n=8)

Slika 1.2. Ilustracija serijskog prenosa

Imajući sve ovo u vidu, paralelni prenos podataka se daleko više koristi kada se prenose podaci na kraćim rastojanjima: interno, unutar mikroprocesorskog sistema (komunikacija između mikroprocesora i memorije, UART-a, A/D konvertora itd.) i eksterno, do nekoliko metara, u okviru računarskog okruženja (npr. komunikacija između računara i štampača preko paralelnog porta).

Kada su u pitanju rastojanja veća od reda nekoliko metara, serijski prenos podataka je neizbežan.

Kod serijskog prenosa podaci se prenose bit po bit. Serijski prenos može da se ostvari preko jednog provodnika (žice). Međutim, potrebne su najmanje dve linije (provodnika, žice) za serijsku komunikaciju: jedna za podatke i druga, tzv. masa – da bi se zatvorilo strujno kolo između dva sistema koji serijski komuniciraju. Naravno, moguće je ostvariti i tzv. diferencijalni serijski prenos kod koga su nivoi logičke 0 i logičke 1

Page 6: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

6VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

definisani razlikom potencijala između dva signala koji se prenose. Takav je slučaj kominikacije kod USB porta.

Ovde će biti navedeni neki od standarda za serijsku komunikaciju:

- RS232 (nebalansirani, 1 drajver – 1 pijemnik, za rastojanja do 15m)

- RS422 (nebalansirani, 1 drajver – 10 pijemnika, za rastojanja do 1200m)

- RS423 (diferencijalni, 1 drajver – 10 pijemnika, za rastojanja do 1200m)

- RS485 (diferencijalni, 32 drajvera – 32 pijemnika, za rastojanja do 1200m).

Komunikacija u okviru mikroprocesorskog sistema ostvaruju se preko sistemske magistrale u paralelnoj formi. Da bi se ostvarilla sprega sistema koji sa jedne strane obavljaju paralelni, a sa druge strane serijski prenos podataka, neophodno je izvršiti paralelnoserijsku konverziju. Za tu svrhu se najčešće koriste pomerački registri. Nisu retke aplikacije koje koristi oba tipa konverzije, i paralelno-serijsku i serijsko-paralelnu, kako bi se ostvario prenos n-tobitnih paralelnih podataka od predajnika do prijemnika preko serijske komunikacione linije.

1.2. PRIMER KOMBINACIJE PARALELNOG I SERIJSKOG PORTA

Slika 1.3. Ilustracija paralelnog i serijskog prenosa unutar mikroprocesorskog sistema

U samom mikroprocesorskom sistemu prisutne su istovremeno i serijska i paralelna komunikacija. Na Slici 1.3. upravo je ilustrovan jedan takav primer. Naime, na mikrokontroler PIC18F452, koji čini jezgro sistema, povezane su sledeće komponente/uređaji:

Page 7: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

7VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

- Flash memorija 29F040B (paralelni prenos podataka)- SPI EEPROM 25LC640 (serijski prenos)- LCD modul, 2x16 karaktera (paralelni prenos)- GSM/GPRS modul Siemens TC35 (serijski prenos)- PC računar (serijski prenos).

Kao što se vidi na slici, multipleksiranjem (preko integrisanog kola MC14052) i GSM/GPRS modul i PC ostvaruju komunikaciju sa internim UART modulom mikrokontrolera. Naravno, pošto se koriste samo tri linije (Rx, Tx i masa) komunikacija je bez handshaking-a.

Napomena: U ovom poglavlju pomenuti su termini USB (Universal Serial Bus), UART (Universal Asyncronus Receiver Transmitter) i SPI (Serial Peripheral Interface). S obzirom da je u radustavljen akcenat na paralelnu komunikaciju, pomenuti tipovi serijske komunikacije nisu detaljnije objašnjavani. Za informacije o pomenutim načinima komunikacije treba konsultovati odgovarajuću literaturu.

1.3. HANDSHAKE PARALELNI U/I PRENOS

Handshake U/I prenos podrazumeva da se podaci iz spoljnjeg okruženja prihvataju od strane mikroprocesora (CPU) preko ulaznog bafera, dok se podaci koje procesor predaje spoljnom okruženju prenose preko izlaznog bafera. Na Slici 1.4 prikazan je primer povezivanja D/A konverora preko paralelnog izlaznog interfejsa.

Mikroprocesor lečuje podatke u izlazni bafer podataka. Izlazne linije pomenutog bafera direktno su povezane na izlazno kolo/uređaj (u ovom slučaju je u pitanju D/A konvertor). Izlazni napon D/A konvertora menjaće vrednost u skladu sa stanjem izlaznog bafera podataka.

Razmotrićemo sada još jedan primer paralelnog interfejsa kod kojeg se tokom komunikacije ko-riste handshake upravljačke linije (Slika 1.5) . Kada U/I uređaj preda podatke interfejsu, on prvo postavlja važeće podatke na linijama Ulazni_podaci, a zatim aktivira liniju Pod_Ul_spreman. Interfejs odgovara lečovanjem podatka u Ulazni_bafer i aktivira liniju Potvrda_Ul_Podataka. U/I uređaj nakon prijema signala Potvrda_Ul_Podataka deaktivira podatke i signal Pod_Ul_Spreman.

Page 8: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

8VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 1.4. Povezivanje paralelnog izlaznog interfejsa sa D/A konvertorom

Slika 1.5. Povezivanje ulaznog i izlaznog interfejsa

Interfejs nakon primanja podatka postavi statusni bit Ready i aktivira liniju IRn . Kada mikroprocesor prihvati podatak, interfejs deaktivira statusni bit Ready. Zahtev za prekid (IRn), kao i obrada

Page 9: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

9VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

prekida, prihvataju se i obrađuju standardno.U slučaju izlaza, interfejs će postaviti Ready statusni bit i generisati zahtev za prekid kada je Izlazni_bafer podataka dostupan. Kada procesor upiše podatke, interfejs resetuje izlazni statusni bit Ready, postavlja podatke na magistralu (Izlazni_podaci) i signalizira U/I uređaju preko linije Pod_Izl_Spremni. Kada je uređaj spreman da prihvati podatke, on lečuje podatke i vraća signal Potvrda_Izl_Signala. Nakon toga, interfejs deaktivira signal Pod_Izl_Spremni i ponovo postavlja izlazni statusni bit na Ready.

1.4. ZAKLJU^AK

Sa pojavom USB porta (najpre kod računara, a zatim kod mikrokontrolera i GSM/GPRS/3G mo-dula) paralelna komunikacija između nekih eksternih uređaja (štampača, skenera itd.) i mikroprocesora polako odlazi u istoriju. Razlog tome su komparativne prednosti koje poseduje USB port, a ovde će se navesti tri najvažnije:

- komunikacija se ostvaruje preko samo četiri linije (napajanje, masa i dve linije za podatke)

- veoma velike brzine prenosa podataka (teoretski, 120MB/s)- moguće je iskoristiti USB port kao izvor napajanja.

Međutim, kao što je napomenuto, ima slučajeva kada je paralelna komunikacija neophodna (sis-temska magistrala kod mikroprocesora, komunikacija mikrokontroler – flash memorija i slično).

Veliki broj potrebnih veza (jedna žica po bitu n-bitnog podatka) ograničava primenu paralelnog prenosa isključivo na relativno kratka rastojanja. Tipičan primer je paralelna magistrala IEEE-488 GPIB, koja je projektovana za komunikaciju između pojedinih sistema/uređaja (najčešće je u pitanju merno-informaciona tehnika), koji su međusobno udaljeni maksimalno 20 m. Uređaji svih renomiranih proizvođača merno-informacione opreme (digitalni osciloskopi, digitalni izvori napajanja, logički analizatori, analizatori spektra itd.) poseduju IEEE-488 GPIB magistralu.

Kada se vrši prenos podataka na veća rastojanja koristi se jedinstvena veza, a ne veliki broj veza kao što je to slučaj kod IEEE-488 GPIB.

Page 10: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

10VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

2. [TA SU MIKROKONTROLERI?

2.1. UVOD

Svi današnji računari su realizovani od istih gradivnih blokova. To su centralni procesor ili CPU, memorijski podsistem, ulazno-izlazni podsistem, generatora taktne pobude, i sistemska magistrala koja međusobno povezuje pomenute gradivne blokove. Sistemska magistrala se sastoji od adresne magistrale, magistrale podataka, i upravljačke magistrale.

Najveći broj standardnih računara, kakav je na primer PC mašina, se smešta u jedistveno kučište. Periferije kakvi su štampač, displej, skener, tastatura, miš, i druge se povezuju na računarski sistem preko konektora koji su montirani na kučištu. Druge sistemske komponente kakvi su diskovi, memorije proširenja, mrežne kartice i dr., su locirane u samom kučištu ili pak na osnovnoj ploči (motherboard) računara.

Mikroprocesor je integrisano kolo ili čip lociran na osnovnoj ploči koje u suštini predstavlja CPU računarskog sistema. Uglavnom svet PC mašina je taj koji je bio glavni pokretač razvoja sistema baziranih na mikroprocesorima. Imajući u vidu ovakve zahteve za mikroprocesore kažemo da su u novije vreme postali relativno specijalozovane komponente, posebno pogodne (prilagođene) za veoma brzo manipulisanje podacima.

No kod određenih aplikacija veoma često je neophodno ugraditi određeni iznos lokalnog procesiranja na licu mesta procesa. Tako na primer, automat za izdavanje karata na autobuskim stanicama treba da ima određeni nivo autonomnosti u radu (pameti) tako da za unete podatke preko lokalne tastature sam izračuna cenu karte i izda je. Zbog ovakvog načina rada računarske mašine opšte namene ne predstavljaju dobro rešenje (izbor) za ovakav tip aplikacije, prvenstveno zbog velikog gabarita

Page 11: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

11VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

(dimenzije) mašine, a takođe i zbog visoke cene. Upravo su ovo idealne aplikacije za mikrokontrolere. Nasuprot mikroprocesorima, mikrokontroleri su više orijentisani ka postizanju superiornijih performansi kod aplikacija namemjenih upravljanju, bezbednosti i pouzdanosti u radu. Imajući u vidu da je cena uređaja baziranih na mikrokontrolerima od izuzetne važnosti za krajnjeg korisnika, mikrokontroleri su integrisali na čipu veliki broj standardnih periferala, kontrolere raznih tipova uređaja, kao i memoriju. Na osnovu prethodnog mogli bi da kažemo sledeće: Mikrokontroler je računar na čipu. On sadrži skoro sve osnovne gradivne blokove računarskog sistema (CPU, ROM, RAM, U/I periferije tipa AD i DA konvertore, serijske komunikacione interfejse (UART), paralelne interfejs portove (PIA), tajmere/brojače, LCD drajvere, i dr.) koje se mogu integrisati na jedinstvenom čipu. Danas su mikrokontroleri najviše prodavan tip procesora. Ne bez razloga projektanti sistema relativno male složenosti kažu da su to čipovi upravo projektovani po njihovoj meri, tj. čipove o kojima sanjaju.

Nasuprot mikroprocesorima, cena mikrokontrolera je veoma niska (do nekoliko dolara u odnosu na cenu od stotinu dolara kakva je cena mikroprocesora). Za određene aplikacije niska cena mikrokontrolera je idealno rešenje. Taktna frekvencija na kojoj rade, obim adresibilne memorije, i obim podataka sa kojima manipulišu varira od jednog mikrokontrolera do drugog, šta više i kod jednog istog proizvođača, tako da je posao projektanta da izabere najbolji mikrokontroler za datu aplikaciju.

Drugi važan razlog korišćenja mikrokontrolera, u odnosu na PC mašinu, predstavlja njegova kompaktnost koja se može iskazati konstatacijom: Računar na jednom čipu. Svi mikrokontroleri imaju usađenu memoriju na čipu kao i veći broj ulazno-izlaznih interfejs linija. Veliki broj mikrokontrolera poseduje AD i DA konvertore, impulsno-širinski modulisane (PWM) generatore, sofisticirani sistem prekida, veći broj seriskih i paralelnih ulazno-izlaznih portova, fleksibilni sistem tajmer-brojač događaja, LCD drajver, i dr.

Mikrokontroleri se danas koriste u embedded sistemima za upravljanje raznim funkcijama koje sistem treba da obavi. Na primer, u današnjim automobilima ugrađuje se veliki broj (reda 100) mikrokontrolera koji se koriste za upravljanje radom kočionog sistema, ubrizgavanjem goriva, klima sistemom za grejanje-hlađenje, prikazom informacije na pokaznoj tabli, i td. Drugim rečima, jedno-čipni računar omogućava projektantima da

Page 12: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

12VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

ugrade računar u bilo kom uređaju koji postavlja makar i minimalne zahteve za određenim iznosom izračunavanja.

Mikrokontroleri se veoma često koriste i u situacijama kada treba da se veoma brzo reaguje na spoljne signale posebno ako se takvi sistemi koriste za rad u realnom vremenu pa zbog toga koriste procesiranje bazirano na obradu prekida. Mikrokontroleri mogu takođe da rade po nadzorom operativnih sistema za rad u realnom vremenu (RTOS) čiji je obim manji, pri čemu ovakvi sistemi bolje reaguju (za kraće vreme) na odzive sistema koji se odnose na rad u realnom vremenu, nego što je to slučaj sa operativnim sistemima opšte namene koji se instaliraju na večim mašinama kakve su recimo PC mašine.

2.2. MIKROKONTROLERI: TIPOVI AHHITEKTURA I BLOK [EMAArhitekture mikrokontrolera se mogu podeliti na sledeća dva tipa:

- Harvard tip - karakteriše se razdvojenim memorijama za program i podatke. Svaki tip memorije ima svoj sopstveni fizički adresni prostor i koristi sopstvenu internu adresnu magistralu. Prednost ove arhitekture je ta što se pristup programskoj memoriji i memoriji za podatke ostvaruje konkurentno. Obvakvim pristupom se skraćuje ukupno vreme izvršenja programa. Proizvođači mikrokontrolera Microchip, Zilog, National Semiconductor i Cypress zasnivaju svoje proizvode na Harvard arhitekturi, mada postoje neke neznatne ali važne razlike u pristupima kako ove kompanije implementiraju arhitekturu. Arhitekture ovih mikrokontrolera su tipične za RISC pristup.

- Princeton tip (tzv. von Neumann) - programska memorija i memorija za podatke dele isti adresni prostor. To znači da se instrukcioni kôd može izvršavati kako iz programske tako i iz memorije za podatke. Poznati proizvođači ovih tipova mikrokontrolera su Intel, Atmel, Motorola i dr. Ključna osobina ovih proizvoda je povećan broj instrukcija i adresnih načina rada koji u kombinaciji sa relokatibilnim softverskim magacinom (stack) omogućavaju efikasno korišćenje programskog jezika visokog nivoa C. Arhitekture ovih mikrokontrolera su tipične za CISC pristup.

Mikrokontroleri i digitalni signal procesori (DSP) su poznati tipovi aplikaciono integrisanih procesora (ASIP). U suštini mikrokontroler je mikroprocesor koji je optimiziran za embedded upravljačke aplikacije. Kod ovakvih aplikacija se obično nadgledaju (monitorišu) i postavljaju brojni jedno-bitni upravljački (control) signali, a pri tome se ne obavlja neko intenzivno izračunavanje nad podacima. Zbog ovoga mikrokontroleri imaju jednostavne staze podataka (datapaths) koje su prilagođene za brzo

Page 13: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

13VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

izvršenje operacija na nivou-bita (bit manipulation) kao i operacija čitanja i upis sadržaja bitova sa spoljnih pinova čipa. Pored jednostavne CPU, na istom čipu, mikrokontroleri imaju inkorporirano nekoliko periferalnih komponenata tipične za upravljačke aplikacije, kakve su serijske komunikacione periferije, tajmere/brojače događaja, PWM generatore, AD i DA konvertore, i dr. Pored ostalog programska memorija i memorija za podatke su takođe inkorporirane na samom čipu.

Inkorporiranjem periferala i memorije na istom integrisanom kolu smanjuje se broj dodatnih integrisanih kola koje treba ugraditi u sistem, što rezultira kompaktijoj implementaciji i globalno posmatrano smanjenoj potrošnji, tj rešenje postaje tipa low-power. Činjenica da se programskim putem može direktno pristupati spoljnim pinovima čipa omogućava da program može lako da monitoriše stanje senzora, postavlja u definisano stanje aktuatore, i vrši prenos podataka ka/iz drugih uređaja. Veliki broj proizvođača naziva mikrokontrolere embedded procesore. Razlika između embedded procesora i mikrokontrolera često nije jasna, mada se u stručnoj literaturi termin embedded procesor najčešće koristi za veće (32-bitne) procesore, a termin mikrokontroler za manje (4-, 8-, i 16-bitne) procesore.Opšti blok dijagram mikrokontrolera je prikazan na slici 2.1.

Slika 2.1. Blok dijagram mikrokontrolera

Page 14: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

14VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

2.3. MIKROKONTROLERI U ODNOSU NA MIKROPROCESORE

Da bi ukazali na to kakva razlika postoji između mikroprocesora i mikrokontrolera analiziraćemo sliku 2.2. koja predstavlja jedan detaljan blok dijagram mikroracunarskog sistema.

Dok je mikroprocesor (CPU) integrisana komponenta na jedinstvenom čipu, sam mikrokontroler,na jedinstvenom cipu ima integrisano CPU, RAM i ROM memoriju i ostale ulazno-izlazno orijentisane gradivne blokove (paralelni i serijski interfejsi, tajmeri, logika za prihvatanje prekida, A/D i D/A konvertore i dr.).

Slika 2.2. Detaljni blok dijagram mikroračunarskog sistema

2.4. STRUKTURA MIKROPROCESORA

Na slici 2.3 prikazan je blok dijagram mikroprocesora.CPU čine sledeći blokovi: ALU, PC, SP, određeni broj radnih registara, kola za taktovanje i sinhronizaciju i kola koja se koriste za prihvatanje zahteva za prekid.

Page 15: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

15VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 2.3. Blok dijagram mikroprocesora(CPU-a)Da bi se kompletirao mikroračunarski sistem pored mikroprocesora potrebno je dodati ROM, RAM memorijske dekodere, oscilator, određeni broj ulazno-izlaznih uređaja kakvi su paralelni i serijski portovi za podatke, A/D i D/A konvertore i drugo. Pored ulazno-izlaznih uređaja specijalne namene, često se javlja i potreba da se ugrade i kontroleri prekida, DMA kontroleri, kao i brojaci/tajmeri čiji je zadatak da oslobode CPU-a od obavljanja U/I aktivnosti. Kada se u sistem instaliraju i uređaji za masovno memorisanje (hard disk, CD drajver), kao i tastatura, mis i CRT displej, tada se taj ''mali racunar'' moze koristiti za razlicite aplikacije opste namene.

Osnovna namena CPU-a je da pribavlja podatke, obavlja izračunavanja nad podacima i memorise rezultate izračunavanja na disku, kao i da za potrebe korisnika prikaže te rezultate na displeju (CRT, TFT, LED i dr.). Programi koje koristi mikroprocesor memorisani su na disku odakle se čitaju i smeštaju u RAM. Deo programa, najčešće malog obima, se obično smešta i u ROM-u.

2.5. STRUKTURA MIKROKONTROLERA

Blok dijagram mikrokontrolera prikazan je na slici 2.4. Mikrokontroler je u suštini pravi ''mali računar'' na čipu, koji sadrzi sve gradivne blokove CPU-a (ALU, PC, SP, registre i dr.), ali takođe i RAM, ROM, paralelne i serijske U/I portove, generatore takta i dr.Kao i mikroprocesor, i mikrokontroler je uređaj opšte namene, koji pribavlja podatke, obavlja ograničenu obradu nad tim podacima, i upravlja svojim okruženjem na osnovu rezultata izračunavanja. Mikrokontroler u toku svog rada koristi fiksni program koji je smešten u ROM-u i koji se ne menja u toku životnog veka sistema.

Page 16: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

16VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 2.4. Blok dijagram mikrokontrolera

Mikrokontroler koristi ograničen skup jedno ili dvo-bajtnih instrukcija koje se koriste za pribavljanje programa i podataka iz interne memorije. Veliki broj ulazno-izlaznih pinova mikrokontrolera se može koristiti za više namena, što se softverski definiše.Mikrokontroler komunicira sa spoljnim svetom (pribavlja i predaje podatke) preko svojih pinova, pri čemu je arihitektura i skup instrukcija projektovan za manipulisanje sa podacima obima bajt ili bit.

2.6. RAZLIKE IZMEDJU MIKROPROCESORA I MIKROKONTROLERA

Razlike su brojne ali one koje su najvaznije su sledeće:

Mikroprocesori najcešće CISC tipa za kopiranje podataka iz spoljne memorije u CPU koriste veći broj op-kodova, dok mikrokontroleri jedan ili dva.Za manipulisanje sa podacima tipa bit mikroprocesori koriste jedan ili dva tipa instrukcija, dok kod mikrokontrolera taj broj je veći.

Mikroprocesori su projektovani za brzi prenos podataka iz programa sa spoljno adresiranih lokacija u čip, dok se kod mikrokontrolera brzi prenos bitova obavlja u okviru čipa.

Page 17: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

17VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Mikrokontroler moze da funkcioniše kao računar bez dodataka spoljnih gradivnih blokova (memorije i U/I uređaja), dok operativnost mikroprocesora bez spoljne memorije i U/I podsistema nije moguća.

3. MIKROKONTROLER AT89S8253

Atmelov mikrokontroler AT89S8253 je 8-bitni mikrokontroler izrađen u CMOS tehnologiji i optimizovan za upravljačke aplikacije. Kompatibilan je sa MCS-51 serijom mikrokontrolera. Set instrukcija je kompatibilan sa industrijskim standardom 80C51. Proizvodi se u tri kućišta (DIP-40, PLCC44, TQFP44) i jednom specifičnom (DIP-42) kućištu. Raspored pinova je prikazan na Slici 1. – dok je unutrašnja struktura mikrokontrolera prikazana na Slici 2. U programerskom smislu, AT89S8253 je gotovo identičan sa mikrokontrolerom AT89S53.

3.1. UNUTRA[NJA STRUKTURA MIKROKONTROLERA

Page 18: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

18VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Ukratko, ovaj mikrokontroler poseduje sledeće karakteristike:

- Obimne logičke procesne mogućnosti (jednobitna logika)- Ugrađena flash programska memorija (12 Kb)- Ugrađena RAM memorija podataka (256 x 8 bitova)- 32 dvosmerne (bidirekcione) i pojedinačno adresibilne

ulazno/izlazne linije- Devet izvora prekida- Ugrađeni EEPROM (2Kb)- Programabilni UART sa potpunim dupleksom i detekcijom greške

rama podataka- SPI serijski interfejs - Tri nivoa zaštite programske memorije- Tri 16-bitna tajmera/brojača- Programabilni watchdog tajmer- Flag prestanka napajanja- Režimi smanjene potrošnje- Napajanje u opsegu 4-6V- Ugrađeni oscilator takta- Frekvencija rada do 24MHz.

3.2. OPIS PINOVA

Page 19: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

19VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 3.1. Raspored pinova kod mikrokontrolera AT89S8253

- VCC - napajanje (za sva kucista osim za 42 PDIP);- GND - masa(za sva kućista osim za 42 PDIP,za 42 PDIP masa spaja

logičko jezgro i ugradjene data/program memorije);- VDD - napon napajanja za 42PDIP koji spaja logičko jezgro i

ugradjenu program/data memoriju;- PWR VDD - napon napajanja za 42PDIP koji sadrži samo I/O

drajvere.Aplikaciona ploča mora da spoji zajedno VDD i PWRVDD na zajedničko napajanje;

- PWR GND - masa za 42 PDIP koji spaja samo I/O drajvere .PWR GND i GND su obično spojeni pomoću uobičajenih silikonskih supstrata,ali ne preko bilo kog metalnog linka.Aplikaciona ploča mora zajedno GND i PWR GND spojiti na zajedničku masu;

- PORT 0 - je 8-bitni I/O port,a takodje i izlazni port. Svaki pin može pobuditi 8 TTL ulaza.Kada je 1 s upisana na port 0 može biti visoko impedansni ulaz. Ovaj pin se može koristiti kao multiplekser ali i kao prenosni put niske naredbe address-data u toku prihvatanja spoljašnjih programa i memorijskih podataka. U ovom modu Port 0 ima unutrasnje neprekidno napajanje. PORT 0 takodje prihvata kodove u toku programiranja FLASH memorije i izlazne kodove u toku verifikacije programa;

Page 20: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

20VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

- PORT 1 - Ovaj port je 8-bitni obostrano prihvatni I/O port sa neprekidnim unutrašnjim napajanjem. Izlazne posebne memorijske lokacije PORT 1 mogu pobuditi 4 TTL logicka kola. Kada je 1s upisana na Port 1, pinovi su na visokom nivou uz pomoć unutrasnjeg neprekidnog napajanja i mogu se koristiti kao ulazi. Početna ulazna struja je Iil=150µA zbog unutrašnjeg neprekidnog napajanja. Neki PORT 1 pinovi mogu imati i druge dodatne funkcije P.1.0 i P.1.1 mogu služiti kao 2 spoljašnja TIMER /COUNTER ulaza (P 1.0/T2) i 2. aktivni ulaz (P 1.1/T2 EX) CLOCK/COUNTER respektivno. Osim toga P 1.4,P 1.5, P 1.6, P 1.7 mogu služiti za pomoćne portove. DATA INPUT/OUTPUT i CLOCK INPUT/OUTPUT pinovi su prikazani u narednoj tabeli:

Ovaj port prihvata adrese niskih nivoa u toku programiranja i verifikacije FLASH memorije.

- PORT 2 je 8 bitni dvosmerni I/O port sa unutrašnjim neprestanim napajanjem. Izlazne pomoćne memorije PORT-a 2 mogu prihvatiti/napajati 6 TTL ulaza. Kada je 1s na ulazu Porta 2 on je na visokom nivou uz pomoć neprekidnog unutrašnjeg napajanja i mogu se koristiti kao ulazi. Kod ovih ulaza tipična ulazna stuja je 150 µA zbog slabog unutrašnjeg neprekidnog napajanja. PORT 2 emituje adrese visokih naredbi u toku donošenja podataka od spoljasnje memorije i u toku prihvatanja podataka iz spoljašnje memorije koje koriste 16-bitne adrese(MOVX I DPTR). U ovom slucaju PORT2 kada emituje 1s koristi jako unutrašnje napajanje . U toku prihvatanja podataka iz spoljašnje memorije PORT 2 korist 8 bitne adrese (MOVX I RI). PORT2 takodje ima i specijalne funkcije registra. PORT 2 takodje prihvata adresne bitove visokog zahteva i neke kontrolne signale u toku programiranja i potvrde FLASH memorije.

- PORT 3 je 8 bitni dvosmerni I/O port sa neprekidnim unutrašnjim napajanjem. PORT 3 pomoćne memorije mogu pobuditi 6 TTL ulaza. Kada se upisuju podaci na PORT 3, ovaj PORT dosta energije vuče od unutrašnjeg neprekidnog napajanja i tada se mogu koristiti ulazi. Kod ovih ulaza uz pomoc spoljašnjeg napajanja struja je

Page 21: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

21VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

tipicno 150 µA zbog slabog unutrašnjeg napajanja. PORT 3 takodje prihvata i pojedine kontrolne signale za programiranje FLASH memorije. PORT 3 takodje predstavlja i servis specijalnih promenljivih osobina AT89S8253 koji su prikazani u tabeli:

NAPOMENA: Svi pinovi u PORT 1 i PORT 2 kao i pinovi PORT 3 (izuzev P3.2 INT 0 i P 3.3 INT 1) imaju sopstveno nepekidno napajanje koje je nedostupno uPOWER-DOWN modu. Pinovi P 3.2 (INT 0) I P 3.3 (INT 1) su aktivni podjednako i u POWER –DOWN modu ( da bi mogli da potražuju prekide za izlaz iz POWER-DOWN moda) uz stalno uključeno unutrašnje napajanje.

- RST - RESET ulaz. Ovaj pin ima visoki nivo za najmanje 2 ciklusa.- ALE/PROG - omogućava blokiranje podataka. ALE/PROG je ustvari

izlaz koji blokira niske byte adrese (u toku opadajuce ivice) u toku prihvatanja spoljašnje memorije. Ovaj pin je takodje ulazni impuls programa (PROG) u toku programiranja FLASH-a. U normalnom radu ALE traje 1/6 frekvencije oscilovanja i može biti upotrebljen za spoljasnji counter i clock. Važno je, medjutim, da je ALE impuls preskočen u toku svakog prihvatanja podataka iz spoljašnje memorije. ALE operacija moze biti onemogućena postavljanjem bita 0 AUX R SFR na lokaciju 8EH. Sa umetanjem bita, ALE je aktivan samo u toku MOVX ili MOVC instrukcije. Postavljanjem ALE disable, bit nema efekta na mikrokontroler u spoljašnjem izvršnom modu.

- PSEN - omogućava čuvanje programa. PSEN čita strobe za programiranje spoljašnje memorije. Kada AT89S8253 izgubi code od izlazne memorije programa, PSEN je aktivan dvostruko u toku svakog ciklusa mašine izuzev 2 PSEN u toku svakog prihvatanja podataka od spoljašnje memorije.

- EA/VPP - spoljašnje omogućavanje pristupa. EA mora biti na GND u naredbi za omogućavanje komponente za unošenje podataka iz spoljašnje memorijske lokacije startujući od 0000H sve do FFFFH.

Page 22: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

22VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Uprkos tome ,to je moguce samo ako je zaključani bit 1 programiran, i EA ce biti postavljeno na RESET.

- EA treba biti postavljen na Vcc za izvršenje unutrasnje naredbe, ovaj pin takodje prihvata Vpp napon pristupa u toku programiranja FLASH memorije kada je 12 V programiranje selektovano.

- XTAL 1 - ulaz u invertovani pojačavač oscilatora i ulaz u unutrašnji clock električnog kola.

- XTAL 2 - izlaz iz invertovanog pojačavača oscilatora.

Slika 3.2. Unutrašnja struktura mikrokontrolera AT89S8253

3.3. REDUKOVANI RE@IM NAPAJANJA

U cilju uštede potrošnje električne energije, koja je dostupna za CMOS kola, Atmel-ovi flash mikrokontroleri mogu da uđu u dva režima redukovanog napajanja:

Page 23: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

23VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

- Režim praznog hoda (Idle Mode). CPU se prestaje sa radom, dok RAM i drugi ugrađeni pe-riferali u mikrokontroleru nastavljaju da rade. U ovom režimu rada, mikrokontroler se napaja strujom koja iznosi oko 15% vrednosti struje u normalnom režimu, tj. kada je mikrokontroler potpuno aktivan. U ovom modu (režimu rada), mikrokontroler tipično povlači struju oko 2 μA.

- Režim smanjene potrošnje (Power Down Mode). Sve aktivnosti unutar mikrokontrolera su suspendovane, dok RAM i dalje zadržava svoj sadržaj. U ovom režimu, mikrokontroler tipično povlači struju oko 1 μA, a ponekad i manje od 0.2 μA. Kao dodatak, ovi mikrokontroleri su projektovani korišćenjem statičke logike, koja ne zahteva kontinualno taktovanje. To znači da frekvencija takta mikrokontrolera može usporiti ili čak zaustaviti, dok se čeka na unutrašnji događaj.

3.4. PROGRAMSKA MEMORIJA

Svi Atmel-ovi flash mikrokontroleri imaju odvojene adresne prostore za programsku i memoriju podataka, što je prikazano na Slici 3. Ovo logičko odvajanje omogućava da se memorija podataka adresira sa 8-bitnim adresama, koje mogu brže da se memorišu. Pored toga, 16-bitne memorijske adre-se mogu da se generišu preko DPTR registra. Moguće samo čitanje programske memorije, koja može da se direktno adresira do 64 Kb. Impuls PSEN (Program Signal Enable Store) služi za čitanje spo-ljašnje programske memorije (vidi Sliku 3.3). Memorija podataka zauzima odvojeni adresni prostor od programske memorije. Do 64Kb spoljašnje memorije može da se direktno adresira u spoljašnjem memorijskom prostoru podataka. Mikroprocesor generiše signale čitanja (RD) i upisa (WR), tokom pri-stupa spoljašnjoj memoriji podataka. Spoljašnja programska memorija i spoljašnja memorija podataka mogu da se kombinuju primenom RD i PSEN signala na ulazu I (AND) kola.

Page 24: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

24VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 3.3. Struktura programske i memorije podataka

Najniže adrese programske memorije mogu da se nalaze ili u ugrađenoj flash memoriji ili u spoljašnjoj memoriji. Da bi se ovo odabralo, treba povezati EA (External Access) pin na masu (GND), a sva programska obraćanja usmerena su prema spoljašnjoj memoriji. Impuls za čitanje spoljne me-morije, PSEN, koristi se za sva spoljašnja programska obraćanja. nutrašnja programska obraćanja ne mogu da aktiviraju PSEN .Mapa donjeg dela programske memorije prikazana je na Slici 3.4. Posle reseta, mikroprocesor započinje da izvršava instrukcije počev od memorijske lokacije 0000H. Kao što se vidi na slici, svakom prekidu je dodeljena fiksna lokacija u programskoj memoriji. Prekid inicira da mikroprocesor “skoči” na tu lokaciju, gde izvršava servisnu rutinu. Spoljašnji Prekid 0, na primer, dodeljen je memorijskoj lokaciji 0003H. Ako se koristi spoljašnji Prekid 0, njegova servisna rutina mora da započne od lokacije 0003H. Ukoliko se ne koristi prekid, pomenuta servisna lokacija je dostupna kao programska memorija opšte namene. Prekidne servisne lokacije postavljene su u 8-bitnim intervalima (razmacima):

- 0003H za spoljašnji Prekid 0, - 000BH za Tajmer 0,- 0013H za spoljašnji Prekid 1, - 001BH za Tajmer 1, i tako dalje.

Page 25: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

25VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Ukoliko je servisna rutina prekida dovoljno kratka (to je čest slučaj u upravljačkim aplikaci-jama), ista može potpuno da se smesti unutar 8-bajtnog intervala. Duže rutine prekida mogu da koriste instrukciju skoka, kako bi preskočili sledeće prekidne lokacije – ako su u upotrebi drugi prekidi.

Slika 3.4. Programska memorija

3.5. MEMORIJA PODATAKA

Desna polovina Slike 3. prikazuje unutrašnje i spoljašnje memorijske prostore dostupne kod Atmel-ovih flash mikrokontrolera. Slika 4 prikazuje konfiguraciju za pristupanje do 2Kb spoljaš-nje RAM memorije. U ovom slučaju, mikroprocesor izvršava program iz unutrašnje flash memorije. Port 0 služi kao multipleksirana magistrala adresa/podataka za RAM, dok se 3 linije Porta 2 koriste za straničenje RAM-a.

Može se dodeliti do 64 Kb spoljašnje memorije podataka. Adrese spoljašnje memorije podataka mogu da budu širine 1 ili 2 bajta. Jednobajtne adrese često se koriste u vezi sa jednim ili više drugih ulazno/izlaznih linija za straničenje RAM-a, kao što je prikazano na Slici 3.5. Dvo-bajtne adrese se takođe mogu koristiti, i u tom slučaju bajt više adrese se pojavljuje na Portu 2.

Page 26: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

26VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 3.5. Izvršavanje programa iz spoljašnje memorije

Konfiguracija hardvera za izvršavanje spoljašnjeg programa je prikazana na Slici 3.5. Vidimo da 16 ulazno/izlaznih linija (Port 0 i Port 2) su posvećeni radu sa magistralom tokom obraćanja spoljašnjeg programa memoriji. Port 0 (P0 na Slici 5) služi kao multipleksirana magistrala adresa/podataka.

Slika 3.6. Pristupanje spoljašnjoj memoriji podataka

On postavlja niži bajt programskog brojača (Program Counter) PCL kao adresu i zatim prelazi u plivajuće stanje, dok čeka na pristizanje bajta kôda iz programske memorije. Tokom vremena kada je PCL važeći na P0, signal ALE (Address Latch Enable) postavlja ovaj bajt u adresni leč. U međuvremenu, Port 2 (P2 na Slici 5) postavlja viši bajt programskog brojača PCH. Tada PSEN šalje impulsspoljašnjoj memoriji, i mikrokontroler čita bajt kôda. Adrese programske memorije su uvek 16-bitne, čak i kada kapacitet upotrebljene memorije

Page 27: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

27VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

može da bude manja od 64 Kb. Izvršavanje spoljašnjeg programa “troši” (“žrtvuje”) dva 8-bitna porta (P0 i P2), zbog operacije adresiranja prog-ramske memorije.

Ukoliko je programska memorija unutrašnja, ostali bitovi P2 dostupnisu kao ulaz/izlaz. Unutrašnja memorija podataka je prikazana na Slici 3.6. Memorijski prostor je podeljen u tri bloka, koji se uglavnom nazivaju niži 128, gornji 128, i SFR prostor.

Adrese unutrašnje memorije podataka su uvek dužine 1 bajt, što znači da se adresira samo prostor od 256 bajtova. Ipak, način adresiranja unutrašnjeg RAM-a može da, u stvari, smesti 384 bajtova. Direktne adrese veće od 7FH pristupaju jednom memorijskom prostoru, a indirektne adrese veće od 7FH pristupaju različitom memorijskom prostoru. Prema tome, Slika 3.7 ilustruje Gornji 128 i SFR prostor koji zauzima isti blok adresa, od 80H do FFH, iako su oni fizički odvojeni entiteti.

Slika 3.7. Unutrašnja memorija podataka

Page 28: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

28VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 3.8. Nižih 128 bajtova unutrašnjeg RAM-a

Slika 3.9. Gornjih (viših) 128 bajtova RAM-a

Slika 3.8 ilustruje kako je mapirano nižih 128 bajtova RAM-a. Nižih 32 bajtova je grupi-sano u 4 banke od 8 registara. Programske instrukcije pozivaju ove registre kao R0 do R7. Dva bita u registru programske statusne reči PSW (Program Status Word) selektuju koja je registarska banka u upotrebi. Ova arhitektura omogućava efikasniju upotrebu kôdnog prostora, pošto su registarske instrukcije kraće od instrukcija koje koriste direktno adresiranje. Sledećih 16 bajtova iznad registarskih banki formira blok bit-adresibilnog memorijskog prostora. Skup instrukcija mikrokontrolera uključuje veliki broj instrukcija sa jednim bitom, i ove instrukcije mogu direktno da adresiraju 128 bitova u ovom prostoru. Ove bit-adrese su od 00H do 7FH. Svi bajtovi u donjih 128 bajtova prostora mogu da se adresiraju ili direktno ili indirektno. Gornjih 128 (Slika 3.9) može da se adresira samo indirektno. Gornjih 128 bajtova RAM-a su samo u uređajima sa 256 bajta RAM-a.

Page 29: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

29VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Na Slici 3.10 prikazan je prostor registara specijalnih funkcija SFR (Special Function Register). SFR uključuje lečeve porta, tajmere, kontrolu periferala itd. Ovi registri mogu da se adresiraju samo direktno, tj. pristupa im se direktnim adresiranjem.

Slika 3.10. Prikaz registara specijalne namene

3.6. PROGRAMSKI STATUSNI REGISTAR

Programski statusni registar (PSW) sadrži bitove statusa koji ukazuju na trenutno stanje mikroprocesora. PSW, prikazan na Slici 3.11, smešten je u SFR prostor. PSW sadrži bit prenosa (carry bit), bit pomoćnog prenosa (auxiliary carry bit) za BCD operacije, dva bita za selekciju banke registara, marker prekoračenja (overflow flag), bit parnosti (parity bit), i dva korisnička statusna markera.

Bit prenosa, služi kao bit prenosa u aritmetičkim operacijama, a takođe služi i kao akumulator za veliki broj logičkih operacija. Bitovi RS0 i RS1 selektuju jednu od četiri registarke banke prikazane na Slici 3.8. Veliki broj instrukcija se obraća ovim lokacijama kao R0 do R7. Status bitova RS0 i RS1 u vreme izvršenja određuje koja je od četiri banke selektovana.

Page 30: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

30VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Bit parnosti ukazuje na broj jedinica u akumulatoru: P=1 – ukoliko akumulator sadrži neparan broj jedinica, i P=0 – ukoliko akumulator sadrži paran broj jedinica. Prema tome, broj jedinica u aku-mulatoru plus P uvek je paran broj.

Dva bita u PSW su neiskorišćeni i mogu da se upotrebe kao statusni bitovi opšte namene.

Slika 3.11. PSW registar u Atmelovim flash mikrokontrolerima

3.7. TAKTOVANJE MIKROPROCESORA

Svi Atmelovi flash mikrokontroleri poseduju ugrađeni oscilator, koji se može da se koristi kao izvor za njegov mikroprocesor. Da bi se koristio ugrađeni oscilator, treba povezati kristalni ili keramički rezonator između pinova XTAL1 i XTAL2 mikrokontrolera, i da se povežu kondenzatori prema masi, kao što je prikazano na Slici 12.

Primer napajanja sa taktom iz spoljašnjeg oscilatora je prikazan na Slici 3.13. Unutrašnji takt ge-nerator definiše sekvence stanja koje čine mašinski ciklus.

Napomenuto je u uvodu kako mikroprocesor mikrokontrolera AT89S8253 može da se taktuje frekvencijom. Vrednosti kondenzatora na Slikama 3.12 i 3.13 mogu da uzimaju vrednosti 30±10 pF.

Page 31: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

31VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 3.12. Korišćenje ugrađenog oscilatora

Slika 3.13. Povezivanje oscilatora (A) i konfiguracija sa spoljašnjim taktom (B)

3.8. MA[INSKI CIKLUSI

Mašinski ciklus čini sekvenca od šest stanja, numerisanih od S1 do S6. Svako stanje traje dve pe-riode oscilatora. Prema tome, mašinski ciklus traje 12 perioda oscilatora ili 1μs ako je frekvencija os-cilatora 12 MHz. Svako stanje podeljeno je na dve faze.

3.9. BROJA^I/TAJMERI

Mikrokontroler AT89S8253 ima tri šesnaestobitna tajmersko-brojačka registra. Tajmeri se mogu kofigurisati da rade u četiri moda rada, izuzetak je tajmer 2 koji može da radi u tri moda rada. Kada rade kao brojači, sadržaj tajmerskog registra se uvećava za jedan na svaku silaznu ivicu odgovarajućeg ulaza mikrokontrolera (T0 za tajmer 0, T1 za tajmer 1 i T2 za tajmer 2).

Page 32: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

32VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Maksimalna frekvencija ulaznog signala koju brojač može da prati je 24 puta manja od radnog takta mikrokontrolera. Kada rade kao tajmeri sadržaji tajmerskih registara se uvećava za jedan u svakom mašinskom ciklusu. Jedan mašinski ciklus traje 12 perioda radnog takta mikrokontrolera. Npr , ako je radni takt 24MHz, registri se uvećavaju svakih 500 ns.

Svakom tajmeru pripadaju po dva osmobitna registra:

- tajmeru 0: TH0 i TL0,

- tajmeru 1: TH1 i TL1 i

- tajmeru 2: TH2 i TL1.

3.9.1. KONTROLA RADA TAJMERA

Radom tajmera 0 i 1 upravlja se pomoću registara TMOD i TCON.

Značenje pojedinih bita je sljedeće:

GATE – kontrola gejta. Kada je ovaj bit na jedinici odgovarajući tajmer može da broji kada je pripadajući TR bit jedinica i pripadajući INTx ulaz

Page 33: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

33VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

mikrokontrolera visok. Ako je vrijednost GATE bita 0, onda je dovoljno da odgovarajući bit TR bude visok.

C/’T- ovaj bit određuje da li odgovarajući tajmer radi kao brojač opadajućih ivica na odgovarajućem T ulazu (C/’T= 1) ili kao tajmer (C/’T= 0).

M1 M0 Način rada (mod)

0 0 Mod 0 – tajmer radi kao 13-bitni brojač

0 1 Mod 1 – tajmer radi kao 16-bitni brojač

1 0 Mod 2 – tajmer radi kao osmobitni brojač. Brojaregistar

TL, nakon preticanja se puni sadržajem TH registra (auto reload)

1 1 Mod 3 – tajmer 1 je u ovom modu zaustavljen, a tajmer 0

radi kao dva odvojena osmobitna tajmera

Struktura TCON registra:

Značenje pojednih bita je sljedeće:

TF1 – zastavica preteka tajmera 1 automatski se briše kada se skoči na potprogram za opsluživanje prekida.

TR1 – postavljanje ovog bita tajmer 1 počinje da broji, dok u suprotnom ne broji.

TF0 – zastavica preteka tajmera 0 automatski se briše kada se skoči na potprogram za opsluživanje prekida.

Page 34: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

34VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

TR0 – postavljanje ovog bita tajmer 0 počinje da broji, dok u suprotnom ne broji.

IE1 – zastavica detektovanog spoljašnjeg zahtjeva za prekidom 1. Kada je zahtjev detektovan postavlja se na jedinicu, a briše se automatski kada se skoči na potprogram za opsluživanje prekida.

IT1 – određuje da li je ulaz spoljašnjeg prekida osjetljiv na na opadajuću ivicu (IT1=1) ili na nizak nivo (IT1=0).

IE0 – zastavica detektovanog spoljašnjeg zahtjeva za prekidom 0. Kada je zahtjev detektovan postavlja se na jedinicu, a briše se automatski kada se skoči na potprogram za opsluživanje prekida.

IT0 – određuje da li je ulaz spoljašnjeg prekida osjetljiv na na opadajuću ivicu (IT0=1) ili na nizak nivo (IT0=0).

3.9.2. MODOVI RADA TAJMERA 0 I 1

Preticanje: Kada svi bitovi registra tajmera/brojača postanu jedinice, sledećim uvećanjem sadržaja svi bitovi postaju nule.

Mod 0:U ovom modu tajmer predstavlja 13-bitni tajmer/brojač. Preticanje tajmera izaziva postavljanje odgovarajućih interapt zastavica (TF2, TF1, TF0). Postavljanje interapt zastavice izaziva prelazak na izvršenje servisne rutine, ako je odgovarajući interapt dozvoljen. Biti TF1, TF0 automatski se brišu prilikom skoka na prekidnu rutinu.Mod 1:Mod 1 je isti kao mod 0, s tim da se koristi svih 8 bita registra TL1 tako da imamo 16-bitni registar tajmera.

Page 35: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

35VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 3.14. Mod 0 ili 1 tajmera 0 ili 1

Mod 2U ovom modu tajmer je kao osmobitni sa automatskim punjenjem incijalne vrijednosti nakon preticanja. timer 0 At89S8253.

Slika 3.15. Mod 2 tajmera 0 ili 1

Page 36: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

36VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

3.10. OPIS PREKIDA KOD MIKROKONTROLERA

U mikroprocesorskim sistemima često je potrebno istovremeno pratiti rad više perifernih jedinica. To se može postići neprestanim prozivanjem jedne po jedne jedinice, proveravajući njihova stanja. Ako se utvrdi da je došlo do neke promene na nekoj od tih periferija na koju treba reagovati, preduzimaju se odgovarajuće akcije kao odgovor na promene. Na primer, nakon startovanja konverzije A/D konvertora neprekidno se vrši čitanje stanja BUSY nožice konvertora, koje označava da li je konverzija u toku ili je završena. Ako neko očitavanje pokaže da je konverzija završena, tada se učita odgovarajući podatak sa konvertora. U ovom slučaju mikrokontroler je neprestano zauzet proverom stanja na liniji BUSY A/D konvertora.

Drugi način praćenja rada više perifernih jedinica je da same jedinice jave kada je potrebno opsluživanje. Ta metoda se naziva metodom prekida, dok se prethodno opisana naziva metodom prozivanja (pooling). Dakle, kada se koristi metoda prekida, periferna jedinica posebnim signalom javlja kada je neophodna reakcija upravljačkog uređaja tj. mikrokontrolera. Taj signal se zove zahtev za prekidom odnosno interaptom (interrupt request). Slučaj iz prethodnog primera bi se mogao rešiti povezivanjem BUSY nožice konvertora na odgovarajuću INT (spoljašnji prekid) nožicu mikrokontrolera. Kada se BUSY deaktivira izaziva se prekid. Nakon što mikrokontroler uvaži zahtev, prelazi na podprogram za opsluživanje prekida (u ovom slučaju čitanje vrednosti konverzije), a nakon toga nastavlja sa izvršavanjem programa gde je prekinut u trenutku stizanja zahteva za prekidom. U ovom slučaju mikrokontroler se ne opterećuje proverom stanja na periferiji nego samo izvodi odgovarajuću akciju kada je to potrebno. Iz ovoga je jasno da u ovom slučaju mikrokontroler potroši mnogo manje vremena za opsluživanje periferija, zbog čega i program može biti mnogo efikasniji.

Page 37: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

37VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

4. A/D KONVERTORI

4.1. UVOD U A/D KONVERTORE

Analogno-digitalna konverzija predstavlja generisanje digitalnog kodovanog broja koji odgovara analognom ulaznom signalu. Elektronsko kolo koje vrši konverziju naziva se analogno-digitalni konvertor, ili skraćeno A/D konvertor (ADC).

Kod savremenih tehnika merenja, dominantnu grupu instrumenata i merne opreme, čine digitalni merni instrumenti. Oni često ne samo da poseduju naprednije performanse u odnosu na odgovarajuće analogne instrumente (brzina, propusni opseg, pouzdanost, otpornost na smetnje, minijaturizacija, itd.), već imaju i znatno nižu cenu, a omogućavaju i veoma jednostavnu automatizaciju procesa merenja. Nažalost, veličine koje je potrebno dovesti na ulaze u merni sistem, samo su u veoma malom broju slučajeva, po svojoj prirodi digitalne. Pa čak i tada, često je potrebno analizirati parametre ovih digitalnih veličina na najnižem, fizičkom nivou, naročito u postupcima overe i atestiranja sistema ili dijagnostike, kod neregularnog rada usled otkaza ili ispada. Sa stanovišta merenja, jedini način da se ovakvi signali ispravno okarakterišu i u tim situacijama, jeste da se tretiraju kao analogne veličine i opišu odgovarajućim analognim parametrima.

Elementaran analogno-digitalni konvertor je naponski komparator. Ulazni analogni signal -Vul, komparator konvertuje u jednobitnu digitalnu informaciju D=d0, tako da d0=0 označava da je Vul<V1, a d0=1 da je Vul>V1, gde je V1 unapred određen naponski prag. Ako je potrebno da se veličina analognog napona odredi sa većom preciznošću i predstavi u digitalnom obliku, potrebno je porediti ulazni napon sa više naponskih pragova. Šema ovakvog jednog konvertora prikazana je na Slici 4.1.

Page 38: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

38VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 4.1. Principijelna šema A/D konvertora

Na Slici 4.1. je prikazana principijelna šema A/D konvertora koja sadrži m komparatora i koder sa m ulaza i n izlaza. Ako se naponi Vi rasporede ekvidistantno unutar naponskog opsega od 0 do Vps, na osnovu izlaza kom-paratora ki može da se odredi u kom se naponskom opsegu nalazi ulazni signal Vul. Digitalnu informaciju sa komparatora koder koduje u digitalni broj izabranog binarnog brojnog sistema. Na Slici 4.2. prikazana je idealna karakteristika prenosa A/D konvertora u slučaju da postoji 8 nivoa komparacije ulaznog napona.

Slika 4.2. Karakteristika prenosa idealnog A/D konvertora

Ako se ulazni napon linearno menja od 0 do napona pune skale Vps , izlazna digitalna informacija može da ima m + 1 = 9 diskretnih stanja: 0 za Vul<V1 , 1 za V1<Vul<V2, 2 za V2<Vul<V3 , ... 7 za V7<Vul<V8 i ''PREKORAČENJE'' ako je ulazni napon Vul>V8.

Page 39: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

39VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Karakteristika prenosa na Slici 1.2. pretpostavlja ekvidistantno raspoređene napone Vi , idealne komparatore bez histerezisa i nulto vreme propagacije signala kroz komparatore i koder. Realna karakteristika prenosa će odstupati od idealne i mogu se definisati statičke i dinamičke greške koje unosi realan A/D konvertor.

Statičke karakteristike A/D konvertora se definišu tako što se definišu apsolutna linearnost, greška (ofset) nule, greška pune skale, greška pojačanja i diferencijalna linearnost. U slučaju velike diferencijalne nelinearnosti, kada je narušena monotonost karakteristike prenosa, za A/D konvertore se češće koristi termin "izgubljen kôd" (missed code), umesto nemonotonost.

Pošto je izlazna informacija A/D konvertora digitalni broj, dinamičke karakteristike A/D kovertora se svode na specificiranje potrebnog vremena da se od trenutka početka konverzije na izlazu A/D konvertora postavi digitalni ekvivalent ulaznog analognog signala. Ovo vreme se naziva vreme konverzije. Rezolucija, odnosno, broj nivoa kvantizacije ulaznog signala se najčešće definiše brojem bita izlazne digitalne informacije, ako je primenjen prirodni binarni kôd, ili brojem decimalnih cifara, za A/D konvertore koji generišu izlaznu informaciju u BCD kodu. Povećanje rezolucije A/D konvertora sa Slike 1.1. se može postići jedino povećanjem broja naponskih nivoa, odnosno, brojem komparatora. Za povećanje rezolucije za samo jedan bit, potrebno je duplirati broj komparatora i srazmerno proširiti kombinacionu mrežu kodera. Tako je za 8-bitni konvertor potrebno 256 komparatora. Pošto je u praksi potrebno obavljati A/D konverziju i sa mnogo većom rezolucijom, direktna konverzija sa 2n komparatora i kodne mreže postaje neekonomična zbog velikog broja komponenti. U cilju smanjenja broja sastavnih elektronskih kola, primenjuju se različite metode za A/D konverziju.

Uglavnom se A/D konvertori klasifikuju po načinu ili brzini konverzije. Najčešće se proizvode i koriste tri klase A/D konvertora:

Vrlo brzi A/D konvertori, formirani korišćenjem paralelnih komparatora koji se jos nazivaju i direktni ili fleš A/D konvertori.

Konvertori srednje brzine, koji napon na ulazu porede sa referentnim naponom generisanim D/A konvertorom.

Konvertori male brzine, koji najčešće proces konverzije napona u digitalni broj obavljaju merenjem vremena za koje napon, koji raste linearno sa vremenom, dostigne vrednost ulaznog napona. Ovakvi konvertori se još nazivaju i serijski A/D konvertori , A/D konvertori sa vremenskim ekvivalentom, ili integratorski A/D konvertori.

4.2. UVOD A/D KONVERTOR – AD9243AS

Page 40: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

40VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

AD9243 ima 3 MSPS, jednosmerno napajanje i on je 14-bitni analogo-digitalni konvertor (ADC). Predstavlja kombinaciju niske cene, velike brzine CMOS procesa i moderne arhitekture i može da postigne rezoluciju i brzinu postojećih hibridnih primena na delu potrošnje snage i cene. On je potpuno monolitan ADC čip, visokih performansi, niskog šuma sample-and-hold pojačavača (SHA) i programirajuće voltaže. Spoljašnje definisanje takođe može biti izabrano tako da podesi tačnost i temperaturni drift zavisno od zahteva programa. Uređaj koristi višestepenu diferencijalnu pipeline strukturu sa korekcijskom logikom na digitalnim izlazima koja garantuje ne nestajanje kodova u celom temperaturnom opsegu.

Ulaz je vrlo prilagodljiv, omogućava lak priključak za projektovanje, komunikaciju, medicinu i akviziciju podataka. Diferencijalna ulazna struktura omogućava single-ended i diferencijalni mod. SHA je jednako svrsishodno za oba multipleksirana sistema koji prebacuju punu skalu naponskog nivoa u susednim kanalima isto kao i uzorkovanje iz pojedinačnog kanala ulaza sa frekvencijom do i izvan Nikvistove brzine. AD9243 se pokazao dobro i u komunikacijskim sistemima koji koriste Direct-If Down konverziju pošto SHA u diferencijalnom input modu može postići odlične dinamičke karakteristike well beyond njegove Nikvistove frekvencije od 1.5 MHz.

Jedan clock ulaz se koristi za kontrolu svih unutrašnjih konverzijskih ciklusa. Izlazni digitalni podaci se prikazuju u binarnom sistemu. OTR signal prikazuje prekoračenje i sa MSB definiše nisko ili visoko prekoračenje.

AD9243 je smešten u kućištu 44-lead Metric Quad Flatpack

Niska snaga i jednosmerno napajanje Troši 110 mW na +5 V jednosmernom napajanju.

Odlične DC karakteristike pri temperaturi AD9243 omogućava ne gubljenje kodova i odlične karakteristike temperaturnog drifta u celom random temperaturnom opsegu.

Odlične AC karakteristike i nizak šum AD9243 omogućava skoro 13 ENOB karakteristike i ima propisan šum od 0.36 LSB rms.

Prilagodljiv analogni ulazni opseg Prilagodljiv SHA može biti konfigurisan za single-ended ili diferencijalni ulaz menjanja ulaznog raspona.

Prilagodljiv digitalni izlaz Digitalni izlaz može biti konfigurisan za priključak na +3 V i +5 V CMOS logičku familiju.

Page 41: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

41VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 4.3 Funkcionalna blok {ema

Page 42: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

42VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

AD9243 koristi četvorostepenu pipeline strukturu sa širokopojasnim ulaznim SHA pojačavačem izrađenog u ekonomičnom CMOS procesu. Svaki stepen pipeline, isključujući poslednji, sastoji se od fleša A/D male rezolucije povezanog sa komutacijskim kondezatorom DAC i međustepenim pojačavačem ostatka (MDAC). Pojačavač ostatka pojačava razliku između obnovljenog DAC izlaza i fleš ulaza za sledeći stepen pipelina. Jedan bit redundancije se koristi u svakom stepenu da omogući digitalno ispravljanje fleš grešaka. Poslednji stepen se sastoji samo od A/D fleša.

Pipeline struktura omogućava veći protok brzine po ceni kašnjenja. To znači da dok konvertor hvata novi ulazni uzorak u svakom clock ciklusu, potrebno je tri clock ciklusa da se izvrši konverzija i da se pojavi na izlazu. Ovo kašnjenje se ne uzima u obzir u mnogim programima. Digitalni izlaz zajedno sa OTR-om je zapamćen u izlaznim baferima i dovodi se na izlazne pinove. Izlazni drajveri mogu biti konfigurisani za priključak na +5V ili +3.3V logičkim familijama.

AD9243 koristi obe ivice takta u njegovom unutrašnjem vremenskom podešavanju kola. A/D uzorci analognog ulaza uzimaju se pri uzlaznoj ivici taktnog ulaza. Za vreme trajanja niskog clocka, između opadajuće i uzlazne ivice clocka,ulaz SHA je u sample modu; za vreme trajanja visokog clocka nalazi se u hold modu. Sistem smetnji ispred uzlazne ivice takta i/ili prekomeran clock džiter može uzrokovati da ulaz SHA stekne pogrešnu vrednost i treba biti minimizovan.

Page 43: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

43VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 4.4 Vremenski dijagram4.3. ANALOGNI ULAZ

Slika 4.5. pokazuje odnos između analognog ulaza, VINA, VINB i preporučene voltaže, VREF. Kao što je voltaža dodeljena najvišem otporniku na lestvici u A/D konvertoru, vrednost VREF definiše maksimume ulazne voltaže u A/D jezgro. Minimalna ulazna voltaža u A/D jezgru je automatski definisano na –VREF.

Slika 4.5. Ekvivalentno funkcionalno kolo

Dodavanje diferencijalnog ulaza daje korisnicima dodatni nivo prilagodljivosti koji nije moguć sa tradicionalnim fleš konvertorima. Ulazni stepen dozvoljva korisnicima da jednostavno konfigurišu za single-ended operacije ili diferencijalne. A/D ulazna struktura dozvoljava da dc offset ulaznog signala bude različit nezavisno od raspona konvertora. Ulaz A/D jezgra je razlika između voltaže dovedene na VINA i VINB pinove.

Vcore=VINA-VINB

Vcore mora da zadovolji uslov, -VREF≤Vcore≤VREF

VREF je napon na VREF pinu.

Dok postoji bezbroj kombinacija na VINA i VINB ulazima koje zadovoljavaju prethodnu jednačinu, postoji dodatno ograničenje na ulazu od napajanja AD9243. Napajanje ograničava radni opseg za VINA i VINB.

Page 44: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

44VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

AVSS-0.3 V<VINA<AVDD+0.3 V

AVSS-0.3 V<VINB<AVDD+0.3 V

AVSS je nominalno 0 V i AVDD je nominalno +5 V

U tabeli 4.1 i tabeli 4.2 je prikazan pregled različitih ulaznih vrednosti analognog napona i preporučene konfiguracije.

Tabela 4.1

Tabela 4.2Efektivni nominalni napon, koji koristi unutrašnje kolo AD9243, pojavlju je se na CAPT i CAPB pinovima. Za pravilan rad kada koristimo unutrašnje ili

Page 45: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

45VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

spoljašnje definisanje, neophodno je dodati kapacitivnu mrežu na ovim pinovima kako bi se izvršilo decoupling mreže.

Slika 4.6. Preporučen decoupling mreže

AD9243 ima visoko fleksibilnu ulaznu strukturu koja omogućava priključak za single-ended ili diferencijalni mod. DC coupled single-ended ulaz može biti pogodan za akviziciju podataka i projektovanja aplikacija. Mnogo komunikacijskih programa koji zahtevaju DC coupled ulaz za odgovarajuću demodulaciju imaju prednosti odličnih single-ended distorzionih performansi AD9243. Ulazni opseg treba biti konfigurisan tako da realne performanse sistema i tehničke karakteristike operacionog pojačavača budu sinhrono ispunjene.

Diferencijalni mod omogućava najbolje THD i SFDR karakteristike na široki frekvencijski opseg. Coupled transformator diferencijalnog ulaza treba uzeti za najveći broj spektarski baziranih programa, koje dozvoljavju ac coupling. DC coupled diferencijalni mod omogućava i povećanje distorzije i šuma u najvećem delu ulaznog opsega. AD9243 može biti konfigurisan za opseg od 5V koristeći operacioni sa +5V ili ±5V.

4.4. SINGLE-ENDED MODE OPERACIJA

AD9243 može biti konfigurisan za single-ended operacije koristeći dc ili AC coupling. U oba slučaja ulaz u A/D mora biti doveden iz operacionog pojačavača koji neće pokvariti A/D karakteristike. Pošto je jednosmerno napajanje, neophodno je da se pomeri nivo uzemljenja bipolarnog signala da bude u skladu sa ulazim zahtevima. Oba i DC i AC coupling omogućava neophodne funkcije, ali svaki metod daje različitu realizaciju sklopa koji može uticati na karakteristike i projektovani sistem.

Mnogo programa zahteva da analogni ulazni signal bude DC coupled. Operacioni pojačavač može biti konfigurisan da pomeri nivo ulaznog signala tako da bude u opsegu A/D. Ovaj ulazni opseg A/D treba biti izabran na bazi realnih karakteristika sistema i raspoloživosti analognog napajanja, tako da imamo ograničenja u izboru operacionog pojačavača.

Mnogo novih operacionog pojačavača sa visokim performansama rade na ±5V i imaju ograničenja sa ulazno/izlazim rasponom. Ulazni opseg AD9243 treba biti osetljiv na tehničke karakteristike operacionog pojačavača da bi

Page 46: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

46VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

se izbeglo odsecanje signala. Takođe, pošto izlaz iz operacionog pojačavača sa dvojnim napajanjem može imati raspon ispod -0.3V, u nekim programima treba razmatrati stvaranje nivoa na izlazu. U nekim programima je korisno koristiti operacionog pojačavače sa jednostrukim napajanjem +5V to će bitno ograničiti njegov raspon na izlazu u opsegu granica napajanja. U programima koji zahtevaju veći single-ended ulazni opseg od (0V-5V) kod AD9243, operacionog pojačavač će zahtevati veće napajanje. U našem slučaju ulazni signal AD9243 već je jednostrano na nivo u saglasnosti sa ulaznim opsegom. Neophodno je omogućiti adekvatnu nisku impedansu za VINA i VINB analogne ulazne pinove A/D konvertora. Na slici 4.7. imamo ogovarajuću konfiguraciju za single-ended drajv korišćenjem operacionogpojačavača.U ovom slučaju signal dovodimo na neinvertujući ulaz operacionogpojačavača , zatim na VINA pin. Unutrašnja referentna veličina se dovodi na VINB pin. Otpornici od 30 Ω do 50Ω vezani za VINA i VINB će se naći u skoro svim slučajevima. Na slici 2.5 je odgovarajuća šema za merenje od 0 V do 5 V ulaznog napona. Sa odgovarajućim izborom VREF ova konfiguracija se može upotebiti i za merenje od 0 V do 2xVREF.

Slika 4.7. Single-Ended AD9243 Op Amp Drive Circuit

4.5. OPERACIONI POJA^AVA^ SA DC POMERANJE NIVOA

Slika 4.8. pokazuje DC-coupled pomeranje nivoa kola koristeći operacionog pojačavača A1 za sabiranje ulaznog signala sa željenim dc ofsetom. Konfiguracija operacionog pojačavača u invertujućem modu sa datim vrednostima otpornika rezultuje u ac signalu pojačanja -1. Ako je inverzija signala neželjena, zamena VINA i VINB veze promeniće polaritet originalnog signala. DC voltaža za VREF podešava uobičajni mod voltaže za AD9243. Npr. VREF=2.5 V, izlazni nivo operacionog pojačavača se smatra takođe oko 2.5 V. Koristeći pomenut odnos, tanki slojni otpornici mreže će

Page 47: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

47VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

minimizovati pojačanje i ofset greške. Opcioni pull-up otpornik Rp, može se koristiti za smanjenje opterećenja VREF na ±1mA.

Slika 4.8. Single-Ended AD9243 Input With DC-Coupled Level Shift

4.6. DIGITALNI ULAZI I IZLAZI

Izlazni podaci se prikazuju jasno,tačno i verno u binarnom sistemu za sve ulazne opsege. Tabela 4.3. pokazuje format izlaznih podataka za različite ulazne opsege bez obzira na izabrani ulazni opseg. Invertovanjem MSB-a mogu se dobiti dva kompleta formata izlaznih podataka. Tabela 4.3. pokazuje odnos između VINA, VINB, VREF i digitalnog izlaza.

Tabela 4.3.

Page 48: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

48VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 4.9. Format izlaznih podataka

4.7. VAN OPSEGA (OTR-Out Of Range)

OTR se događa kada je analogni ulazni napon izvan ulaznog opsega konvertora. OTR je digitalni izlaz koji se ažurira zajedno sa izlaznim podacima koji odgovaraju posebnim uzorcima analognog ulaznog napona. Odatle, OTR ima istu liniju kašjenja kao digitalni podatak. On je NIZAK ako je analogni ulazni napon u okviru analognog ulaznog napona. VISOK je kada analogni ulazni napon prelazi ulazni opseg kao što je prikazano na slici 4.10..OTR ostaje VISOK dok se analogni ulaz vrati u granicama ulaznog opsega i izvrši još jedna konverzija. Korišćenjem logičkih ILI kola, OTR sa MSB i njegovim komplementom može se detektovati prekoračenje opsega (overrange high) ili ispod opsega (underrange low). Tabela 4.4 prikazuje logiku za kolo na slici 2.8 koja koristi NILI kola. Sistem zahteva programirane uslove za snagu tako da se ulazni signal može detektovati

Page 49: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

49VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

ako je van opsega, time se eliminišu ponovne iteracije sa snagom. Takođe OTR se može koristiti za digitalni offset i kalibraciju snage.

Tabela 4.4

Slika 4.10. Overrange ili undrrange logika

CML je unutrašnji analogni prednapon koji koristi AD9243. Ovaj priključak se mora rastaviti sa najmanje 0.1μF kao što je prikazano na slici. DC nivo je približno AVDD/2. Ovaj napon treba zapamtiti ako se želi koristiti za neki spoljašnji prednapon

Slika 4.11. CML Decoupling

Digitalne aktivnosti na AD9243 čipu se mogu podeliti u dve kategorije: korekcijska logika i izlazni drajveri. Unutrašnja korekcijska logika izvlači relativno male talase struje, najčešće u toku promene clock-a. Izlazni drajveri daju velike strujne impulse dok se izlazni biti menjaju.Veličina i trajanje ovih struja je u funkciji od učitavanja na izlaznim bitima: veliki kapacitivni sklopovi su izbegnuti. Unutršnja korekcijska logika koristi DVDD a izlazni drajveri DRVDD.

5. MAX232 - DRAJVER/PRIJEMNIK

Page 50: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

50VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

ODGOVARA ILI PREVAZILAZI TIA/EIA0232 ITU PREPORUKE V.28

USPOSTAVLJA RAD POMO]U JEDNOG NAPAJANJA OD 5V SA KONDENZATORIMA OD 1.0µF

DVA DRAJVERA I DVA PRIJEMNIKA

ULAZNI NIVOI OD ±30V NISKA STRUJA NAPAJANJA ...

OBI^NO 8mA ESD ZA[TITA PREVAZILAZI

JESD22 NADOGRADNJA SA POBOLJ[ANIM

ESD-OM APLIKACIJE: TIA/EIA-232-F,

SISTEMI NAPAJANI OD STRANE BATERIJA, TERMINALI, MODEMI I KOMPJUTERI

OPIS UREDJAJA

MAX232 je dvostruki drajver/prijemnik koji sadr`i kapacitivni generator koji uspostavlja odredjene nivoe napona uz pomo}u samo jednog napajanja od 5V. Svaki prijemnik konvertuje TIA/EIA-232-F ulaze u 5-V-TTL/CMOS nivoe. Ovi prjemnici imaju tipi~an prag od 1.3V, tipi~an histerezis od 0.5V i mogu primiti ulazne nivoe od ±30V. Svaki drajver konvertuje TTL/CMOS ulazne nivoe u TIA/EIA-232-F nivoe.

Page 51: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

51VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

6. 74LS244N – OKTALNI BAFER I LINIJSKI DRAJVER

TRI STANJA MAGISTRALNIH IZLAZNIH LINIJA ILI BAFERI REGISTARA MEMORIJSKIH ADRESA

PNP ULAZ SMANJUJE DC PUNJENJE

ULAZNI HISTEREZIS POBOLJ[AVA PRAG [UMA

OPIS UREDJAJA

Ovi oktalni baferi i linije su napravljeni tako da pobolj{aju performanse i gustinu izmedju drajvera koji poseduju tri stanja memorijskih adresa, drajvera za klokovanje, magistralnih prijemnika i predajnika. Konstruktor ima izbor da pravi kombinacije od, invertuju}eg ili ne invertuju}eg izlaza, simetri~nog izlaza, aktivnog kontrolisanog izlaza i komplamentarnog kontrolisanog izlaza. Ovi uredjaji imaju visok fan-out, pobolj{an fan-in i magrinu {uma od 400 mV.

Page 52: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

52VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

7. TS272CN - DVOSTRUKI CMOS OPERACIONI POJA^AVA^ VISOKIH PERFORMANSI

IZLAZNI NAPON SE MO@E “ZALJULJATI” NA MASU

ODLI^NE FAZNE MARGINE PRILIKOM KAPACITIVNOG PUNJENJA

[IRINA OPSEGA GAINA: 3,5 MHz

STABILAN I NIZAK NAPON OFFSETA

IZBOR TRI NAPONA OFFSETA

OPIS UREDJAJA

Uredjaji serije TS272, gde pripada i operacioni poja~ava~ TS272CN imaju nisku cenu. Dizajnirani su tako da mogu raditi sa jednim ili dva izvora. Ovi operacioni poja~ava~i koriste ST CMOS silikonski gejt koji omogu}ava izuzetan odnos potro{nje i brzine. Uredjaji ove serije su idealni za primenu male potro{nje.

Tri napona potro{nje su dostupna koji dozvoljavaju najbolji mogu}i odnost potro{nje i brzine:

ICC = 10µA/amp.: TS272L2 (veoma mala snaga)

KONEKCIJE PINOVA (pogled odozgo)

Page 53: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

53VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

ICC = 150µA/amp.: TS272M2 (slaba snaga)

ICC = 1mA/amp.: TS272 (standardna snaga)

Ovi CMOS poja~ava~i imaju veoma veliku impedansu i izrazito male ulazne struje. Njihova glavna prednost u odnosu na JFET uredjaje su male ulazne struje no{ene temperaturom.

Slika 7.1. Blok {ema uredjaja

Page 54: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

54VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

8. NAPAJANJE

Napajanje mikrokontrolera je ostvareno klasičnom procedurom i komponentama kao i kod drugih kontrolera. Naizmenični napon napajanja iz mreze 220V se preko transformatora tansformiše na 9V pa zatim ispravlja preko greca i kondenzatora. Posle toga se signal vodi na stabilizator napona realizovan kao IC LM 7805 i takav signal se vodi na procesor i ostale digitalne periferne uredjaje i služi kao napajanje konstantnom vrednošću napona. Električna šema izvora napajanja je data na sledećoj slici:

Page 55: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

55VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

9. ELEKTRI^NA [EMA, BLOK [EMA, LAYOUT SLOJEVI, REALIZOVAN PROJEKAT I SPECIFIKACIJA KORI[]ENIH KOMPONENTI

Page 56: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

56VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Električna šema uređaja

Page 57: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

57VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Blok {ema

Layout donje strane PCB-a

Page 58: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

58VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Layout gornje strane PCB-a

Layout komponenti sa gornje strane PCB-a

Svi layout slojevi PCB-a

Page 59: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

59VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Izgled realizovanog projekta

KOMPONENTE KOJE SU KORI[]ENE PRILIKOM IZRADE PROJEKTA:

Komponente Br.komadaOP177FP (SO-8) 1LED 2 zelene, 2 crvene 5Elektrolitski kondenzator 10F 4Keramicki kondenzator 100nF 12Otpornik 50 2Otpornik 220 1Otpornik 330 4Otpornik 10K 1Potenciometar 10k 1Prekidaci SW-SPDT 3Konektori 374LS373 174ALS373 174ALS00 2LM 7805 2

Page 60: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

60VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

10. KEIL uVision3

10.1. UVOD

Programiranje mikrokontrolera u asembleru predstavlja optimalan nacin programiranja sa stanovišta iskoriš}enja ograni}enih ugra~enih resursa, kao na primer, programske memorije i dr. S druge strane za složenije projekte program napisan u asembleru može biti komplikovan za ~itanje i razumevanje. Zato se danas mikrokontroleri programiraju u višim programskim jezicima, a najpoznatiji i naj~ešce koriš}eni je programski jezik C. Pretpostavimo da student poseduje osnovna znanja o programskom jeziku C i njegovim osnovnim strukturama podataka. Takođe, pretpostavlja se znanje tzv. ANSI C-a. Efikasnost programiranja je povećana i zbog upotrebe elemenata strukturalnog programiranja i širokog skupa operatora.U odnosu na ANSI (American National Standards Institute) C programski jezik, C za mikrokontrolere je prilagođena varijanta koja koristi specijalizovan kompajler (prevodlac). C jezik sam po sebi nije u mogucnosti da obavlja operacije (kao što su ulaz i izlaz), te su ove mogucnosti obezbeđene kao deo standardne biblioteke. Zbog toga što su ove funkcije odvojene od samog jezika. C je naročito pogodan za generisanje programa lako prenosivih izmedu različitih platformi. Ukratko, interakcija programa sa okolinom u programskom jeziku C je sadržana u njegovoj standardnoj biblioteci, a C51 kompajler je specijalizovan za ugrađene (embedded) mikroprocesore.

10.2. OPIS PROGRAMA

uVision3 pruža vam: menu bar naredbu za ulazak, alat bar gde možete brzo odabrati naredbe i prozori za izvorne datoteke, dijaloške okvire, i prikazuje informacije. uVision3 Vam omogućava istovremeno otvaranje i pregled više izvornih datoteka.

uVision3 sadr`i: - Build Mode: Omogućava vam prevođenje aplikacija i datoteka i generisanje izvršnog programa. - Debug Mode: Nudi vam program za pronalaženje grešaka na vaš zahtev.

Page 61: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

61VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Tipi~na konfiguraciju uVision3 u Debug ModuProject Workspace (radni proctor projekta) vam daje pristup: -Datoteci i grupi u okviru projekta. -CPU registrima -Alatima-Tekstualnim predlozima za najčešće korišćene blokove teksta. Funkcija u projektu za brzu navigaciju Output Window (izlazni prozor) daje poruke o grešci i brz pristupMemory Window (memorijski prozor) daje pristup memorijiWatch & Call Stack prozor vam omogućava pregled i izmenu programa i prikazuje trenutnu funkciju poziva stabla. Radni prozor se koristi za uređivanje datoteka,Peripheral Dialog će vam pomoći da proverite status periferija.Kada koristite Keil uVision3, projekt razvoja ciklusa je otprilike isti kao što je za bilo koji drugi softver:- Izradi projekt,odaberi ciljni čip iz baze podataka i konfiguriši(podesi) postavke alata. - Napravi source(izvornu) datoteku u C. - Izradi dokumentaciju korišćenjem projekt menadžera. - Ispravi greške u izvornu datoteku. - Ispitaj povezane aplikacije.

Page 62: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

62VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Potpuni uVision3 softver

uVision3 IDE uVision3 IDE kombinuje projektni menadžment,interaktivni editor za ispravljanje grešaka,mogućnost čitanja i on-line pomoć. Pomoću uVision3 stvaramo svoje izvorne datoteke i organizujemo ih u projekt koji definiše ciljnu aplikaciju.uVision3 automatski kompajlira,prikuplja i povezuje aplikacije.

C & prevodilac makroasembler Source datoteke stvorene od strane uVision3 i IDE se propušta delje ka višem programskom jeziku ili kompajleru. Asemblerski prevodilac na osnovu izvorne datoteke stvara ciljnu datoteku.

Manager Menager vam omogućava da izradite dokumentaciju iz datoteka kreirane od strane prevodioca i asemblera. Dokumentacija je posebno formirana. Kada se pristupi povezivanju biblioteka,koriste se samo oni moduli koji su potrebni za stvaranje programa.

Page 63: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

63VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Linker/ Locator Linker / Locator stvara izvršnu datoteku programa pomoću objekt modula i one koju su stvarali prevodilac i asembler. Izvršna datoteka programa (koja se naziva i apsolutni objekt modul) ne sadrži prenosivi kôd ili podatak. Kod i podaci imaju svoja memorijska mesta.

Ovaj program izvr š nu datoteku koristi: -Za jedan program Flash ROM memorije ili drugih uređaja, -S in-circuit emulator program za testiranje. -uVision3 program za pronalaženje grešaka

DebuggerProgram za pronalaženje grešaka je prvenstveno brz i pouzdan program. Program za pronalaženje grešaka uključuje high-speed simulator da vam simulira jedan mali deo na čipu, uključujući i spoljne uređaje. Atributi u čipu koji koristite automatski se konfigurišu kada odaberete uređaj iz uređaja baze podataka. uVision3 program za pronalaženje grešaka nudi nekoliko načina da testirate svoj program na pravi hardver.

10.3. STATUS BAR

Status Bar prikazan na ekranu prikazuje poruke i informacije o trenutnim u Vision komandama i druge informacije kako je objašnjeno u nastavku:

Debug Channel prikazuje aktivan alat za ispravljanje i prikazuje ime ili simulacije kada je program testiran.

Vreme izvršenja prikazuje vreme trajanja simulacije.

Pozicija kursora pokazuje trenutnu poziciju u editor datoteci (L: broj linija, C: broj kolona).

Keyboard Editor prikazuje informacije: CAP: tipka je trenutno unutar tastature za velika slova. NUM: tipka je trenutno u NUM LOCK statusu. SCRL: tipka je trenutno u zaključanom stanju. OVR: označava pisanje preko editor načina koji zamenjuje znakove kao što ste upisali. R / W čitanje / pristup pisanju; R / O read-only pristup-sprečava modifikacije iz teksta.

Page 64: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

64VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

10.4. LOGI^KI ANALIZATOR

uVision3 Logic Analyzer daje grafički prikaz promene vrednosti varijable (promenljive) ili VTREGs koje ste naveli.

Logic Analyzer prozor sadrži u vrhu granice nekoliko tastera i polja za prikaz. Instalacijski ... dialog definiše varijable (promenljive) signala za snimanje i konfiguriše prikaz izlaza. Neke konfiguracijske postavke mogu biti promijenjen iz menija koji se otvara s desnim klikom na signal ime (name).

Vreme polja prikazuje: - Min Time: Vreme početka signala - Max Time: Vreme završetka signala- Raspon: Vremensko rastojanje od trenutnog prikaza. - Grid: Vremensko rastojanje od jedne linije. - Zoom pokazuje kompletan sadržaj signala. Zoom je promene prikaza na izbor koji ste prethodno označili mišem povlačenjem dok držite tipku SHIFT.

- Kod otvara prozor ili rastavljanje na broj pozicija koje uzrokuje signal u pomeranju. - Postava Min / Max konfiguriše se za prikaz raspona signala. Auto konfigurira, max. / Min. vrednosti temelji se na vrednosti iz trenutnog snimanja.- Undo vraća prethodne postavke pre Auto.

Page 65: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

65VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

- Logic Analyzer vam omogućava da pregledate ili promeniti podatke koristeći sledeće naredbe kursor miša i:

Postavite kursor u skladu s mišem i kliknite. Pokazivač linije prikazuje sve varijable (promenljive) vrednosti u odabrana vremena. Okvir informacija pokazuje signal delta vrednosti i temelji se na trenutnu poziciju kursora linije.

10.5. MEMORIJSKI PROZOR

Memory prozor prikazuje sadržaj u raznim područjima memorije. Do četiri različita područja može se pregledati u različitim stranicama. U kontekstu meni vam omogućava izbor dozvoljenog izlaznog formata.

U polje Adresa, (Memory Window), možete uneti bilo koji izraz koji ocenjuje početak adresa iz područja koje želite prikazati. Da biste promenili sadržaj memorije, dvaput kliknite na vrednosti. To otvara jedan okvir koji vam omogućuje da unesete nove memorijske vrednosti.  Memorijska karta Omogućava da odredite memorijsko područje koje vaš ciljni program koristi za podatke i izvršenje programa. Obično se ne zahtijeva karta dodatnih adresa. Potrebna je samo karta za memorijska područja u kojima se pristupa bez izričite deklaracije varijable (promenljive), tj. memorije preslikavaju I / O prostor.

Page 66: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

66VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

10.6. SERIJSKI PROZOR

uVision3 nudi dva serijska prozora za serijski ulaz i izlaz. Serijski izlaz podataka iz simuliranog CPU je prikazan u ovom prozoru.

Ovo Vam omogućava simulaciju CPU's UART bez potrebe za spoljnim hardverom. Za serijski izlaz će isto tako biti dodeljen PC COM port koristeći naredbu dodeliti u Output Window - Command stranicu.

Page 67: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

67VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

10.7. KREIRANJE PROJEKTA U uVision3

Pokrenite Keil uVison3 program.

Kreirajte novi dizajn projekta.Odaberite novi projekt iz padajućeg menija

Page 68: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

68VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Otvoriće vam se sledeći prozor koji vas pita da sačuvate (save) kod vašeg projekta npr.na desktopu. Napišete ime projekta npr. displej.

Page 69: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

69VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Nakon što ste kliknuli na save (sačuvaj),otvara se prozor koji će vas pitati koji čip želite koristiti. Na primer, ako želite koristiti CC1010 iz Chipcon, morate odabrati Chipcon CC1010 i sl. Pobrinite se da "Koristite proširena povezivanja".U ovom slučaju odaberite Atmel AT89S8253 mikrokontroler kao cilj.

Pojaviće se novi prozor koji će vas pitati da li želite kopirati standard 8051 kod pokretanja u folder projekta. Osim ako ste stari korisnik, trebate kliknuti No,u suprotnom kliknite Yes.

Možete sada izraditi projekt, ali ne postoji izvorni kôd.

Page 70: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

70VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Koristite “Obnovi sve ciljne datoteke” -Rebuild all target iz padajućeg menija Project. Sada imate izvorni kôd koji je dodat grupi.

Page 71: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

71VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Zatim kliknite na označenu ikonicu koja vam služi za kreiranje novog fajla. Otvoriće vam se nova radna površina “Text 1”.

U radnoj površini Text 1 napišite kôd vašeg projekta.

Page 72: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

72VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Zatim sačuvajte kôd opcijom Save iz padajućeg menija File.

Naravno sačuvajte kôd pod ekstenzijom src. Ekstenzija sačuvanog fajla zavisi od toga u kom je programu pisan. Ekstenzija src. pokazuje da je kôd pisan u programskom jeziku C.

Page 73: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

73VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Sledeće šta treba uraditi jeste da se taj fajl doda u prozoru Project Workspace 1 to desnim klikom na Source Group 1,pa na opciju Add Files Group.

Pronađite gde vam je smešten taj fajl i kliknite na Add.

Page 74: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

74VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Zatim idite na opciju “Obnovi sve ciljne datoteke”-Rebuild all target iz padajućeg menija Project.

Pojaviće vam se sledeći prozor. Ako postoje greške u programu,kao što je ovde slučaj pisaće vam u Output Window (izlazni prozor) kakva je greška i u kom se redu nalazi.

Page 75: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

75VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Po ispravljanju grešaka ponovo idite na opciju “Obnovi sve ciljne datoteke”-Rebuild all target iz padajućeg menija Project, i dobićete naredni prozor. Potrebno je da piše 0 Errors (s).

Page 76: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

76VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

10.8. SIMULACIJA PROJEKTA

Pre simulacije kliknite na Target 1 i desnim klikom miša odaberite opcije za Target 1,da bi se osigurala brzina za ciljni sklop. Brzina zavisi od tipa mikrokontrolera. Za ovaj slučaj izaberite 24.0 MHz ciljno polje i postavite kristal (XTAL) na frekvenciji 24.0 MHz.

Da biste pokrenuli simulaciju odaberite Start / Stop Debug Sesion opciju iz padajućeg menija Debug.

Page 77: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

77VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Prozor projekta uVision sada sadrži pod - prozore. Radni prozor pokazuje trenutni sadržaj najvažnijih registara. Takođe se prikazuje vreme izvršavanja koda u sekundama. Editor prozor pokazuje C k^d,a disassembly prozor pokazuje kodove koji grade ceo projekt. Tokom naših simulacija želimo imati mogućnost nadziranja statusa Port 2 pin 0. Zaokruživanje pina znači da je na visokoj logici(1). Prazno polje na pinu je niska logika(0). Alternativa je metoda za dodavanje varijable(promenljive) na prozor.

Page 78: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

78VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

10.9. ISPRAVLJANJE GRE[AKA U PROGRAMU

Za ispravljanje programa idite na korak Debug Step Over. Step Over The command će ispravljati jedan red ili celi potprogram, zavisno od toga

Page 79: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

79VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

gde je pokazivač postavljen. Pritisnite F11 i pojaviće se mali žuti pokazivač koji vam omogućava da prtite korak po korak - svaku liniju programa.

10.10. GENERISANJE HEX FAJLA

Page 80: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

80VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Programiranje je proces prenošenja heksadecimalne vrednosti jedne datoteke iz računara u mikrokontroler putem RS232 konektora. Mi moramo obezbediti da se prenese svaka heksadecimalna vrednost u datoteci koja je stvorena za vreme dok se gradio proces. Odaberite opciju “project”,zatim u tom padajućem meniju izaberite "Opcije za Target “Target 1”. Odaberite izlaz (output) na kartici i čekirajte “Create Hex File” okvir.

Sada koristite “Obnovi sve ciljne datoteke”-Rebuild all target iz padajućeg menija Project.

Page 81: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

81VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Sada idete na opciju “Open file” iz padajućeg menija “File” da bi ste videli generisani HEX fajl,naravno on je snimljen tamo gde vam je izvorni kôd pa se može pokrenuti i otuda. Za tip fajla(Files of type) izaberite svi fajlovi(All files).

Sledeće šta treba uraditi jeste da čekirate odnosno označite fajl sa ekstenzijom .hex. To vam je generisani HEX fajl,odnosno heksadecimalna vrednost koju treba prebaciti u mikrokontroler.

Page 82: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

82VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Ovde se vidi dobijeni HEX fajl.

Page 83: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

83VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

10.11. UPUTSTVO ZA PROGRAMIRANJE MIKROKONTROLERA

Programiranje je proces prenošenja heksadecimalne vrednosti jedne datoteke iz računara u mikrokontroler putem RS232 konektora. Hex fajl upisujemo u mikrokontroler na način koji je opisan u slikovito prikazanom postupku koji sledi. Za upis hex fajla koristimo atmelov softver koji se moze Atmel Isp download - ovati sa njihovog sajta. Vrši se serijsko programiranje priključivanjem programatora na pinove 5 i 6 porta P1 mikrokontrolera.

Page 84: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

84VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Sledeći korak je izbor ATMEL - ovog mikrokontrolera, a kako smo mi koristili AT89S8253 biramo njega, što je prikazano na sledećoj slici:

Kad se otvori folder AT89 dobija se sledeći prozor.

Page 85: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

85VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

U oskovnoj verziji programa nije nam dostupan mikrokontroler AT89S8253 pa je potrebno nadograditi program.

Posle nadogradnje dobija se slede}i prozor u kome se jasno vidi da nam je sada na raspolaganju potrebni mikrokontroler.

Page 86: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

86VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Posle izbora komponente u prozoru softvera se moze videti prazan buffer mikrokontrolera koji je prikazan na sledećoj slici:

Zatim vršimo učitavanje hex fajla na sledeći način:

Page 87: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

87VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Upis u mikrokontroler vršimo na sledeći način koji je prikazan na slici:

11. PROGRAMIRANJE MIKROKONTROLERA

Page 88: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

88VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

11.1. ALGORITMI GLAVNOG PROGRAMA I POTPROGRAMA

ALGORITAM GLAVNOG PROGRAMA ALGORITAM POTPROGRAMA WAIT

ALGORITAM POTPROGRAMA XMIT ALGORITAM POTPROGRAMA T0_INT

Page 89: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

89VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

ALGORITAM POTPROGRAMA TEST_T1

ALGORITAM POTPROGRAMA TEST_T2

Page 90: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

90VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

ALGORITAM POTPROGRAMA KEYSCAN

ALGORITAM POTPROGRAMA SPRINT

Page 91: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

91VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

11.2. KÔD PROGRAMA

U daljem tekstu je priložen asemblerski kôd koji predstavlja “uputstvo” za rad mikrokontrolera AT89S8253. Naime, mikrokontroler treba da upravlja paralelnim periferijskim interfejsom 8255, a to ostvaruje preko četiri upravljačka signala CS (Selekcija čipa), RD (Read), WR (Write), A0 i A1. Poslednja dva signala definišu mod (režim) rada 8255.

Asemblerski kôd treba da se prevede u heksadecimalni kôd preko odgovarajuće kompilatora, odnosno kompajlera. Za tu svrhu može poslužiti program Keil koji smo ve} opisali.___________________________________________________________________________

; raspored signala na portovima kontrolera:; port0 se ne koristi; port1:; P1.0 - T1 (taster za start konverzije); P1.1 - T2 (taster za slanje rezultata konverzije na pc); P1.2 - CLOCK (klokovanje ad konvertora); P1.3 - LED_CSTART (led za start konverzije); P1.4 - LED_CEND (led za kraj konverzije); P1.5 - LED_SSTART (led za start slanje na pc); P1.6 - LED_SEND (led za kraj slanja na pc); P1.7 - ne koristi se; port2:; P2.0 - bit 14 ad konvertora (lsb); P2.1 - bit 13 ad konvertora; P2.2 - bit 12 ad konvertora; P2.3 - bit 11 ad konvertora; P2.4 - bit 10 ad konvertora; P2.5 - bit 9 ad konvertora; P2.6 - bit 8 ad konvertora; P2.7 - bit 7 ad konvertora

Page 92: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

92VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

; port3:; P3.0 - RXD (linija za prijem podataka serijskog porta); P3.1 - TXD (linija za slanje podataka serijskog porta); P3.2 - bit 6 ad konvertora; P3.3 - bit 5 ad konvertora; P3.4 - bit 4 ad konvertora; P3.5 - bit 3 ad konvertora; P3.6 - bit 2 ad konvertora; P3.7 - bit 1 ad konvertora (msb)

;bit promenljive (int. ram):BSEG AT 20H

XMITF BIT 20H.0;setuje se kad je uart spreman da salje novi karakter;SECF BIT 20H.1 ;setuje se na svaku sekundu u t0_intT1PRESSF BIT 20H.2;setuje se kada je prihvacen pritisak na t1T2PRESSF BIT 20H.3;setuje se kada je prihvacen pritisak na t2T1UNPRESSF BIT 20H.4;prethodno stanje tastera t1T2UNPRESSF BIT 20H.5;prethodno stanje tastera t2 ;promenljive u int. ramu:

DSEG AT 20HFLAGS1 DATA 20H ;bajt sa flagovima

TIMER5MS DATA 30H ;inkrementuje se svakih 5 ms u t0_intSCANCNT DATA 31H ;brojac ciklusa skeniranja tasteraT1CNT DATA 32H ;inkrementuje se svaki put kad je pritisnut t1 (brise se posle scanc skeniranja)T2CNT DATA 33H ;inkrementuje se svaki put kad je pritisnut t2 (brise se posle scanc skeniranja)TEMPW DATA 34H ;privremena promenljiva (koristi se u pp-u wait)CSUM DATA 35H ;pamcenje ceksume niza bajtova koji se salje na pc

;promenljive u indirektno adresibilnom ramu:ISEG AT 80H

ADSTART IDATA 80H ;prva lokacija niza u kome se pamte rezultati merenja

Page 93: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

93VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

;konstante:STCK EQU 60H ;po resetu stek se postavlja na stckSCANC EQU 4 ;scanc-1 je broj ciklusa skeniranja tasteraCLOCK EQU P1.2LED_CSTART EQU P1.3LED_CEND EQU P1.4LED_SSTART EQU P1.5LED_SEND EQU P1.6

CSEG AT 0USING 0 ; Register-Bank 0

; Execution starts at address 0 on power-up.JMP START

CSEG AT 0003H ;External Interrupt 0RETICSEG AT 000BH ;Timer 0 Overflow;RETIJMP T0_INT ;skok na obradu interapta

od tajmera 0CSEG AT 0013H ;External Interrupt 1RETICSEG AT 001BH ;Timer 1 OverflowRETICSEG AT 0023H ;Serial PortJMP SERINT ;skok na obradu interapta

od uarta;RETI

CSEG AT 0030H;System Reset:START: MOV IE,#00H ;zabrana interapta

MOV SP,#STCK ;inicijalizacija stekaCALL RESET_RAM ;reset int rama (ispod

steka)CALL RESET_IRAM ;reset indirektno

adresibilnog ram-a (gornjih 128 bajtova)CALL PORTS_INIT ;inicijalizacija portova

Page 94: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

94VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

CALL TIMERS_INIT ;inicijalizacija tajmera

CALL UART_INIT ;inicijalizacija uartaCALL VARS_INIT ;postavljanje inicijalne

vrednosti promenljivihCALL INTERRUPTS_INIT ;inicijalizacija interaptaSETB TR0 ;start tajmera 0SETB TR1 ;start tajmera 1

;glavna petlja:LOOP: CALL TEST_T1 ;testiranje stanja tastera t1

CALL TEST_T2 ;testiranje stanja tastera t2

JMP LOOP

; -----;potprogram koji, ukoliko je ustanovljen pritisak na taster t1:; - gasi led led_start; - izvrsava 5 uvodnih klokovanja ad konvertora (dovoljno je 3 - videti datasheet za ad konv.); - u petlji posle svakog kloka uzima visi i nizi bajt rezultata ad konverzije i zapisuje u int ram; (16 klokova - zapis 32 bajta); Posto 6 visih bitova (14-bitnog ad kovertora) uzimamo sa p3.2-p3.7 potrebno je iz procitanog; bajta sa p3 izdvojiti potrebne bitove - siftujemo dva puta udesno; - pali led led_cendTEST_T1: JNB T1PRESSF,TST1E

CLR T1PRESSF

SETB LED_SSTART

MOV B,#5TT100: CLR CLOCK

CALL WAITSETB CLOCKCALL WAITDJNZ B,TT100

MOV B,#32MOV R0,#ADSTART

Page 95: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

95VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

TT101: CLR CLOCKCALL WAITSETB CLOCKCALL WAITMOV A,P3CLR CRRC ACLR CRRC AMOV @R0,AINC R0MOV A,P2MOV @R0,AINC R0DJNZ B,TT101

CLR LED_CEND

TST1E: RET

; -----;potprogram koji, ukoliko je ustanovljen pritisak na taster t2:; - gasi led led_cend; - pali led led_cstart; - salje na pc podatke u formatu:; <55><55><55><l><m1 14-8><m1 7-0><m2 14-8><m2 7-0>.......<m16 14-8><m16 7-0><cs>; gde je:; <55><55><55> : niz uvodnih bajtova (55h); <l> : (l-duzina) - broj bajtova koji se salje, u ovom slucaju 32 (20h); <m1 14-8> : visi bajt prvog merenja (bitovi od 14 do 8); <m1 7-0> : nizi bajt prvog merenja (bitovi od 7 do 0); .; .; <m16 14-8> : visi bajt (poslednjeg) 16. merenja; <m16 7-0> : nizi bajt (poslednjeg) 16. merenja; <cs> : ceksum u koji ulaze samo bajtovi sa merenjima - bez uvodnog niza; i broja bajtova l; (predstavlja najnizi bajt zbira svih bajtova); - gasi led led_cstart

Page 96: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

96VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

; - pali led led_sstartTEST_T2: JNB T2PRESSF,TST2E

CLR T2PRESSF

SETB LED_CENDCLR LED_CSTART

MOV A,#55H ;slanje uvodnog niza (tri bajta 55h)

CALL XMITMOV A,#55HCALL XMITMOV A,#55HCALL XMIT

MOV A,#20H ;slanje broja bajtova (16 dvobajtnih merenja - 32 bajta)

CALL XMIT

MOV CSUM,#0 ;reset ceksumaMOV R0,#ADSTART ;priprema

parametara za petlju slanjaMOV B,#32

T200: MOV A,@R0CALL XMITCALL ADDCSUMINC R0DJNZ B,T200MOV A,CSUMCALL XMIT

SETB LED_CSTARTCLR LED_SSTART

TST2E: RET

; -----;potprogram za pauzu koja se koristi za odredjivanje trajanja kloka za ad konvertor;trajanje pauze je priblizno 100 mikrosekundi (50 dvociklusnih instrukcija djnz)WAIT: MOV TEMPW,#50

Page 97: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

97VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

DJNZ TEMPW,$RET

; -----;potprogram za inicijalizaciju promenljivih (razlicitih od nule):VARS_INIT: MOV TIMER5MS,#200 ;200x5ms~1s

MOV SCANCNT,#SCANCRET

; -----;potprogram koji resetuje interni ram ispod steka:RESET_RAM: MOV R0,#STCK-1RR00: MOV @R0,#0

DJNZ R0,RR00RET

; -----;potprogram za reset indirektno adresibilnog ram-a:RESET_IRAM: MOV R0,#80HRIR0: MOV @R0,#0

INC R0CJNE R0,#0,RIR0RET

; -----;za ocitavanje vrednosti ad konvertora koristi se ceo port2 (p2.0 je lsb ad konvertora) i p3.2 - p3.7;(p3.7 je msb ad konvertora); za ocitavanje tastera se koriste p1.0 (t1) i p1.1 (t2);;za upravljanje le diodama koriste se p1.3 - p1.6; za klokovanje ad konvertora se koristi p1.2;za komunikaciju sa pc-jem koriste se p3.o (rxd - opciono) i p3.1 (txd)PORTS_INIT: ORL P2,#11111111B ;svi pinovi porta 2 su ulazni (8 nizih bitova ad konvertora)

ORL P1,#00000011B ;dva najniza bita za skeniranje tastera

ORL P3,#11111100B ;p3.2-p3.7 ulazni (6 visih bitova ad konvertora)

RET

; -----;potprogram koji inicijalizuje tajmera:;kvarc = 11.0592 MHz

Page 98: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

98VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

;tajmer 0 generise inerapt na ~ 5ms:;mod 1 (16 bitni tajmer), reload vrednost -1200 (EE00H) ;tajmer 1 generise bodovu brzinu za uart;mod 2 (auto reload mod), reload vrednost FDH za 9600 bodaTIMERS_INIT:

MOV TMOD,#00100001BMOV TH0,#0EEHMOV TL0,#00HMOV TH1,#0FDHRET

; -----;poptrogram za inicijalizaciju uarta:;mod 1 (8-bit uart), prijem zabranjen, bodovu brzinu generise tajmer 1; !!! ako bude potvrde poruke koju saljem od pc-ja onda dozvoliti i prijemUART_INIT: MOV SCON,#01000000B

SETB XMITF ;inicijalizacija promenljive

RET

; -----;dozvola interapta od serijskog porta i tajmera 0;i globalna dozvola interaptaINTERRUPTS_INIT:

MOV IE,#10010010BRET

;potprogram za slanje karaktera ,iz akumulatora , preko serijskog porta:XMIT: JNB XMITF,XMIT ;cekamo da se isprazni sbuf (posalje prethodni karakter)

MOV SBUF,ACLR XMITFRET

; -----;potprogram za racunanje ceksume:ADDCSUM: ADD A,CSUM

MOV CSUM,A RET

; -----;na svakih 5ms (svaki ulazak u interapt od t0) ocitavaju se vrednosti p1.0 (t1) i p1.1 (t2) pri cemu

Page 99: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

99VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

;se smatra da je neki od tastera pritisnut ukoliko je stanje odgovarajuceg pina na logickoj nuli ;u tri uzastopna ocitavanja (eliminacija greske zbog smetnji kod prelaznog rezima mehanickog tastera);a detektovani pritisak tastera bice proglasen validnim (prihvacen) ukoliko su prethodno bila otpustena;(nisu pritisnuta) oba tastera.KEYSCAN: DJNZ SCANCNT,KEY00

MOV SCANCNT,#SCANC

;zavrsen ciklus od scanc ocitavanja:;provera tastera t1:

MOV A,T1CNTCJNE A,#SCANC-1,KEY03JNB T1UNPRESSF,KEY02SETB T1PRESSFCLR T1UNPRESSF

KEY02: MOV T1CNT,#0JMP KEYN

KEY03: MOV T1CNT,#0SETB T1UNPRESSF

;provera tastera t2:

KEYN: MOV A,T2CNTCJNE A,#SCANC-1,KEY05JNB T2UNPRESSF,KEY04SETB T2PRESSFCLR T2UNPRESSF

KEY04: MOV T2CNT,#0JMP KEYE

KEY05: MOV T2CNT,#0SETB T2UNPRESSFJMP KEYE

KEY00: MOV A,P1ANL A,#00000011B ;sa p1 uzimam samo

dva najniza bita (p1.0 i p1.1)CJNE A,#1,KEY01 INC T2CNT ;pritisnut je t2

pa inkrementujem brojacJMP KEYE

Page 100: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

100VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

KEY01: CJNE A,#2,KEYEINC T1CNT ;pritisnut je t1

pa inkrementujem brojac

KEYE: RET

;***obrada interapta serijskog porta:***SERINT: JNB TI,SI01

CLR TISETB XMITF ;poslat je karakter, setujemo

xmitf kao dozvolu za slanje sledeceg karakteraSI01: JB RI,SI02

RETI

SI02: PUSH PSWPUSH ACCPUSH BPUSH 0PUSH 1PUSH DPHPUSH DPL

;obrada primljenog karaktera:

CLR RI

POP DPLPOP DPHPOP 1POP 0POP BPOP ACCPOP PSWRETI

;***obrada interapta tajmera 0:***;interapt se desava na ~ 5msT0_INT: PUSH PSW

PUSH ACCPUSH B

Page 101: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

101VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

PUSH 0PUSH 1PUSH DPHPUSH DPL

CLR TF0 ;brisem interap flag

MOV TH0,#0EEH ;upisujem reload vrednosti

MOV TL0,#00H

DJNZ TIMER5MS,T0INT00MOV TIMER5MS,#200 ;reset brojaca

;desavanja na ~ 1 sekundu:

;SETBSECF

;desavanja na ~ 5 milisekundi:

T0INT00: CALL KEYSCAN ;ocitavanje tastera

POP DPLPOP DPHPOP 1POP 0POP BPOP ACCPOP PSW

RETI

END

Page 102: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

102VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Heksadecimalni kôd posle kompilacije asemblerskog koda:

:02000000802E50:0100030032CA:02000B00217062:0100130032BA:01001B0032B2:02002300214674:1000300075A80075816011C311CA11D311DD11EAD1:1000400011BC11F0D28CD28E114E118280FA300286:1000500030C202D29575F005C29211B5D29211B597:10006000D5F0F575F0207880C29211B5D29211B515:10007000E5B0C313C313F608E5A0F608D5F0E9C24E:10008000942230032FC203D294C293745511F47496:100090005511F4745511F4742011F47535007880FD:1000A00075F020E611F411FC08D5F0F7E53511F4F0:1000B000D293C29522753432D534FD227530C8757D:1000C000310422785F7600D8FC227880760008B868:1000D00000FA2243A0FF43900343B0FC227589211C:1000E000758CEE758A00758DFD22759840D20022C0:1000F00075A892223000FDF599C200222535F5350C:1001000022D53131753104E532B4030C300404D208:1001100002C2047532008005753200D204E533B4A2:10012000030C300504D203C2057533008017753304:1001300000D2058010E5905403B401040533800516:10014000B40202053222309904C299D200209801EB:1001500032C0D0C0E0C0F0C000C001C083C082C2C5:0901600098D082D083D001D000B8:10016900D0F0D0E0D0D032C0D0C0E0C0F0C000C0E4:1001790001C083C082C28D758CEE758A00D53003AB:100189007530C83101D082D083D001D000D0F0D0F1:04019900E0D0D032B0:00000001FF__________________________________________________________________________________________

Naravno, heksadecimalni kod nije sređen po bankama, međutim, to je zadatak softverskog alata (IC-Prog, PonyProg, Atmel Microcontroller ISP software, itd.)

Page 103: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

103VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

12. PC PROGRAM “MERENJA”

12.1. UVOD

„Merenja“ je klijentski program za tabelarni prikaz merenja sa AD konvertora. Povezivanje sa AD konvertorom je realizovano preko serijskog porta (RS232). Program je napisan u programskom jeziku C# (CSharp).

12.2. PREGLED TEHNOLOGIJA

Pri izradi programa „Merenje“ korišćene su sledeće softverske tehnologije:

12.2.1. Mictosoft .NET Framework

UVOD

Softversko okruženje koje se izvršava na Microsoft Windows operativnom sistemu. Sastoji se od biblioteka sa unapred razvijenim rešenjima za veliki broj programerskih potreba i virtuelne mašine koja upravlja izvršenjem programa pisanih za ovo okruženje. Verzija korišćenog okruženja je 2.0.50727.

Arhitektura .NET-a

Osnovu .NET-a predstavlja svakako .NET Framework. Najjednostavnije rečeno, to je sistem koji nadograđuje mogućnosti samog operativnog sistema. Radi se o posebnoj infrastrukturi koja programerima nudi gotova rešenja i funkcionalnosti da bi ubrzala i pojednostavila razvoj aplikacija svih vrsta i oblika.

Najvažniji deo .NET Frameworka zove se Common Language Runtime ili skraćeno CLR. CLR je softverski sistem u kojem se kôd izvršava. Kada korisnik pokrene aplikaciju pisanu za .NET Platformu, CLR ju je izvršava

Page 104: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

104VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

kako bi joj osigurao stabilnost i funkcionalnost. Instrukcije u programu se u realnom vremenu prevode u izvorni strojni kôd koji razume računar. Za taj je posao zaslužan JIT - kompajler (eng. Just In Time). Upravo prevođenje u izvorni strojni kôd računara, omogućilo je .NET-u prelazak na druge operativne sisteme kao što su Linux ili MacOS (putem pomoćnog third-party MONO sustava).

Kako kompajliranje zasigurno usporava izvršavanje aplikacija, ono će se izvršavati samo jednom, a njegov će se rezultat spremiti kako bi se kasnije mogao koristiti bez ponovnog kompajliranja.

Aplikacije za .NET platformu mogu se pisati u raznim programskim jezicima, gotovo svim poznatijim. CLR, međutim, ne poznaje niti jedan taj jezik - on dobija naredbe isključivo u jeziku nazvanom Microsoft Intermediate Language (sraćeno MSIL), temeljen na pravilima koja se nazivaju Common Language Specifications (CLS). Stoga je jasno da mora postojati kompajler koji će programski jezik u kojem programer piše kôd prevesti u MSIL kako bi ga CLR razumio. Ovi kompajleri nazivaju se IL-kompajleri te su dostupni za velik broj programskih jezika. Microsoft je izdao kompajlere za pet jezika: C#, J#, C++, Visual Basic JScript, dok su se ostali proizvođači softvera potrudili oko brojnih drugih kao što su: Perl, Python, Cobol, Eiffel…

Kako se svi ovi jezici prvo pretvaraju u MSIL, sasvim je svejedno u kojem ćete od njih pisati aplikacije. Iz ovoga takođe proizlazi i druga velika mogućnost .NET-a - višejezično pisanje aplikacija. Tako sada više nije nužno da svi programeri koji rade na određenom projektu poznaju isti programski jezik, važno je samo da je podrška za njihov jezik dostupna u .NET-u, odnosno da postoji IL-kompajler za njihov jezik.

Mogućnosti koje CLR nudi su izuzetne, no same po sebi nisu dovoljno uporabljive iz ljudskog aspekta. Upravo zbog toga u .NET Frameworku postoje setovi klasa koje omogućavaju brzo i jednostavno korištenje mogućnosti koje CLR nudi.

Osnovne klase

Prvi i osnovni skup klasa zove se Base Class Library ili skraćeno BCL te sadrži osnovne funkcionalnosti koje se koriste u programiranju (funkcije za transformaciju teksta, mrežnu komunikaciju, proveravanje sigurnosnih prava, hvatanje unosa s tastature…)

Svojevrsna nadogradnja osnovne biblioteke sadrži set klasa zaduženih za komunikaciju s bazama podataka (ADO.NET) te XML-om. One omogućuju povezivanje aplikacija s bazama podataka (kao MS Access, SQL Server, Oracle…), kao i manipulaciju podacima u XML-dokument

Page 105: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

105VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

12.2.2. SharpDevelop

UVOD

C# je objektno-orijentisani programski jezik koji je razvio Microsoft u okviru svoje Microsoft .NET inicijative. Jezik su kao standard odobrile ISO i ECMA međunarodne organizacije. C# ima proceduralnu, objektno-orijentiranu sintaksu, zasnovanu većinom na C++-u, ali takođe uključuje i neke aspekte iz drugih jezika, kao što su Delphi, Visual Basic, te Java, sa posebnim fokusom na pojednostavljenje (manje simbola od C++ i manje dekorativnih zahtjeva od Jave).

Besplatno integrisano razvojno okruženje (IDE) otvorenog koda. Omogućava razvoj programa u jezicima C#, VB .NET, F# itd. Nastalo je kao alternativa Microsoft Visual Studio .NET okruženju. Verzija u kojoj je program razvijan je 2.2.1.2648. Najvažnije mogućnosti su: grafičko dizajniranje formi, integrisan debugger, automatsko dovršavanje koda (code completion), refactoring i slično.

VERZIJA C# 2.0

U julu 2003. Microsoft je predstavio specifikaciju za C# 2.0 za po~etak 2004. godine. Ova verzija sadr`i neke nove mogu}nosti programskog jezika, od kojih su najzna~ajnije gde su generici sada parametrizovani tipovi, mnogo vi{e nego {to su bili C++ {abloni. Oni se implementiraju generisanjem po tipu nezavisnog bajtkoda u vremenu prevodjenja (kompajliranja), a kada se u vremenu izvr{enja (run-time) {ablon prvi put instancira za konkretan tip, tada se generi{e bajtkod zavisan od tipa. Ta mogu}nost daje visoke performanse i mnogo vi{e tipizirane generike koje ne zahtevaju mnogo izvornog koda.

PRIMER IZVORNOG KODA using System;

namespace HelloNameSpace{ public class HelloWorld { static void Main() { Console.WriteLine("Zdravo, svete!");

Page 106: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

106VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

} }}

PISANJE PROGRAMA

Tipovi podataka se mogu podeliti u dve velike grupe:

Vrednosni tipovi (Value Types): - Strukture (Structs)

- Numeri~ki tipovi - Integralne (cele)

- sbyte- byte- char- short- ushort- int- uint- long- ulong

- Tipove sa plutaju}om ta~kom (Floating-point types) - float- double

- Decimalne - decimal

- Bulovi tipovi - bool

- Korisni~ki definisani tipovi- Enumeratori (Enumerations)

- Referentni tipovi (Reference Types): - class- interface- delegate

KLJU^NE RE^I

Klju~ne re~i C# verzije 2.0 su: abstract, as, base, bool, break, byte, case, catch, char, checked, class, const, continue, decimal, default, delegate, do, double, else, enum, event, explicit, extern, false, finally, fixed, float, for, foreach, goto, if, implicit, in, int, interface, internal, is, lock, long,

Page 107: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

107VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

namespace, new, null, object, operator, out, override, params, private, protected, public, readonly, ref, return, sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch, this, throw, true, try, typeof, uint, ulong, unchecked, unsafe, ushort, using, virtual, volatile, void и while

12.3. OPIS PC PROGRAMA “MERENJA”

Nakon startovana programa, pojavljuje se forma koja se sastoji iz tri dela:

Podaci – sadrži tabelu sa kolonama za smeštaj merenja u heksadekadnom i dekadnom obliku, kao i preračunatu vrednost u voltima, dok je ispod tabele indikator koji jednu sekundu svetli zeleno u slučaju prijema merenja

Podesavanja – sadrži listu za izbor serijskog porta preko koga se vrši povezivanje sa AD konvertorom i polje za unos koeficijenta za preračunavanje merenja u volte

Poruke – prikaz komentara i prijemu podataka

Povezivanje sa AD konvertorom počinje izborom serijskog porta, dok je koeficijenat podrazumevano postavljen na 0.0003 (da bi vrednosti sa AD konvertora bile prikazane u opsegu 0 - 5V). Izmene u podešavanjima neće uticati na trenutno prikazane podatke, već na buduću komunikaciju.Izlazak iz programa je preko sistemskog tastera u gornjem desnom uglu ekrana (crveni taster sa oznakom „X“).

Page 108: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

108VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

12.4. IZGLED I UPUTSTVO ZA RAD PC PROGRAMA “MERENJA”

Po otvaranju PC Programa “Merenja”, pre po~etka bilo kakvih merenja potrebno je izabrati serijski port preko koga je vezan na{ uredjaj. U na{em slucaju to je serijski port COM1, {to se mo`e videti sa Slike 12.1.

Slika 12.1. Odabir odgovaraju}eg serijskog porta

Sada kada smo odabrali odgovaraju}i serijski port merenje mo`e da po~ne. Merenja se vr{e pomo}u dva tastera moja se nalaze na samom uredjaju, Slika 12.2. TASTER 1, upro{temo re~eno, slu`i za merenje zadatog napona preko potenciometra, dok se pritiskom na TASTER 2 {alje informacija ra~unaru o izmerenom naponu. Ukoliko se vi{e puta pretisne TASTER 2 ista informacija }e se slati ra~unaru, sve dok se novi napon ne podesi preko potenciometra i izmeri pritiskom na TASTER 1.

Postavljanjem potenciometra u krajnju desnu stranu posti`e se najmanji mogu}i napon koji bi oko 10mV. Naravno, minimalan napon u ovom slu~aju bi trebao da ima vrednost od 0V, ali usled postojanja {umova i brumova komponenti koje ~ine ovaj uredjaj to je te{ko izvodljivo. Izmerene vrednosti u slu~aju kada smo hteli minimalan napon da postignemo preko potenciometra dat je na Slici 12.3.

Page 109: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

109VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 12.2. Raspored tastera na uredjaju

Slika 12.3. Minimalna vrednost napona

Daljim pomeranjem potenciometra u levu stranu dobijaju se sve ve}e i ve}e vrednosti napona. Merenjem ovog napona pomo}u TASTERA 1 i slanjem izmerene informacije na ra~unar pomo}u TASTERA 2, dobijaju se vrednosti koje se mogu videti na Slici 12.4 i Slici 12.5.

Page 110: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

110VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 12.4. Primer izmerenog napona u PC Programu “Merenja”

Slika 12.5. Primer izmerenog napona u PC Programu “Merenja”

Page 111: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

111VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Dovodjenjem potenciometra u krajnju levu stranu dobijamo maksimalnu vrednost napona. Ta vrednost iznosi oko 3.71V kao {to se mo`e i videti na Slici 12.6.

Slika 12.6. Maksimalna vrednost napona

Page 112: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

112VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

13. LABORATORIJSKE VE@BE

13.1. UPUTSTVO ZA LABORATORIJSKU VE@BU

- PRIKLJU^ITE NAPAJANJE UREDJAJA- POVE@ITE UREDJAJ SA RA^UNAROM PREKO SERIJSKOG PORTA- NA RA^UNARU POKRENITE APLIKACIJU POD NAZIVOM “MERENJA”- PRATITE UPUTSTVO ZA KORI[]ENJE POMENUTE APLIKACIJE

13.2 UPUTSTVO ZA KORI[]ENJE APLIKACIJE “MERENJA”

Po otvaranju PC Programa “Merenja”, pre po~etka bilo kakvih merenja potrebno je izabrati serijski port preko koga je vezan na{ uredjaj. U na{em slucaju to je serijski port COM1, {to se mo`e videti sa Slike 1.

Slika 1. Odabir odgovaraju}eg serijskog porta

Sada kada smo odabrali odgovaraju}i serijski port merenje mo`e da po~ne. Merenja se vr{e pomo}u dva tastera moja se nalaze na samom uredjaju, Slika 2. TASTER 1, upro{temo re~eno, slu`i za merenje zadatog

Page 113: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

113VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

napona preko potenciometra, dok se pritiskom na TASTER 2 {alje informacija ra~unaru o izmerenom naponu. Ukoliko se vi{e puta pretisne TASTER 2 ista informacija }e se slati ra~unaru, sve dok se novi napon ne podesi preko potenciometra i izmeri pritiskom na TASTER 1.

Postavljanjem potenciometra u krajnju desnu stranu posti`e se najmanji mogu}i napon koji bi oko 10mV. Naravno, minimalan napon u ovom slu~aju bi trebao da ima vrednost od 0V, ali usled postojanja {umova i brumova komponenti koje ~ine ovaj uredjaj to je te{ko izvodljivo. Izmerene vrednosti u slu~aju kada smo hteli minimalan napon da postignemo preko potenciometra dat je na Slici 3.

Slika 2. Raspored tastera na uredjaju

Page 114: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

114VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 3. Minimalna vrednost napona

Daljim pomeranjem potenciometra u levu stranu dobijaju se sve ve}e i ve}e vrednosti napona. Merenjem ovog napona pomo}u TASTERA 1 i slanjem izmerene informacije na ra~unar pomo}u TASTERA 2, dobijaju se vrednosti koje se mogu videti na Slici 4 i Slici 5.

Slika 4. Primer izmerenog napona u PC Programu “Merenja”

Page 115: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

115VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 5. Primer izmerenog napona u PC Programu “Merenja”

Dovodjenjem potenciometra u krajnju levu stranu dobijamo maksimalnu vrednost napona. Ta vrednost iznosi oko 3.71V kao {to se mo`e i videti na Slici 6.

Page 116: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

116VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

Slika 6. Maksimalna vrednost napona

Page 117: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

117VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

13.3. ZADATAK ZA STUDENTE

Cilj ove laboratorijske ve`be je da se studenti upoznaju sa postojanjem i uticajem {uma u elektronskim komponentama.

ZADATAK 1.

Izmeriti napone preko aplikacije “Merenja” u koracima od po 0.5V, u rasponu od 0 do 5V. Za dobijene vrednosti napona pri svakom merenju iscrtati na milimetarskom papiru promenu napona usled uticaja {uma.

ZADATAK 2.

Za ove izmerene vrednosti napona (ukupno ih ima 16) na}i srednje vrednosti i upisati ih u tabelu.

Napon na ulazu [V]

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

Srednja vrednost [V]

ZADATAK 3.

Za dobijene srednje vrednosti napona izracunati standardnu devijaciju.

Page 118: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

118VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM

14. LITERATURA

ARHITEKTURE I PROGRAMIRANJE RAČUNARSKIH SISTEMA ZASNOVANIHNA FAMILIJI PROCESORA 80x86, Mile K. Stojčev, Branislav D. Petrović, I izdanje, Elektronski fakultet, Niš, 1999.

ATMEL, SPI AT Microcontrollers, Datasheets - http://www.atmel.com

MIKROKONTROLER AT89S8253 – www.atmel.com

Flash microcontroller – Architectural Overview - http://www.atmel.com

Flash microcontroller – Memory Organization - http://www.atmel.com

Obrada prekida kod mikrokontrolera AT89S8253, Saša Đorđević, Seminarski rad, Elektronski fakultet, Niš, 2007.

AD KONVERTOR AD9243AS – http://www.analog.com

232 DRAJVER/PRIJEMNIK – http://www.ti.com

74LS244N – OKTALNI BAFER I LINIJSKI DRAJVER – http://www.ti.com

TS272CN - DVOSTRUKI CMOS OPERACIONI POJA^AVA^ VISOKIH PERFORMANSI – http://www.ti.com

KEIL uVision3 - http://www.keil.com

PC PROGRAM “MERENJA” - http://msdn.microsoft.com/en-us/vcsharp/default.aspx i http://www.microsoft.com/NET/

OSTALO - http://www.wikipedia.org/

Page 119: es.elfak.ni.ac.rses.elfak.ni.ac.rs/Files/DjStevanovic-MStojanovic - Varijacije pri...  · Web viewelektronski fakultet . projekat. varijacije pri merenju napona sistemom realizovanim

119VARIJACIJE PRI MERENJU NAPONA SISTEMOM REALIZOVANIM AT89S8253 MIKROKONTROLEROM