programabilni pojaČavaČes.elfak.ni.ac.rs/papers/imitic - programabilni pojacavac.pdfinstrukcija,...

100
PROGRAMABILNI POJAČAVAČ Mentor: Student: Prof. Dr Mile Stojčev Ivan Mitić 10553 Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku

Upload: others

Post on 01-Jan-2020

11 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

PROGRAMABILNI POJAČAVAČ

Mentor: Student: Prof. Dr Mile Stojčev Ivan Mitić 10553

Univerzitet u Nišu Elektronski fakultet Katedra za Elektroniku

Page 2: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

1

Sadržaj

1. Mikrokontroleri ................................................................................................. 4

1.1 Mikroprocesori i mikrokontroleri ........................................................................ 4

1.2 Mikroprocesori .................................................................................................. 4

1.3 Mikrokontroleri .................................................................................................. 6

1.4 Razlike izmedju mikroprocesora i mikrokontrolera ............................................ 7

1.5 Terminologija .................................................................................................... 7

1.6 Mikroračunar ..................................................................................................... 8

1.7 Ostala kola za podršku rada sistema ................................................................ 9

1.8 Mikrokontroler PIC16F877A .............................................................................. 9

1.9 Osnovne karakteristike mikrokontrolera PIC16F877A:...................................... 9

1.10 Kratak opis mikrokontrolera PIC16F877A ..................................................... 10

1.11 Raspored nožica ........................................................................................... 11

1.12 Generator takta (Oscilator) ............................................................................ 12

1.13 Takt/instrukcijski ciklus .................................................................................. 15

1.14 Reset............................................................................................................. 16

1.15 Watchdog timer ............................................................................................. 21

1.16 Prekidi ........................................................................................................... 21

1.17 U/I Portovi ..................................................................................................... 23

1.18 Strujna,naponska i temperaturna ograničenja ............................................... 30

1.19 Organizacija memorije .................................................................................. 30

1.20 Tajmeri .......................................................................................................... 34

1.21 CCP moduli ................................................................................................... 34

1.22 Ostale periferne jedinice ............................................................................... 35

2. Operacioni pojačavači.................................................................................. 36

2.1 Invertorski pojačavač ..................................................................................... 37

2.2 Neinvertorski pojačavač .................................................................................. 37

2.3 Jedinični pojačavač ........................................................................................ 38

2.4 Kolo za sabiranje ........................................................................................... 38

2.5 Operacioni pojačavač TL072CN ..................................................................... 39

2.5.1 Karakteristike i raspored nožica ................................................................... 39

2.6 Programabilni pojačavač ................................................................................. 44

2.6.1 Kratak opis ................................................................................................... 44

2.6.2 Proračun pojačanja ...................................................................................... 45

2.6.3 Amplitudno-frekventna karakteristika ........................................................... 47

Page 3: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

2

3. Elektronski prekidači .................................................................................... 49

3.1 Elektronski prekidač ADG201A ........................................................................ 49

3.1.1 Kratak opis ................................................................................................... 49

3.1.2 Karakteristike ............................................................................................... 50

4. Realizacija uredjaja ...................................................................................... 54

5. Prateći softver za PC i demo programi .................................................... 61

5.1 Istalacija softvera ............................................................................................ 61

5.2 Kreiranje aplikacija na programskom jeziku C za mikrokontroler

PIC16F877A ......................................................................................................... 90

5.3 Tipovi podataka ............................................................................................... 91

5.4 Prekidi ............................................................................................................. 92

6. Listing programa............................................................................................ 93

7. Laboratorijska vežba .................................................................................... 96

Page 4: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

3

Uvod

U ovom seminarskom radu obradjen je analogni programabilni pojačavač sa selektivnim ulazom realizovan PIC mikrokontrolerom. Liteatura je realizovana uz pomoć datasheet literature pojedinih komponenata i seminarskih radova kolega. Redom su predstavljene karakeristične komponente za ovaj projekat. Tako je u prvom delu opisan mikrokontroler PIC16F877A. U drugom delu su ukratko predstavljeni operacioniu pojačavači i opisane su vrste pojačavača. Treći deo nas upoznaje sa elektronskim prekidačima i njihovom primenom. Detaljno je predstavljen quad prekidač ADG201A, izabran za realizaciju ovog uredjaja. Naravno, prezentovan je i sam projekat zajedno sa pratećim softverom neophodnim za njegovo funkcionisanje. U posledjem delu je data laboratorijska vežba koja ima za zadatak da nas upozna sa uredjajem i njegovom funkcijom.

Page 5: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

4

1. Mikrokontroleri 1.1 Mikroprocesori i mikrokontroleri

Da bi ukazali na to kakva razlika postoji izmedju mikroprocesora i mikrokontrolera analiziracemo sliku 1.1 koja predstavlja jedan detaljan blok dijagram mikroracunarskog sistema. Dok je mikroprocesor (CPU) na jedinstvenom cipu sam, mikrokontroler, na jedinstvenom cipu, sadrzi 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.).

Sl.1.1 Detaljni blok dijagram mikroracunarskog sistema

1.2 Mikroprocesori

Na slici 1.2 prikazan je blok dijagram mikroprocesora. CPU cine sledeci blokovi: ALU, PC, SP, odredjeni broj radnih registara, kola za taktovanje i sinhronizaciju i kola koja se koriste za prihvatanje zahteva za prekid.

Page 6: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

5

Sl.1.2 Blok dijagram mikroprocesora(CPU-a)

Da bi se kompletirao mikroracunarski sistem pored mikroprocesora potrebno je dodati ROM, RAM memorijske dekodere, oscilator, odredjeni broj ulazno-izlaznih uredjaja, kakvi su paralelni i serijski portovi za podatke, A/D i D/A konvertori i drugo. Pored ulazno-izlaznih uredjaja specijalne namene, cesto se javlja i potreba da se ugrade i kontroleri prekida, DMA kontroleri, kao i brojaci/tajmeri ciji je zadatak da oslobode CPU od obavljanja U/I aktivnosti. Kada se u sistem instaliraju i uredjaji 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 izracunavanja nad podacima i memorise rezultate izracunavanja na disku kao i da za potrbe korisnika prikaze te rezultate na displeju (CRT, TFT, LED i dr.). Programi koje koristi mikroprocesor memorisani su na disku odakle se citaju i smestaju u RAM. Deo programa, najcesce malog obima, se obicno smesta i u ROM-u.

Page 7: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

6

1.3 Mikrokontroleri

Blok dijagram mikrokontrolera prikazan je na slici 1.3. Mikrokontroler je u sustini pravi ''mali racunar'' na cipu, koji sadrzi sve gradivne blokove CPU-a (ALU, PC, SP, registre i dr.), ali takodje i RAM, ROM, paralelne i seriske U/I portove, generatore takta i dr. Kao i mikroprocesor, i mikrokontroler je uredjaj opste namene, koji pribavlja podatke, obavlja ogranicenu obradu nad tim podacima, i upravlja svojim okruzenjem na osnovu rezultata izracunavanja. Mikrokontroler u toku svog rada koristi fiksni program koji je smesten u ROM-u i koji se ne menja u toku zivotnog veka sistema.

Sl.1.3 Blok dijagram mikrokontrolera Mikrokontroler koristi ogranicen skup jedno-bajtnih ili dvo-bajtnih instrukcija koje se koriste za pribavljanje programa i podataka iz interne memorije. Veliki broj ulazno-izlaznih pinova mikrokontrolera se moze koristiti za vise namena sto se softverski definise. Mikrokontroler komunicira sa spoljnim svetom (pribavlja i predaje podatke) preko svojih pinova, pri cemu je arihitektura i skup instrukcija projektovan za manipulisanje podacima obima bajt ili bit.

Page 8: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

7

1.4 Razlike izmedju mikroprocesora i mikrokontrolera Razlike su brojne ali one koje su najvaznije su sledece: 1. Mikroprocesori su najcesce CISC tipa. Za kopiranje podataka iz spoljne

memorije u CPU koriste veci broj op-kôdova, dok mikrokontroleri jedan ili dva. 2. Za manipulisanje sa podacima tipa bit, mikroprocesori koriste jedan ili dva tipa

instrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi prenos podataka iz programa sa

spoljno adresiranih lokacija u cip, dok se kod mikrokontrolera brzi prenos bitova obavlja u okviru cipa.

4. Mikrokontroler moze da funkcionise kao racunar bez dodataka spoljnih gradivnih blokova (memorije i U/I uredjaja), dok operativnost mikroprocesora bez spoljne memorije i U/I podsistema nije moguca. 1.5 Terminologija

Kako bi opis mikrokontrolera bio jasni dacemo, pre svega, objasnjenja za neke osnovne termine koje cemo koristiti u daljem tekstu:

U/I pin – spoljni pin prema spoljasnjem svetu koji se moze konfigurisati kao ulazni, odnosno izlazni. U/I je neophodan u vecini slucajeva da omoguci mikrokontroleru da komunicira, upravlja ili cita informacije.

Softver – informacije koje su mokrokontroleru potrebne za rad. Ovaj softver kreira onaj koji odredjuje kako ce mikrokontroler raditi. Bez softvera mikrokontroler nije upotrebljiv. Softver se moze kreirati u raznim jezicima kao sto su: C, Paskal, Asembler, Basic.

Programator – uredjaj koji omogucava da program bude upisan u memoriju mikrokontlolera. Postoje razni programatori za PIC mikrokontrolere. Nabrojimo samo neke koji se najcesce koriste: AllPIC programator, TAIT programator, PONY programator. Ovi programatori u stanju su da programiraju pored PIC mikrokontrolera i dosta drugih tipova kola slicnih funkcionalnosti (sto zavisi uglavnom od tipa programatora), kao sto su recimo Atmel mikrokontroleri ili serijski EEPROM. U nasem projektu smo koristili TAIT programator i softver za njega Icprog. Nesto vise o ovom programatoru recicemo kasnije. Izvorna datoteka – program napisan u asemblerskom jeziku koji mi razumemo. Izvorna datoteka se mora prvo obraditi (iskompajlirati) kako bi je mikrokontroler razumeo.

Asembler / kompajler – softverki paket koji prevodi izvornu datoteku u objektnu. Provera gresaka je vec ugradjena i ona je veoma korisna mogućnost u trazenju gresaka u programu posto se greske markiraju za vreme procesa asembliranja. MPASM je najnovija verzija asemblera firme Microchip koji podrzava celu PIC familiju.

Objektna datoteka – ovo je datoteka koju generise asembler / kompajler.. Ekstenzija ove datoteke je .OBJ ili .HEX zavisno od direktive u asembleru. Mi cemo u nasem projeku i za nas programator koristiti datoteke sa ekstenzijom .HEX.

Page 9: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

8

Bagovi – greske koje mi kreiramo nenamerno u toku pisaja programa. Ovde spadaju greske od jednostavnih u kucanju do pogresnog koriscenja sintakse jezika. Vecinu ovih gresaka ce pronaci kompajler.

1.6 Mikroracunar

Mikroracunar je sastavljen od tri osnovna dela: Procesor (CPU), U/I podsistem i memorijski podsistem. Svaki deo moze varirati u kompleksnosti, od osnovnog pa do jako slozenog. Ako je procesor realizovan na jedinstvenom cipu, tada se on naziva mikroprocesor. Kada na jedinstvenom cipu postoji mikroprocesor i ograniceni iznos memorije i ulaza–izlaza tada se to integrisano kolo naziva mikrokontroler. Na slici 1.4 prikazan je jedan tipican mikroracunarski sistem.

Sl.1.4 Tipican mikroracunarski sistem

Ukazimo sada u kratkim crtama na strukturu i funkcije koje obavljaju osnovni gradivni blokovi mikroracunarskog sistema:

Centralna procesorska jedinica (CPU) – srce sistema i moze biti realizovana kao 4, 8 ili16-bitna procesorska jedinica.

Memorija – moze biti RAM, ROM, EPROM, EEPROM i FLASH tipa ili bilo koja njihova kombinacija. Memorija se koristiti za cuvanje programa i podataka.

Ulaz/Izlaz (U/I) – cine ga blokovi koji mogu da obavljaju digitalne, analogne i specijalne funkcije. Preko ulazno-izlaznog podsistema mikrokontroler komunicira sa spoljnim svetom.

Page 10: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

9

1.7 Ostala kola za podrsku rada sistema

Oscilator –je taktni generator mikroracunar. Njegova uloga je da sinhrono pobudjuje sva kola u okviru mikroracunarskog sistema. Oscilator moze biti napravljen od diskretnih elemenata ili kao gotov modul. Sistem za napajanje-moze biti izveden kao ispravljacka jedinica, autonomna bateriska ili kombinacija. Jedinica za napajanje moze biti izvedena kao linearna (konvertor je tipa AC-DC), kao prekidacki regulator tipa DC-DC konvertor (konverzije tipa AC-DC-DC) ili neka kombinacija.

Pas-cuvar (watchdog timer)-koristi se kod sistema za rad u realnom vremenu da obavesti procesor o tome da je istekao krajnji rok izvrsenja zadatka ili da aktivira procesor iz stanja HALT u slucaju ako se rad procesora zaustavi kada se procita neki pogresan op-kod ili dr.

1.8 Mikrokontroler PIC16F877A

Kao sto je u uvodu naglaseno centralna komponenta naseg sistema je mikrokontoler PIC16F877A firme Microchip. U ovom poglavlju cemo se truditi da detaljnije opisemo ovo integrisano kolo. Mikrokontroleri imaju integrisane sve gore pobrojane gradivne blokove: CPU, memoriju, oscilator, watch-dog timer i U/I. I pored prednosti koje se nude integracijom postoji jedan ozbiljan nedostatak koji se ogleda u malom iznosu implementirane memorije (reda kB) i relativno skromnim mogucnostima ulazno-izlaznog podsistema (dva do tri paralelna porta, do tri tajmera,jedan do dva UART-a, jedan ADC). PIC familija mikrokontrolera podrzava rad sa:

- velikim brojem U/I uredjaja(paralelni portovi,serijski portovi,LCD i dr.); - memorijama razlicitog tipa(EEPROM,FLASH,RAM,ROM)

1.9 Osnovne karakteristike mikrokontrolera PIC16F877A:

- Visoko performansni RISC CPU - 35 instrukcija obima jedne reci - Radna frekvencija ,fref = DC-20 MHz - Trajanje taktnog intervala tcpu = 200 ns, kada je fref = 20 MHz - Op-kôd obima14bita - Harverski magacin sa osam nivoa - Tri nacina adresiranja: -direktno

-indirektno -relativno

- Programska memorija kapaciteta 8 kx14-bitnih reci realizovane u FLASH tehnologiji

- Memorije za podatke tipa RAM kapaciteta 368x8 bita - Memorije za podatke EEPROM tipa kapaciteta 256x8 bita - Prekidi ( do 14 izvora prekida) - U/I portovi: A,B,C,D,E - Tri tajmera: -Timer0: 8-bitni tajmer/brojac dogadjaja

-Timer1: 16-bit tajmer/brojac dogadjaja

Page 11: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

10

-Timer2: 8-bit tajmer/brojac dogadjaja - 10-to bitni 8-kanalni Analogno-Digitalni (A/D) konvertor - Serijska komunikacija: MSSP,USART - Paralelna komunikacija: PSP - Power-on Reset- reset pri ukljucenju napajanja(POR) - Power-up timer-unosenje kasnjenja nakon ukljucenja napajanja (PWRT) - Oscillator Start-up Timer-unosenje kasnjenja nakon stabilizovanja radne

frekvencije oscilatora(OST) - Sleep -rezim rada za stednju energije - Watchdog timer sa sopstvenim integrisanim RC oscilatorom za nezavisni rad - Izbor tipa oscilatora - Mala potrosnja,velika brzina rada - Radni napon od 2V do 5.5V - Mala potrosnja energije:

1. <0.6 mA pri naponu od 3V i radnoj frekvenciji od 4 MHz 2. 20µA pri naponu od 3V i radnom taktu od 32kHz 3. <1µA u standby nacinu rada

1.10 Kratak opis mikrokontrolera PIC16F877A

Kao sto smo vec naglasili mikrokontroler PIC16F877A poseduje tipicnu RISC arhitekturu. Arhitektura poseduje odvojene magistrale za podatke i programski kôd. Obim podataka je 8-bitni, dok je programski kôd 14-bitni. Moguce je protocno izvrsenje (pipelining). Sve insrukcije su istog obima (osim instrukcija grananja) i izvsavaju se za cetiri taktna intervala. Dakle, ako koristimo oscilator npr. od 20 MHz dobijamo da ciklus instrukcuije traje 200 ns. Sa blok dijagrama (slika 1.5) mogu se uociti sledeci gradivni blokovi:

- Flash programska memorija – 8 kiloreci obima 14 bita - RAM (File Registers) – 368 bajtova - Aritmetičko-logička jedinica (ALU) - Akumulator (Working Register) - Hardverski magacin (Stack) organizivan u 8 nivoa - EEPROM memorija podataka obima 256 bajtova - Razne periferne jedinice (portovi, tajmeri, A/D konvertor, USART,...)

Page 12: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

11

Sl.1.5 Blok dijagram mikrokontrolera PIC16F877A

1.11 Raspored nozica

Jezgro mikrokontrolera PIC16F887A pakuje se u 40-pinsko DIP pakovanje ili u 44-pinska kucista QFP i PLCC tipa. Na slici 1.6 prikazan je raspored nozica kod 40-to pinskog DIP pakovanja:

Page 13: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

12

Sl.1.6 Raspored nozica mikrokontrolera PIC16F877A

- Napajanje od +5V se dovodi na pinove VDD (11 i 32) a masa na pinove VSS (12 i 31).

- Nozice OSC1 i OSC2 (pinovi 13 i 14) sluze za priklucivanje oscilatorskih komponeti (RC-kolo ili kvarc).

- Pin 1 (MCLR/VPP) ima dvostruku ulogu. Standardno se koristi kao Reset, a u procesu programiranja kao pin za dovodjenje visokog napona (13V).

- Ostalih 33 pina prestavljaju U/I linije. One su grupisane u pet portova (PORTA-PORTE) i svaki od njih mozemo konfigurisati kao ulazni ili izlazni. Osim opste namene vecina pinova ima i specificnu namenu koju dobija u slucaju koriscenja nekih specijalnih periferija mikrokontrolera (brojaca, ADC, serijske komunikacije).

1.12 Generator takta (Oscilator)

Moguce su cetri varijante u konfiguraciji oscilatora: LP Low Power Crystal XT Crystal / Resonator HS High Speed Crystal / Resonator RC Resistor/Capacitor Kontroler moze da radi i na 32 kHz i tada ima jako malu potrosnju. Najednostavnija varijanta je RC oscillator (slika 1.7).Ova varijanta oscilatora moze se koristiti u aplikacijama gde se precizna procena vremenskih intervala ne zahteva.

Page 14: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

13

Sl.1.7 Nacin povezivanja RC oscilatora

Frekfencija oscilovanja zavisi od napona napajanja, vrednosti Rext i Cext ,kao i radne temperature.Rext treba da je u granicama od 5k do 100k. Van ovog opsega rad oscilatora postaje nestabilan i osetljiv na spoljne uticaje.Cext se moze i izostaviti, ali zbog stabilnosti se preporucuje 20pF.Na OSC2/CLKOUT generise se taktni impuls cija je perioda cetiri puta veca od periode oscilatora.

Kod vremenski kriticnih aplikacija treba ugradjivati kvarcni oscilator ili keramicki rezonator. Vrednosti kondenzatora C1 i C2 (slika 1.8), treba da su jednaki.

Sl.1.8 Nacin povezivanja XT oscilatora

Preporuka proizvodjaca za vrednosti C1 i C2 kod nekih konfiguracija je:

Tabela 1.1

Page 15: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

14

Tabela 1.2

Tabela 1.3

Moguce je i da se oscilacije dovode iz nekog spoljnjeg izvora kao sto je prikazano na slici 1.9:

Sl.1.9.Nacin povezivanja spoljnjeg oscilatora

Najcesce se koristi spoljni kristalni oscilator (XT) radne frekvencije 4MHz. Bice prikazano kako se spaja kristalni oscilator sa mikrokontrolerom (slika 1.10) i kako izgleda oblik signala generisan iz oscilatora u trenutku ukljucenja (slika 1.11). Oscilatoru treba neko vreme ΔT da se stabilizira na potrebnu frekvenciju i amplitudu

Page 16: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

15

Sl.1.10 Spajanje kristalnog oscilatora Sl.1.11 Oblik signala pri ukljucenju oscilatora 1.13 Takt/instrukciski ciklus

Takt koji se dovodi na nozice oscilatora OSC1 u mikrokontroleru se deli na cetiri vremenski nepreklapajuca taktna signala nazvana Q1,Q2,Q3 i Q4. Skup ovih signala cine jedan instrukciski ciklus(slika 1.12a). U zavisnosti od trenutka generisanja u okviru ciklusa instrukcija taktni signali Q1-Q4 se koriste za sledece namene:

- Q1-pribavljanje instrukcije iz programske memorije - Q2-dekodiranje naredbe iz prethodnog instrukciskog ciklusa - Q3-izvrsenje naredbe iz prethodna dva instrukciska ciklusa - Q4-prenos op-kôda naredbe pozvane u Q1 u instrukcijski registar.

Uzmimo za primer instrukciski ciklus TCY2 (slika 1.12a). U toku taktnog impulsa Q1 instrukcijskog ciklusa TYC2, stanje programskog brojaca (PC) se uvecava za 1 i pribavlja naredna instrukciju iz programske memorije. U toku intervala Q2 dekodira se instrukcija pribavljena u TCY1, a u toku Q3 se izvrsava instrukcija pribavljena u TCY0. U cetvrtom taktu Q4 instrukciskog ciklusa TCY2 se,

Sl.1.12 Vremenski dijagram i protocnost kod izvrsavanja instrukcije

a).Vremenski dijagram

Sl 1.12 b) Protocnost kod izvrsenja sekvence instrukcije

Page 17: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

16

Na slici 1.12b prikazan je protocni nacin izvrsenja sekvence od 5 instrukcija. Kao sto se vidi sa slika 1.12b postoje dva stepena u protocnoj obradi. Prvi se odnosi na pribvljanje, a drugi na izvrsenje. Neka je protocni sistem inicijalno prazan. U toku TCY0 pribavlja se instrukcija sa labele 1 tipa MOVLW 55h. U toku TCY1 izvrsava se instrukcija sa labele 1 i pribavlja instrukcija sa labele 2 tipa MOVWF PORTB. U toku TCY2 pribavlja se instrukcija sa labele 3 koja je tipa CALL SUB_1 i pretstavlja poziv potprograma 1, i izvrsava se instrukcija sa labele 2. U toku TCY3 pribavlja se instrukcija sa labele 4 tipa BSF PORTA, BIT3 i izvrsava insrukcija sa labele 3. Napomenimo da je instrukcija sa labele 3 tipa bezuslovno grananje tako da, u principu, efekat izvrsenja instrukcije sa labele 4 ne treba da bude vidljiv,tj. ona treba da pretstavlja neku operaciju tipa NOP (da ne menja statusne markere procesora kao i stanja procesora). Nakon izvrsenja instrukcije CALL SUB_1 vrednost programskog brojaca se postavlja na adresu insrukcije koja se nalazi na labeli 5. U toku TCY4 pribavlja se instrukcija sa labele 5 tipa Instruction @ address SUB_1 (prva naredba potprograma), a izvrsava instrukcija na labeli 4 koja je sa stanovista procesora i programa operacija tipa NOP. U TCY5 pribavlja se druga naredba potprograma i izvrsava prava.

1.14 Reset

Reset sluzi da bi sve registre mikrokontrolera doveli u pocetni polozaj. Ako se mikrokontroler “zakoci” ,ili smo ga tek ukljucili, treba ga resetovati. Da bi sprecili slucajno dovodjenje “0” na MCLR nozicu, porebno ju je preko otpornika povezati na pol napajanja Vdd (slika 1.13)

Sl.1.13. Povezivanje kola za reset

Postoji vise vrste reseta kod PIC16F877A mikrokontrolera:

- Power-on reset (POR) - MCLR Reset pri normalnom radu - MCLR Reset prilikom SLEEP rezima rada - WDT Reset pri normalnom radu - WDT Wake-up (budjenje iz SLEEP rezima rada) - Brown-out Reset (BOR)

Power-on reset (POR) impuls se generise u samom kolu kada se detektuje porast napona napajanja (oko 1,2 – 1,7 V). Da bi se POR iskoristio dovoljno je MCLR nozicu prikljuciti na Vdd direktno ili preko otpornika (sl. 1.10). Ukoliko je porast

Page 18: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

17

napona napajnja spor neophodno je na MCLR postaviti spoljnje kolo za reset. Sema kola za POR reset je prikazana na slici 1.14.

Sl.1.14 Spoljasnje kolo za reset Interno POR kolo nece generisati Reset signal kad napon napajanja padne ispod minimuma. Za situacije kada je moguca pojava BROWN-OUT-a (privremeni pad napona ispod Vmin) prebno je napraviti spoljnje Brown-out reset kolo,sto je prikazano na slici 1.15.

Sl.1.15.Kolo za BROWN-OUT reset Varijanta 1

Kolo ce generisati Reset impuls kada napon bude ispod (Vz + 0.7) V Vz – napon na Zener diodi.

Sl.1.16. Kolo za BROWN-OUT reset Varijanta 2

Page 19: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

18

Uslov da tranzistor iskljuci je:

Power-up Timer (PWRT) generise impuls fiksne sirine (nominalno 72 msec) od pojave impulsa POR-a. Za to vreme ce kontroler biti je u Reset stanju. Za ovaj vremenski period se obezbedjuje da napon napajanja dostigne nominalnu vrednost.Tajmeru PWRT se dozvoljava rad setovanjem PWRTE bita koji pripada konfiguracionoj reci u fazi programiranja cipa. PWRT se taktuje internim RC oscilator. Oscilator Start-up Timer (OST) obezbedjuje kasnjenje od 1024 taktnih intervala nakon isteka kvazistabilne periode PWRT-a (vidi tabelu 1.4). Ovo obezbedjuje da kristalni oscilator ili rezonator startuju stabilnom frekvencijom. OST se aktivira samo kod XT, LP i HS rezima rada i to pri:

- POR, i - budjenju iz SLEEP rezima rada.

Mikrokontroler PIC16F877A ima implementiran dvo-bitni statusni registar nazvan PCON (Power Control Register). Prvi bit nazvan POR setuje se kada se aktivira Power-on-Reset a resetuje se kada je se aktivira neki drugi Reset. Drugi bit (BOR)kada je setovan ukazuje da je aktivan Brown-out stanja (nepropisana naponska stajna u napajanju mikrokontrolera), zbog kojeg se takodje može aktivirati Reset.

Page 20: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

19

Tabela 1.4

Stanja na kojima se postavljaju interni registri CPU-a nakon Reseta zavisi od vrste Reseta i rezima rada u kojima se nalazi procesor (Sleep i normalni).

Stanje nekih registara ostaje nedifinisano, neki zadrzavaju svoje stanje, a ostali se postavljaju u unapred definisana stanja (vidi Tabele 1.5 i 1.6).

Tabela 1.5: Postavljanje registara nakon reseta

Page 21: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

20

Tabela 1.6

Legenda: x – Nepoznato stanje u – Nepromenjeno stanje q – Stanje zavisi od uslova --Ne postoji fizicki cita se kao 0

Page 22: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

21

Struktura Reset logike za PIC 16F877A data je na slici 1.17:

Sl.1.17 Blok dijagram Reseta

1.15 Watchdog timer

Watchdog timer (WDT) taktuje se nezavisanim RC oscilatorom koji radi cak i kad je zaustavljen rad glavnog oscilatora, u SLEEP rezimu rada, povezan na OSC1/CLKIN i OSC2/CLKOUT pinove. Prekoracenje intervala brojanja WDT-a, prilikom normalnog rada, izaziva RESET kontrolera. Ako je kontroler bio u SLEEP rezimu rada prekoracenje tajmera ce probuditi kontroler i program ce nastaviti sa normalnim radom. Iskljucivanje WDT-a se vrsi resetovanjem WDTE bita u konfiguracionoj reci. Nominalno vreme WDT-a je 18 ms bez uptrebe preskalera. Ovo vreme moze da varira od kola do kola zbog temperature i slicno. Ukoliko je potrebno duze vreme moze se WDT-u pridruziti preskaler sa faktorom deljenja do 1:128, tako se vreme moze produziti do 2,3 s. Instrukcije CLRWDTi SLEEP resetuju WDT.TO‟ bit u STATUS registru ce biti 0 nakon isteka WDT.

1.16 Prekidi

Mikrokontroler PIC16F877A podrzava tehniku rada sa prekidima (interrupts). Postoji ukupno 14 izvora pekida, neki su interni, a drugi su eksterni. Svaki prekid nema sopstveni vektor-broj.Kada se prihvati zahtev za prekid izvrsenje prekidnog programa pocinje od adrese 0x0004. Tada se programskim putem testira stanje markera koji se postavljaju kada se aktivira odgovarajuci prekid (interrupt flags polling).Kada se ustanovi koji je od uredjaja generisao zahtev za prekid prelazi se na izvrsenje odgovarajuce rutine za obradu tog prekida. Povratna adresa prekinutog programana cuva se automatski u hardverski magacin.Povratak iz prekidnog

Page 23: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

22

programa se vrsi instrukcijom RETFIE. Upravljacki registar INTCON se koristi za maskiranje prekida. Pregled sadrzaja marker bitova kojim se generise zahtev za prekid je definisan na slici 1.18. Znacenje pojedinih markera je sledece:

- T0IF (INTCON:2) setuje se na prekoracenje Timer0 - INTF (INTCON:1) setuje se u slucaju da nastupi spoljni prekid na pinu RBO/INT - RBIF (INTCON:0) setuje se kada se dogodi promena stanja na nekom od

pinova RB4, RB5, RB6, RB7 - PSPIF (PIR1:7) PSP marker bit koji se koristi u opreciji citanja i upisa na

PORTD kada je on konfigurisan kao PSP - ADIF (PIR1:6) marker koji se koristi za vreme analogno-digitalne konverzije - RCIF (PIR1:5) marker koji oznacava da je prijemni bafer koji koji koristi USART

blok, pun - TXIF (PIR1:4) marker koji pokazuje da je bafer za slanje podataka koji koristi

USART prazan - SSPIF (PIR1:3) marker koji se koristi za rad sinhronog serijskog porta - CCP1IF (PIR1:2) marker koji koristi CCP1 blok - TMR2IF (PIR1:1) marker koji setije Timer2 kada dodje do prkoracenja - TMR1IF (PIR1:0) marker koji setije Timer2 kada dodje do prkoracenja - EEIF (PIR2:4) marker koji se setuje kada se zavrsi upis u interni EEPROM - BCLIF (PIR2:3) marker koji koji korist SSP blok kada je konfigurisan da radi u

I2C master rezimu rada - CCP2IF (PIR2:0) marker koji koristi CCP2 blok.

Pored bita za dozvolu rada svih prekida General Interrupt Enable (GIE) i bita za dozvolu rada prekida generisanih os strane periferija (PEIE), ovom registru pripadaju i markeri prekida (interrupt-flags) i bitovi koji dozvoljavaju prekid koji izaziva tajmer0, spoljasnji prekid na pinu RB0/INT i prekida porta B na promenu stanja. Osim ova tri osnovna prekida postoji jos 11 periferijskih prekida. Bitovi za njihovo omogucenje nalaze se u registrima PIE1 i PIE2, a korespodentni flegovi,u registrima PIR1 i PIR2. Ovi se flegovi setuju cim se ispuni uslov interapta bez obzira na stanje njihovog bita

omogucenja, a po izvrsenju servis rutine potrebno ih je sostverski resetovati.

Na sledecoj slici (sl. 1.18) prikazana je logicka sema svih interrupt-a sa tabelom u kojoj su oni pobrojani:

Page 24: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

23

Sl.1.18 Sema logike za prihvatanje zahteva za prekid i sadrzaj

1.17 U/I Portovi

Za vezu mikrokontrolera sa spoljnim svetom zaduzeni su ulazno/izlazni portovi. Ima ih pet i oznaceni kao PORTA, PORTB, PORTC, PORTD i PORTE. Razlicitog su obima. PORTE cine tri pina, PORTA sest, a ostala tri porta su osmopinski. Odredjeni pinovi U/I portova u zavisnosti od rezima rada mogu da imaju fiksne ili promenljive funkcije. Konfiguracija smera prenosa na odgovarajucoj bit poziciji porta vrsi se upisom konfiguracione reci u pripadajuci TRIS registar pri cemu nula konfigurise pin kao izlazni, a jedinica kao ulazni. Svaki port poseduje odgovarajuci registar podataka (PORTX) preko kojeg se programski pristupa U/I pinovima. Upis u neki od tih registara inicirace upis u lec tog porta, a njegovo citanje rezultirace citanjem logickih stanja direktno sa pinova. Sve instrukcije upisivanja su tzv. read-modify-write instrukcije. To znaci da se pri upisu u port prvo ocitaju stanja pinova, izvrsi modifikacija, a potom ispravljena vrednost upise u lec porta. Nema velike razlike u elektricnoj konstrukciji navedenih pet portova. Port B se od ostalih razlikuje posebnom opcijom koju nude cetiri MSB. Ukoliko se setuje bit RBIE u registru INTCON, svaka promena stanja na ovim pinovima generisace prekid mikrokontrolera.

Port A

Port A je 6-to bitni bidirekcioni port i sadrzi pinove od RA0 do RA5. TRISA je direkcioni registar koji odredjuje smer pinova na portu. Ako postavimo TRIS na 1 pin je ulazni, u suprotnom pin je izlazni. Npr. ako je TRISA=0b111111 ceo port A je ulazni, a ako je TRISA=0b000000, ceo port A je izlazni. Moguce je podeliti port A, tako da, na primer, prva 2 bita budu ulazna,a ostala 4 izlazna (TRISA=0b110000). Na slikama 1.19 i 1.20 bice prikazan blok dijagram porta A:

Page 25: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

24

Sl.1.18 Port A od RA0 do RA3 i RA5 Sl.1.20 Pin RA4 na portu A

Pin RA4 je izlaz sa otvorenim drejnom pa se zahteva od projektanta da veze otpornik odgovarajuce vrednosti za pozitivan napon. Pri tome mora se voditi racuna o strujnom ogranicenju pina o cemu ce biti kasnije reci. Ceo port A ima mogucnost analogno-digitalne konverzije i prvenstveno se korisi u te svrhe. A/D konvertor je 10-to bitni sa 8 ulaznih kanala, jer se u ove svrhe korite i svi pinovi na portu E (i pinovi porta A od RA0 do RA3 i pin RA5). Pin RA4 moze da se izkoristi za ulaznu frekvenciju timer0. Timer0 moze da se okida preko ovog pina na rastucu ili opadajucu ivicu ulaznog signala, sto se odradjuje selekcijom bita T0SE u registru OPTION. Na slici 1.21 dat je tabelarni prikaz funkcija pojedinih pinova porta A i registri koji se koriste za konfigurisanje porta:

Sl.1.21 tabelarni prikaz registara za konfigurisanje porta A

Page 26: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

25

Port B

Port B je 8-mo bitni bidirekcioni port. Svi pinovi imaju odgovarajuce bitove u TRISB registru kojim moze da se pinovi konfigurisu kao izlazni ili kao ulazni. „1‟ u nekom bitu u TRISB registru stavlja odgovarajuci pin u stanje visoke impedanse i on radi kao ulazni pin. „0‟ u TRISB registru prosledjuje sadrzaj bita iz izlaznog (latch) registra na pin i on radi kao izlazni. Svi pinovi u PORTB imaju pull-up otpornike. Ovi otpornici se mogu ukljuciti jednim kontrolnim bitom. To se radi stavljanjem RBPU' bita na „0‟. Pull-up otpornici se automatski iskljucuju kad se pin konfigurise kao izlazni. Otpornici su iskljuceni kod Power-on-reset-a. Cetri pina na PORTB (RB7-RB4) imaju mogucnost generisanja interapta. Samo pinovi definisani kao ulazni mogu prouzrokovati interapt. Vrednost na pinovima se poredi sa starom vrednoscu uhvacenoj kod zadnjeg citanja porta B. Nad ovim vrednostima se vrsi OR operacija da bi se generisao interapt na promenu stanaja na PORTB. Ovaj interapt moze probuditi kontroler iz SLEEP rezim rada. Korisnik moze u rutini za obradu prekida ponistiti prekid sledecim postupcima:

• Citanjem ili pisanjem u PORTB. Ovo ce ukloniti neslaganje na portu i uslov za interapt.

• Resetovanjem flag bita RBIF. Neslaganje na portu B ce nastaviti da setuje RBIF. Citanje PORTB-a ce prekinuti neslaganje i uslov za interapt i omoguciti resetovanje bita RBIF Kombinacija interapta na promennu stanja PORTB i pull up otpornika se moze iskoristiti za jednostavan interfejs za tastaturu. Da bi promena na U/I pinu bila prepoznata sirina impusa mora da bude majmanje koliko i jedan masinski ciklus (4 * Fosc). Na slikama 1.22 i 1.23 prikazana je struktura PORTB.

Sl.1.22 Struktura pinova od RB0 do

RB3 Sl.1.23 Struktura pinova od RB4 do

RB7

Na slici 1.24 su prikazane tabele sa funkcijama pojedinih pinova i registara koji se koriste za konfiguraciju porta B.

Page 27: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

26

Sl.1.24 Tabela registara koji sluze za konfigurisanje PORTB.

Pin RB0 ima mogucnost da izazove prekid mikrokontrolera. Ako je ovaj interapt omogucen (setovan bit 4 (INTE) u INTCON registru) i na RB0/INT pinu se pojavi odgovarajuca ivica (definisana INTEDG bitom OPTION registra) nastupice interapt. Na kraju interapt rutine potrebno je u programu resetovati INTF bit u INTCON registru, kako bi naredni interapt bio moguc.

Port C

Port C je 8-mo bitni bidirekcioni port. Ovaj port je poseban sto na pinovima RC6 i RC7 ima ugradjen USART modul koji sluzi za serisku komunikaciju (npr. Sa racunarom). Prilikom koriscenja modula za serisku komunikaciju potrebno je softverski konfigurisati pinove RC6 i RC7 tako da budu u funkciji USART modula. Na slikama 1.25 i 1.26 su prikazane blok seme PORTC, a funkcionalna tabela registara koji se koriste za konfigurisanje samog porta data je na slici 1.27.

Page 28: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

27

Sl.1.25. Struktura pinova od RC0 do RC2i odRC5 do RC7

Sl.1.26.Struktura pinova od RC3 i RC

Sl.1.27 Tabela registara koji sluze za konfigurisanje PORTC

Page 29: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

28

Port D

Port D je 8-mo bitni bidirekcioni port. Ovaj port se moze konfigurisati kao 8-mo bitni paralelni mikroprocesorski port (parallel slave port-PSP), podesavanjem konfigurisuceg bita PSPMOTE (TRISC<4>). U tom rezimu rada ulazni bafer je TTL tipa. Na slikama 1.28 i 1.29 je prikazana blok sema PORTD i funkcionalna tabela registara koji se koriste za konfigurisanje samog porta.

Sl.1.29 Tabela registara koji sluze za konfigurisanje PORTD

Port E

Port E je sirine 3 bita.Ima mogucnost A/D konverzije.Svaki pin porta E moze da se konfigurise softverski kao ulazni ili izlazni. Ulazni bafer je Schmitt Trigger tipa. Pinovi se

Page 30: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

29

mogu konfigurisati kao digitalni ili analogni,kao i u slucaju porta A, sto je vec pomenuto. Na slikama 1.30 i 1.31 prikazana je strukturna blok sema PORTE i tabelarni prikaz registara koji sluze za konfigurisanje.

Sl.1.30 Struktura porta E

Sl.1.31 Tabela registara koji sluze za konfigurisanje porta

Page 31: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

30

1.18 Strujna,naponska i temperaturna ogranicenja

U tabeli 1.7 dat je pregled strujnih, naponskih i temperaturnih ogranicenja mikrokontrolera i pojedinih portova. Tabela 1.7: Strujna,naponska i temperaturna ogranicenja mikrokontrolera

1.19 Organizacija memorije

Strukturu memorije ovog mikrokontrolera cine tri odvojena bloka: 1. Programska memorija 2. Memorija podataka 3. EEPROM memorija podataka

Odvojeno od nabrojanoh memorijskih blokova egzistira zasebna struktura magacina (Stack), koji se satoji od osam 13-bitnih registara. Stack pointer se ne moze citati, niti se u njega moze upisivati. Prilikom izvrsenja instrukcije CALL ili prilikom poziva prekida mikrokontrolera, adresa sledece instrukcije se stavlja na magacin. Magacin radi na principu ciklicnog bafera, sto znaci da se u njega mogu staviti osam razlicitih adresa, a da se upisom devete brise prva i tako redom. Programski se ne moze utvrditi da li je doslo do prepunjeja steka.

Organizcija programske memorije

PIC16F877A imaju 13-bitni programski brojac (PC) koji je u mogucnosti da adresira

Page 32: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

31

memorijski prostor od 8k programskih reci od 14 bita. Reset vektor je 0x0000 i od njega pocinje izvrsavanje programa. Interapt vektor je 0x0004. Mapa programske memorije i magacin prikazani su na slici 1.34.

Sl.1.34 Mapa programske memorije i stack

Organizacija memorije podataka

Memorija za podatke je izdeljena u vise celina–banki (banks), a sastoji se od registara opste namene (General Purpose Registers) i registara specijalne funkcije (Special Function Registers). U jednom od specijalnih registara, tzv. STATUS registru postoje dva bita RP1 i RP0 koji sluze za odabir zeljene banke podataka po principu prikazanom na slici 1.35.

Page 33: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

32

Sl.1.35.Nacin kodovanja Bank

Svaka banka moze da sadrzi do 128 registara (0x7F). Nize lokacije u banci zauzimaju specijalni regisri, a ostatak prostora popunjavaju registri opste namene implementirani kao staticki RAM. Neki specijalni registri koji se cesto koriste mapirani su u sve banke da bi se omogućio brzi pristup i redukcija kôda. Mapa registara mikrokontrolera PIC16F877 prikazana je na slici 1.36. Nekoliko specijalnih registara su registri jezgra, usko povezani sa funkcionisanjem CPU. Ostali registri su vezani za periferne module i sluze njihovom upravljanju i kontroli statusa.

Programski brojač(PC) odredjuje adresu instrukcije u programskom flesu koja ce sledeca biti pribavljena. Rec je o 13-bitnom registru. Simbolicko ime nizeg bajta je PCL. To je registar koji se moze i upisivati i iscitavati. Težih pet bita programskog brojaca smesteni su u izolovani registar PCH kojem se pristupa samo preko leca PCLATH mapiranom u internom RAM-u na adresi 0x0A.

STATUS registar je veoma bitan i zato je predvidjeno da se moze adresirati iz bilo koje banke. On pokazuje status aritmeticko-logicke jedinice, reset status mikrokontrolera i sadrzi bite za selekciju banki internog RAM-a. Od navedenih flegova posebno treba izdvojiti Zero bit (Z) koji se postavlja kad je rezultat aritmeticke operacije jednak nuli i bit prenosa/pozajmice Carry (C).

Registar OPTION_REG se koristi za konfiguraciju preskalera za tajmer 0 ili Watchdog, za upravljanje tajmerom0, selekciju ivice okidanja eksternog interapta, i za omogucavanje Pull-up otpornika na portu B.

Kada je rec o registrima jezgra ne treba zaboraviti par FSR (File Select Register)i INDF (Indirect File), koji sluze za indirektno adresiranje memorije podataka. Bilo koja instrukcija koja se obraca INDF registru ustvari indirektno pristupa onoj lokaciji internog RAM-a cija je adresa trenutno u registru FSR.

Page 34: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

33

Sl.1.36 Mapa registra PIC16F877

Interni EEPROM za podatke

Ako je potrebno neke podatke sacuvati i po ukidanju napajanja mikrokontrolera, treba ih prethodno zapisati u interni EEPROM. Ova memorija sadrzi 256 bajtova.

Page 35: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

34

1.20 Tajmeri

Ove se periferije koriste za merenje vremena i brojanje eksternih dogadjaja. Ugradjena su tri tajmerska modula (TMR 0,1,2) i svaki ima svoje specificnosti. Tajmer0 je jednostavni 8-bitni brojačkoji generise interapt pri prelasku sa 0xFF na 0x00 (overflow). Poseduju ga svi nizi PICmicro™ procesori i ovde je zadrzana kompatibilnost s njima. Izvor takta za tajmer0 moze biti bilo interni sistemski sat (Fosc/4), bilo spoljni generator takta spojen na pin RA4/T0CKI. Moguce je podesiti da se brojac inkrementira na rastucu ili opadajucu ivicu spoljnjeg signala. U kombinaciji sa modulom tajmera 0 moze se koristiti programabilni preskaler (delilac frekvencije) sa odnosima deljenja od 1:2 do 1:256. Ukoliko deljenje nije potrebno preskaler se dodeli watchdog tajmeru. Kada je preskaler u upotrebi maksimalna frekvencija eksternog izvora iznosi 50 MHz sto je vece od maksimalne frekvencije samog mikrokontrolera. Tajmer1 je 16-bitni i takodje je osposobljen da radi kao brojac ili merac vremena. Ima tri izvora takta: sistemski sat (Fosc/4), spoljasnji takt ili spoljasnji kristal. Brojac eksternih dogadjaja moze se sinhronizovati sa internim oscilatorom, a postoji i asinhroni nacin rada koji omogucuje da se brojac inkrementira i u sleep rezimu. Preskaliranje je upotrebljivo sa vrednostima deljenja 1:1, 1:2, 1:4 i 1:8. Tajmer2 je 8-bitni tajmer sa programabilnim preskalerom i postskalerom. Moze biti tajmer/brojac opste namene. Medjutim, potreban je CCP modulu prilikom generisanja PWM signala i modulu za sinhronu serijsku komunikaciju (SSP) kao Baud Rate generator. U kooperaciji sa tajmerom 2 koristi se registar PR2 (Period Register). Kada se vrednost brojaca izjednaci sa vrednoscu upisanom u registar PR2, generise se odgovarajuci interapt. 1.21 CCP moduli

CCP je skracenica za Compare/Capture/PWM. PIC16F877A poseduje dva ovakva modula koji mu pomazu da se lakse nosi sa raznim zahtevima real-time aplikacija. U rezimu rada Capture kada se desi dogadjaj na pinu RC2/CCP1 16bitna vrednost tajmera 1 preslikava se u registre CCPR1H:CCPR1L. Istovremeno se setuje korespondentni interapt fleg u registru PIR1. Da bi ova operacija bila uspesna tajmer1 mora raditi u tajmerskom rezimu ili rezimu sinhronizovanog brojanja. U rezumu rada Compare 16-bitna vrednost registra CCPR1 se stalno poredi sa vrijednoscu para registara tajmera1. Kada dodje do izjednacenja moguce je da se pin RC2/CCP1 setuje, resetuje ili ostane nepromenjen, sto se ranije podesi odgovarajućim konfiguracionim bajtom upisanim u registar CCP1CON. I u ovom slucaju se setuje interapt fleg CCP1IF. U rezimu rada PWM (Pulse Width Modulation) pin RC2/CCP1 proizvodi sirinskoimpulsni modulisani signal rezolucije do 10 bita. Pojednostavljeni blok-dijagram PWM modula dat je na slici 1.37.

Page 36: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

35

Sl.1.37 Pojednostavljeni blok-dijagram PWM modula

Period PWM signala odredjuje se upisom u PR2 registar po formuli:

PWM_perid = [(PR2)+1]*4*Tosc*TMR2_preskajler

Vreme ispune (Duty Cycle Time) menja se upisom u registar CCPR1L i dva bita registra CCP1CON (biti 5 i 4). Time je omogucena maksimalno 10-bitna rezolucija PWM izlaza. Formula za proracun je:

PWM_Duty_Cycle = (CCPR1L:CCP1CON<5:4>)*Tosc*TMR2_preskajler

1.22 Ostale periferne jedinice

Mikrokontroler PIC16F877 poseduje jos nekoliko korisnih periferijskih modula koji ce u ovom odjeljku biti samo kratko spomenuti. Mikrokontroler obicno nije usamljen, nego je deo mreze uredjaja koji trebaju medjusobno komunicirati i razmenjivati podatke. U tu svrhu, on je opremljen sa tri hardverska komunikaciona modula. Prvi od njih je SSP modul (Synchronous Serial Port), koji sluzi za komunikaciju sa serijskim EEPROM-ima, pomerackim registrima, displej-drajverima, itd. Ovaj modul moze raditi u jednom od dva rezima:

1. Serial Peripheral Interface (SPI) 2. Inter-Integrated Circuit (I2C)

Drugi serijski komunikacioni modul je USART (Universal Synchronous Asynchronous Receiver Transmiter).On uglavnom sluzi za povezivanje sa personalnim racunarom, ali

Page 37: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

36

to nije njegova jedina mogucnost primene. USART se moze konfigurisati u neki od sledecih modova rada:

1. Asinhroni rad (full duplex) 2. Sinhroni master rad (half duplex) 3. Sinhroni slave rad (half duplex)

Osim serijskih, postoji i jedan paralelni komunikacioni modul. Rec je o modulu PSP (Parallel Slave Port). On sluzi da se PIC16F877 direktno poveze na 8-bitnu magistralu podataka drugog mikroprocesora. Eksterni procesor tada koristeci linije Read (RD) i Write (WR) moze citati i upisivati PORTD registar kao svaki drugi 8-bitni lec.

2. Operacioni pojačavači

Operacioni pojačavač je kolo koje pojačava razliku napona na njegovim ulazima i takav signal prosleđuje izlazu. Naziv je dobio po tome što je primenom takvog pojačavača moguće realizovati neke matematičke operacije između ulaznih napona. Dakle, operacioni pojačavač ima veliko naponsko pojačanje. U praksi se često, zbog jednostavnijeg računa, koristi pojam idealnog operacionog pojačavača. Takav pojaćavač ima beskonačno veliko naponsko pojačanje, Av→∞, beskonačno veliku ulaznu otpornost, Ru→ ∞ , i beskonačno malu izlaznu otpornost, Ri→ 0 . Operacioni pojačavač najčešće ima diferencijalni ulaz, jer je prvi pojačavački stepen diferencijalni pojačavač. Simboli kojima se u električnim šemama predstavlja operacioni pojačavač prikazani su na slici 10.6.

Slika 2.1 Simboli operacionog pojačavača

Idealni operacioni pojačavač ima jednu interesantnu osobinu. S obzirom da na

njegovom izlazu mora postojati konačan napon, a da mu je naponsko pojačanje beskonačno veliko, napon između ulaznih krajeva mora biti jednak nuli. Dakle, napon između ulaznih priključaka je jednak nuli ali između njih ne teče nikakva struja. Ako je jedan od ulaznih priključaka vezan na masu, potencijal drugog ulaznog priključka je takođe nula, pa se kaže da je on na virtuelnoj masi. Operacioni pojačavač ima brojne primene i predstavlja najčešće korišćeni sklop savremene analogne elektronike. Primenom operacionog pojačavača se mogu realizovati pojačavači precizno određenog pojačanja, kola za realizaciju nekih aritmetičkih operacija, kola za integraljenje i diferenciranje, itd. Najčešće korišćena kola biće prikazana u narednom izlaganju.

Page 38: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

37

2.1 Invertorski pojačavač

Posmatrajmo kolo sa slike 2.2. S obzirom da je invertorski priključak na virtuelnoj masi, struja kroz otpornik R1 je:

1

1 =R

vi u

S obzirom da je ulazna struja pojačavača jednaka nuli, struja i1 u celini protiče kroz otpornik R2 i daje izlazni napon:

ui vR

RiRv

1

212 -==

Naponsko pojačanje je onda:

1

2==R

R

v

vA

u

iv

Slika 2.2 Invertorski pojačavač

Kao što se vidi, naponsko pojačanje je negativno i određeno je odnosom dve otpornosti. Zbog toga se naponsko pojačanje može veoma precizno realizovati jer ne zavisi od karakteristika upotrebljenih aktivnih komponenata. Zbog toga što je naponsko pojačanje negativno, izlazni napon će predstavljati pojačanu i invertovanu sliku ulaznog napona, pa se ovo kolo naziva invertorski pojačavač. Ako je pobuda sinusoidalna, napon na izlazu biće pojačan sinusoidalni napon koji je fazno pomeren za 180o. 2.2 Neinvertorski pojačavač

Pojačavač čije je pojačanje pozitivno, ili neinvertorski pojaćavač, može se realizovati kolom sa slike 2.3.

Slika 2.3 Neinvertorski pojačavač

S obzirom da je napon između ulaznih priključaka jednak nuli, napon na invertorskom priključku takođe će biti jednak ulaznom naponu, pa je struja kroz otpornik R1:

1

1 =R

vi u

S obzirom da je ulazna struja pojačavača jednaka nuli, struja i1 u celini protiče kroz otpornik R2 i daje izlazni napon:

Page 39: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

38

1

1

2

2 ==-

=R

vi

R

vvi uui

odakle se lako za naponsko pojačanje dobija:

1

2

1

21 +1=+

==R

R

R

RR

v

vA

u

i

v

Dakle, naponsko pojačanje je pozitivno i veće od jedinice. U slučaju sinusoidalne pobude, ovaj pojačavač ne obrće fazu. 2.3 Jedinični pojačavač

Jedinični pojačavač je specijalni slučaj neinvertorskog pojačavača. Ako je R2 << R1 , onda je naponsko pojačanje blisko jedinici. U graničnom slučaju R2 →0 a R1→ ∞ , pa se dobija kolo prikazano na slici 2.4 čije je naponsko pojačanje tačno jednako jedan. Jedinični pojaćavač kolo ima najveću primenu kao razdvojni stepen, koji uz jedinično pojačanje obezbeđuje veliku ulaznu otpornost i malu izlaznu otpornost.

Slika 2.4 Jedinični pojačavač

2.4 Kolo za sabiranje

Kolo za sabiranje je prikazano na slici 2.5. Ono se od invertorskog pojačavača razlikuje samo po tome što ima više ulaza. Svaka od ulaznih struja data je istom jednačinom kao kod invertorskog pojačavača. Dakle, pošto je invertorski priključak na virtuelnoj masi, imamo:

nkR

vi

k

ukk ,...,2,1= ,=

Slika 2.5 Kolo za sabiranje

S obzirom da je ulazna struja pojačavača jednaka nuli, zbir struja ik u celini protiče kroz otpornik Rf i daje izlazni napon:

Page 40: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

39

Ako su svi ulazni otpornici jednaki, R1 =R2 =...=Rn =R, onda se dobija uprošćeni izraz:

odnosno, izlazni napon je srazmeran zbiru ulaznih napona, po čemu je kolo dobilo ime. 2.5 Operacioni pojačavač TL072CN

Operacioni pojačavač TL072 je dvostruki pojačavač sa JFET-ovima koje karakteriše velika brzina odziva, visoki napon i sa bipolarnim tranzistorima u monolitnim integrisanim kolima. Karkterišu ga velika brzina promene, mali napon polarizacije ofset struja i mali temperaturni koeficijent naponskog ofseta.

Slika 2.6 Izgled komponente

2.5.1 Karakteristike i raspored nožica Operacioni pojačavač TL072 odlikuje:

- mali napon polarizacije ofset struja

- mala vrednost šuma HznVen /15=

- zaštita od kratkospajanja na izlazu - visoki stepen ulazne impendanse JFET ulaznog stepena - mala harmonijska distorzija: 0.01% - unutrašnja frekvencijska kompenzacija - latch-up free operacija - velika brzina odziva 16V/μs

Page 41: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

40

Električna karakteristike na CTVV ambCC

25+= ,15= (ukoloki nije drugačije rečeno)

Page 42: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

41

Slika 2.7 Maksimalni peak to peak izlazni napon u zavisnosti od frekvencije

Slika 2.8 Maksimalni peak to peak izlazni napon u zavisnosti od frekvencije

Slika 2.9 Maksimalni peak to peak izlazni napon u zavisnosti od frekvencije

Slika 2.10 Maksimalni peak to peak izlazni napon u zavisnosti od temperature okoline

Slika 2.11 Maksimalni peak to peak izlazni napon u zavisnosti od opterećenja

Slika 2.12 Maksimalni peak to peak izlazni napon u zavisnosti od napajanja

Page 43: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

42

Slika 2.13 Struja na ulazu u zavisnosti od temperature okoline

Slika 2.14 Diferencijalno pojačanje napona velikih signala u zavisnosti od temperature okoline

Slika 2.15 Diferencijalno pojačanje napona velikih signala i fazno šiftovanje u zavisnosti od ffrekvencije

Slika 2.16 Disipacija snage u zavisnosti od temperature okoline

Slika 2.16 Struja napajanja po pojačavaču u zavisnosti od temperature okoline

Slika 2.17 Opšti mod koeficijenta odbacivanja u zavisnosti od temperature okoline

Page 44: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

43

Slika 2.18 Naponska za impulsni odziv velikog signala

Slika 2.19 Izlazni napon u zavisnosti od vremena

Slika 2.20 Ekvivalentni napon šuma u zavisnosti od frekvencije

Slika 2.21 Harmonijska distorzija u zavisnosti od frekvencije

Slika 2.22 Raspored nožica

1 - Izlaz 1 2 - Invertujući ulaz 1 3 - Neinvertujući ulaz 1 4 - VCC 5 - Neinvertujući ulaz 2 6 - Invertujući ulaz 2 7 - Izlaz 1 8 – VCC

+

Page 45: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

44

Slika 2.23 Šematski prikaz pojačavača 2.6 Programabilni pojačavač 2.6.1 Kratak opis Kao sto je pomenuto u prethodnom delu, postoje dva načina povezivanja operacionih pojačavača, invertujuća i neinvertujuća konfiguracija. Obe ove konfiguracije mogu biti korišćene za dobijanje programabilnog pojačavača. Promena pojačanja se može dobiti bilo promenom otpornika u povratnoj sprezi bilo otpornika na ulazu kola.

Slika 2.24 Pojačavač

Programabilni pojačavači su pojačavači koji mogu proizvoditi različita pojačanja zavisno od potrebe. To je moguće postići tako što se na mestu otpornika R1 ili R2 postavi

Page 46: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

45

potenciometar ili, kako je radjeno u ovom projektu, umesto jednog pstaviti veći broj otpornika sa različitim vrednostima. Za ovaj slučaj ispred svakog od otpornika dolazi po jedan prekidač kojim će se kontrolisati pojačanje operacionog pojačavača. U prethodnom delu je dat detaljan opis proračuna pojačanja za obe vrste pojačavača. Dakle, izborom povoljnih otpornosti moguće je dobiti konkretna pojačanja od 10x, 50x ili 100x i to sve sa samo jednim operacionim pojačavačem. Osim ovih „osnovnih‟ stepena pojačanja moguće je ostvariti pojačanja na još nekoliko stepena. Na primer, zatvaranjem dva prekidača dobija se nova vrednost pojačanja koja će, za recimo pojačavač kod kog se signal dovodi na invertujući ulaz, biti jednaka odnosu R2 i paralelne veze otpornika na ulazu Ri Rj.

Slika 2.25 Opšta šema programabilnog pojačavača

Programabilni pojačavač radjen u ovom seminarskom radu projektovan je sa četiri „osnovna‟ stepena pojačanja na invertujućem i neinvertujućem pojačavaču. Na sledećoj slici dat su šeme ovih pojačavača sa konkretnim vrednostima otpornika.

slika Šeme pojačavača korišćenih u seminarskom radu

2.6.2 Proračun pojačanja

Budući da je pojačanje invertujućeg pojačavača:

1

2==R

R

v

vA

u

iinv

sledi da će invertujući pojačavač dat na slici imati ova pojačanja

1) za slučaj da je zatvoren prekidač u grani sa otpornikom 2kΩ 5=2

10==

1

21

k

k

R

RAi

Page 47: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

46

2) za slučaj da je zatvoren prekidač u grani sa otpornikom 3kΩ

33.3=3

10==

1

22

k

k

R

RAi

3) za slučaj da je zatvoren prekidač u grani sa otpornikom 4.3kΩ

33.2=3.4

10==

1

23

k

k

R

RAi

4) za slučaj da je zatvoren prekidač u grani sa otpornikom 10kΩ 1=10

10==

1

24

k

k

R

RAi

Vrednosti za pojačanja dobijena uključivanjem više od jednog prekidača računaju se po jednačini

nji

invRRR

RA

... = 2

i njihove vrednosti za odgovarajuće otpornosti na ulazu date su u tabeli 1.

Tabela 1.

opterećenje na ulazu

2kII3k

2kII4k3

2kII10k

3kII4k3

3kII10k

2kII3kII4k3

2kII4k3II10k

3kII4k3II10k

2kII3kII4k3II

10k

rezultujuće opterećenje

833Ω

733 Ω 600 Ω 566 433 1.433 1.464 1.867 0.798

pojačanje 12 13.6 16.7 17.7 23.1 7 6.8 5.4 12.5

Za slučaj neinvertujućeg pojačavača proračun pojačanja je sledeći:

1) za slučaj da je zatvoren prekidač u grani sa otpornikom 2kΩ

6=2

10+1=+1=

1

21

k

k

R

RAni

2) za slučaj da je zatvoren prekidač u grani sa otpornikom 3kΩ

33.4=3

10+1=+1=

1

22

k

k

R

RAni

3) za slučaj da je zatvoren prekidač u grani sa otpornikom 4.3kΩ

33.3=3.4

10+1=+1=

1

23

k

k

R

RAni

4) za slučaj da je zatvoren prekidač u grani sa otpornikom 10kΩ

102.1=5000

10+1=+1=

1

2

4k

k

R

RAni

Slično invertujućem pojačavaču dobijamo i vrednosti za pojačanje u slučaju uključivanja više od jednog pojačavača. Ovog puta koristimo jednačinu:

nji

neinvRRR

RA

... +1= 2

pa će odgovarajuća pojačanja biti:

Page 48: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

47

Tabela 2.

opterećenje na ulazu

2kII3k

2kII4k3

2kII10k

3kII4k3

3kII10k

2kII3kII4k3

2kII4k3II10k

3kII4k3II10k

2kII3kII4k3II

10k

rezultujuće opterećenje

833Ω

733 Ω 600 Ω 566 433 1.433 1.464 1.867 0.798

pojačanje 13 14.6 17.7 18.7 24.1 8 7.8 6.4 13.5

Proračun pojačanja kada se kaskadno povežu ova dva pojačavača neće biti ovde izvođen. Napomenućemo samo da je rezultujuće pojačanje te veze jenako proizvodu posebnih pojačanja oba ova pojačavača.

2.6.3 Amplitudno-frekventna karakteristika

U ovom delu biće izneta amplitudno-frekvenna karakteristika. Ova karakteristika je snimljena za ulazni signal amplitude peak to peak 0.1V i opseg frekvencie (100Hz – 5kHz). Opseg nije ravnomerno raspodeljen zbog nejednakih karakteristika uredjaja na celom opsegu, tako da je više pažnje posvećeno onom delu u kojem uredjaj ima linearniju karakteristiku. U Tabeli 3. data je karakteristika invertujućeg pojačavača, a u Tabeli 4. neinvertujućeg.

Tabela 3. f[kHz] 0.1 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 3 3.5 5

Uiz(A=1) [V] 0.09 0.1 0.1 0.15 0.25 0.3 0.3 0.25 0.2 0.1 0.09 0.07 0.06 0.06 0.05

Uiz(A=2.3) [V]

0.22 0.24 0.22 0.22 0.22 0.22 0.2 0.16 0.15 0.14 0.12 0.1 0.1 0.1 0.05

Uiz(A=5) [V] 0.32 0.32 0.31 0.28 0.26 0.22 0.2 0.18 0.16 0.15 0.14 0.12 0.08 0.07 0.05

Uiz(A=12.5) [V]

0.6 0.6 0.44 0.4 0.3 0.28 0.2 0.2 0.18 0.17 0.15 0.14 0.13 0.1 0.07

Page 49: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

48

Grafik 1. Amplitudsko-frekventna karakteristika invertujućeg pojačavača za amplitudu

ulaznog signala Uul=0.1V

Tabela 4. f[kHz] 0.1 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 3 3.5 5

Uiz(A=1) [V] 0.09 0.1 0.1 0.18 0.3 0.27 0.3 0.2 0.2 0.1 0.1 0.08 0.07 0.06 0.06

Uiz(A=3.3) [V]

0.32 0.35 0.35 0.33 0.33 0.33 0.3 0.25 0.25 0.25 0.2 0.2 0.2 0.2 0.1

Uiz(A=6) [V] 0.42 0.42 0.41 0.35 0.35 0.3 0.3 0.3 0.25 0.2 0.2 0.15 0.15 0.12 0.1

Uiz(A=13.5) [V]

0.7 0.7 0.55 0.5 0.4 0.32 0.3 0.3 0.25 0.2 0.2 0.15 0.15 0.15 0.1

Grafik 2. Amplitudsko-frekventna karakteristika neinvertujućeg pojačavača za amplitudu

ulaznog signala Uul=0.1V Napomena: Uočava se velika razlika u pojačanju jednosmerne pobude i vremenski promenljivpg signala. Ovo je posledica loše frekventna karakteristika elektronskog prekidača korišćenog u ovom uredjaju.

Page 50: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

49

3. Elektronski prekidači

Elektronska komponenta u kojoj se jedan ili više ulaznih signala kanalše prema jednom ili više izlaza uz pomoć kontrolnog električnog sgnala je elektronski prekidač. Ovaj termin je često u upotrebi kada je reč o analognim signalima, što je i ovde slučaj, ali se ista terminologija koristi i u slučaju digitalnih signala. U suštini, Elektronski prekidači mogu se shvatiti kao grupa mehaničkih električnih prekidača u kojima, umesto mehaničkog otvaranja i zatvaranja, fizičko otvaranje i zatvaranje se postiže primenom odgovarajućeg električnog kontrolnog signala. Ovim kontrolnim signalom omogućava se odvajanje terminala na prekidaču na sličan način kao što to rade releji. Električni prekidači sadrže poluprovodničke uredjaje kao što su bipolarni (BJT) i tranzistori sa efektom polja (FET). Bazični elektronski prekidači najprostije su šematski predstavljeni na sledećoj slici.

Slika a) Simbol elektronskog prekidača b) Prost model elektronskog prekidača

Kada se na VC dovede kontrolni signal, prekidač se zatvara. Kada je prekidač zatvoren, između izvoda postoji mala rezidualna otpornost RS, što je dato na slici pod b). Vrednost ove otpornosti je mala, ali njeno postojanje ne predstavlja problem. Neophodno je samo u specifikacijama navesti red veličine ovog ograničavajućeg faktora. Elektonski prekidači su obično obostrani, u smislu da izvodi A i B mogu da menjaju mesta. Ovi prekidači mogu biti malih dimenzija što omogućava da veći broj ovih uređaja može biti smešten na malim površinama. Ove komponente mogu biti veoma brze sa on-off vremenom odziva mnogo manjem od bilo kog mehaničkog prekidača. Ujedno, ovi prekidači su mnogo pouzdaniji od mehaničkih.

3.1 Elektronski prekidač ADG201A 3.1.1 Kratak opis

ADG201A je monolitni CMOS uređaj koji sadrži četiri nezavisna selektivna prekidača. Dizajniran je po poboljšanom LC2MOS procesu koji daje povećanu sposobnost upravljanja signalima od ±15V. Ove prekidače takođe karakteriše velika brzina prekidanja i mala vrednost RON. Prekidači ADG201A i ADG202A se sastoje od četiri SPST prekidača. Razlikuju se samo u tome što im je digitalna kontrolna logika invertovana. Karakteriše ih i break before make switching postupak. Bitan u dizajnu je i malo opterećenje za minimalne prelaze kada prekida digitalne signale na ulazu

Page 51: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

50

3.1.2 Karakteristike

- 44V maksimalno napajanje

- ±15V opseg analognog signala

malo RON (60Ω) - niska vrednost struje curenja

(0.5nA)

- break before make prekidanje

- opseg temperatura proširene

plastike (-40C do +85C)

- niska vrednost disipacije snage

(33mW)

- dostupan u pakovanju DIP/SOIC

sa 16 nožica PLCC/LCCC

pakovanje sa 20 nožica

Slika 3.1 Položaj prekidača kada je na ulazu logička ‟1‟

tablica istinitosti

Komponenta se ističe:

1. proširenim rasponom signala

ovi prekidači su proizvedeni na poboljšanom LC2MOS procesu koji rezultuje visokim stepenom prekida i uvećanom opsegu signala od ±15V. 2. operacijama s jednim napajanjem

za aplikacije kod kojih je analogni signal unipolaran (0V do 15V), prekidačima se može upravljati jednim napajanjem od +15V. 3. niskom vrednosti struje curenja reda veličine 500pA koja čini ove prekidače

povoljnim za kola koja zahtevaju visoku preciznost. Dodatna karakteristika ‟break

before make‟ omogućava spajanje višestrukih izlaznih signala za aplikacije

multipleksera dok održava greške usred curenja na minimum.

Page 52: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

51

Maksimalne vrednosti apsolutnih odnosa (TA=+25C ako nije drugačije rečeno)

Page 53: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

52

Slika 3.2 Raspored nožica

Slika 3.3 ADG201 funkcionalna šema

Page 54: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

53

ADG201A – Tipične karakteristika ponašanja Prekidači su garantovano u funkciji za jednostruko i dvostruko napajanje sa redukovanjem na 4.5V

Page 55: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

54

ADG201A – Terminologija RON omska otpornost između terminala OUT i S RON Match Razlika između RON bilo koja 2 kanala IS(OFF) struja curenja sors terminala kada je prekidač isključen ID(OFF) struja curenja drejn terminala kada je prekidač isključen ID(ON) struja curenja koja teče od zatvorenog prekidača do tela VD(VS) analogni napon na terminalu D,S CS(OFF) ulazna kapacitivnost prekidača za stanje ‟OFF‟ CS(OFF) izlazna kapacitivnost prekidača za stanje ‟OFF‟ CIN digitalna ulazna kapacitivnost CD, CS(ON) ulazna i izlazna kapacitivnost kada je prekidač uključen tON vreme kašnjenja između tačaka 50% i 90% digitalnog ulaza za stanje ‟ON‟ tOFF vreme kašnjenja između tačaka 50% i 90% digitalnog ulaza za stanje ‟OFF‟ tOPEN ‟OFF‟ vreme mereno između tačaka 50 % oba prekidača, koji su povezani kao multiplekseri, kada se odvija prekidanje od jednog na drugo stanje adrese VINL maksimalan ulazni napon za logičku nulu VINH maksimalan ulazni napon za logičku jedinicu IINL (IINH) ulazna struja digitalnog ulaza VDD najpozitivniji napon napajanja VSS najnegativniji napon napajanja IDD struja pozitivnog napajanja ISS struja negativnog napajanja

4. Realizacija uredjaja

Ovo kolo predstavlja programabilni pojačavač analognih signala sa selektivnim

ulazom. Kolo ima tri ulaza za analogni signal i i četvrti jednosmerni stepen. Osim programabilnog pojačanja kolo ima i mogućnost sabiranja ulaznih signala. Selekciom odgovarajućeg signala sa ulaza ili njihove kombinacije predstavlja prvi deo podešavanja kola. U drugom delu moguće je odabrati stepen pojačanja. Realizovani ‟osnovni‟ stepeni pojačanja su 1x, 2.33x, 3.33x i 5x za invertujući, 1x, 3.3x, 4.3x 6x za neinvertujući pojačavač, ali je moguće ostvariti i druge stepene pojačanja zatvaranjem 2 ili više prekidača. O tome je bilo više reči u delu u kome se vrši proračun pojačanja. Kolo ima i mogućnost kaskadnog povezivanja ova dva pojačavača čime se može postići još jedan stepen više u pojačanju.

Opis kola počinjemo od blok šeme date na slici 3.1.

Page 56: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

55

Slika 4.1 Blok šema programabilnog pojačavača

Sa slike se vidi da je glavni element koji upravlja radom uređaja mikrokontroler. On je opisan u prvom poglavlju ovo teksta. Na sikama 4.2 a, b, c prikazane su realizacije napajanja, šeme kola i mikrokontrolera respektivno. Napajenje šeme se vrši naponom ±5V.

Slika 4.2a Napajanje kola

Karakteristična komponenta je quad CMOS prekidač ADG201A opisana u delu 3. Kolo koristi 3 ovakva prekidača koja kontroliše PIC16F877A. Prvi ADG201 služi za izbor ulaznog signala, dok se ostala dva koriste za selekciju pojačanja i to, pojačanja invertujućeg pojačavača (na slici gornji pojačavač) i neinvertujućeg pojačavača (donji pojačavač). Postavljanjem džampera u odgovarajući položaj moguće je kaskadno povezati ova dva pojačavača.

Page 57: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

56

Slika 4.2b Šema pojačavača

Page 58: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

57

Slika 4.2c Povezivanje mikrokontrolera PIC16F877A

Page 59: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

58

Slika 4.3 Izgled štampane pločice (pogled odozdo)

Slika 4.4 Izgled štampane pločice (pogled odozgo)

Page 60: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

59

Slika 4.5 Raspored komponenata na pločici

Na slikama 4.3 i 4.4 su dati izgledi pločice sa gornje i donje strane, a na slici 4.5 raspored komponenata. Na ovoj slici ćemo objasniti kako se upravlja ovim uredjajem. Ulazni signali kola se dovode na konektore J200, J202 i J203. Potenciometar P200 služi za ragulaciju jednosmernog ofseta. J1 služi za loadovanje mikrokontrolera. Izlaz invertujućeg signala je na J201, dok se neinvertujući signal dobija na J204. Po uključenju uredjaja na naponsku mrežu uključuju se 2 crvene diode D101 i D102. Ove diode signalizuju ispravno napajanje +5V i -5V. Uredjaj ima 3 tastera za kontrolu i 4 DIP prekidača (S6). Taster S5 služi za reset kola. Po difoltu, kolo se startuje

Page 61: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

60

tako što su svi prekidači kola ADG201 otvoreni a prvi ADG201 koji se podešava je Q200 (uključena je dioda D5). Treba obratiti pažnju na to da, kako je prikazanu u tablici istinosti u delu 2 odnosno slici 3.1, kada je na ulazu ADG201 ‟1‟ (jedna od četiri dioda D1, D2 D3 i D7 je uključena), diodi odgovarajući prekidač u ADG201 biće otvoren.

Pritiskom na taster S8 bira se koji od ADG201 komponenata će biti podešavan. Redom će s uključivati diode D5, D8 i D6. Sada je potrebno DIP prekidačima odrediti kombinaciju ulaznog signala odnosno pojačanje invertujućeg i/ili neinvertujućeg pojačavača. Posle uspešnog setovanja ove tri komponente pritiskom na taster S7 kolo se pušta u rad. Kolo signalizira da je u funkciji na taj način što će diode D1, D2, D3 i D7 treptati. Izborom položaja džampera TL204-207 moguće je kaskadno povezati dva pojačavača ili izabati jedan od njih. Za pravilno postavljanje džapera potrebno je pogledati raspored priključaka za TL204-207 na slici 4.2b. i njihov položaj napločici (slika 4.5). Kolo se isključuje malo dužim pritiskom na taster S7.

Slika 4.6 Izgled relizovanog uređaja

Page 62: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

61

5. Prateći softver za PC i demo programi

5.1 Istalacija softvera

Za kreiranje programa na HLL-u C koristicemo programski paket Hi-Tech. Koraci koje treba preuzeti da bi se instalirao paket Hi- Tech i kreirala aplikacija na programskom jeziku C, su sledeci:

1. Pre istalacije ovog programskog paketa potrebno je istalirati MPLAB, jer se kasnije Hi-Tech integrise u MPLAB programski paket. Instalacija MPLAB-a pocinje pokretanjem aplikacije MPLAB v6.41, koja se nalazi na prilozenom disku u sklopu ovog rada ( u folderu MPLAB_IDE pokrenuti aplikaciju MPLAB v6.41.EXE). Po pokretanju aplikacije na monitoru se generise prozor:

2. Za nastavak istalacije potreban je jednostruki klik levim tasterom na polje

NEXT . Nakon ovoga se generise sledeci prozir:

Page 63: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

62

3. Cekira se polje ''I ACCEPT'' i klikom misa na polje ''NEXT'' sledi nastavak

nstalacije i generise se prikaz sledeceg oblika

4. Klikom na taster (polje) Browse bira se direktorijum gde se instalira MPLAB, a

zatim klikom na polje NEXT nastavlja se instalacija.

Page 64: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

63

5. Aplikacija nas pita da li zelimo da napravimo precicu u start meniju.

Odabiramo jednu od ponudjenih opcija(npr. Yes), a zatim sledi klik na taster NEXT.

6. Bira se da li zeli precica (shortcut) na radnoj povrsini (desktop), a zatim treba

kliknuti na NEXT.

Page 65: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

64

7. Ako je korisnik spreman za instalaciju to potvrdjuje tasterom NEXT pa se

dobija sledeci prozor:

8. Potrebno je sacekati odredjeni vremenski period da se zavrsi instalacija, a

zatim se pojavljuje prozor prikazan na sledecoj slici:

Page 66: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

65

9. Za nastavak instalacije (posle odabira yes ili no) kliknuti na NEXT.

10. nakon citanje poruke koja seodnosi na USB Driver Installition Please read

treba kliknuti na NEXT.

Page 67: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

66

11. nakon citanje poruke koja seodnosi na Driver Installition You MUST read

treba kliknuti na NEXT.

12. nakon citanje poruke koja seodnosi na USB Driver Installition Please read

treba kliknuti na CONTINUE.

Page 68: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

67

13. nakon citanje poruke koja seodnosi na USB Driver Installition Please read

treba kliknuti na CONTINUE.

14. Za kraj instalacije kliknuti na FINISH. 15. Pozeljno je u ovom trenutku restartovati racunar.

Nakon instalacije paketa MPLAB potrebno je instalirati programski paket Hi-Tech

i integrisati ga u MPLAB. Da bi se obavila ova aktivnost potrebno je preuzeti sledece korake:

Page 69: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

68

1. Instalacija pocinje pokretanjem aplikacije picclite-setup koja se nalazi na prilizenom disku (u folderu Hi-Tech_PICC_v8.05_lite pokrenuti aplikaciju picclite.exe). Po pokretanju aplikacije na monitoru dobijamo sledeci prozor:

2. Klikom na NEXT nastavlja se instalacija.

3. Da bi se nastavilo sa instalacijom treba kliknuti na NEXT.

Page 70: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

69

4. U generisanom prozoru nude se uslovi koriscenja licenciranog softvera.

Klikom na YES nastavlja se proces instalacije.

5. Klikom na taster (polje) Browse bira se direktorijum gde se instalira Hi-Tech, a

zatim klikom na polje NEXT nastavlja se instalacija

Page 71: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

70

6. Za nastvak istalacije potreno je kliknuti na polje NEXT

7. u ovom trenutku potrebno je scekat izvesni vremenski period da se zavrsi

istalacija Hi-Tech..

Page 72: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

71

8. Odgovorom na YES na generisnom prozoru izvrsice se integracija Hi- Tech u

MPLAB razvojnom okuzenju.

9. Za nastavak kliknuti na OK.

Page 73: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

72

10. Kliknuti na NEXT za nastavak.

11. Klikom na YES zavrsavamo instalaciju Hi-Tech i po automatizmu se restaruje

racunar. Sada je potrebno podesiti MPLAB tako da koristi Hi-Tech kompajler u procesu kompajliranja.

1. Klikom na ikonu MPLAB koja se nalazi na radnoj povrsini pokrece se kompajler i generise se prozor

Page 74: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

73

Sada je potrebno podesiti MPLAB tako da koristi Hi-Tech kompajler u procesu kompajliranja. Klikom na Project → Project Wizard pojavice se novi prozor na monitoru.

2. Za natavak kliknuti na NEXT.

Page 75: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

74

3. U polju Device potrebo je odabrati PIC16F877A.

4. U polju Actiive Toolsuite potrebno je odabrati opciju HI-TECH Toolsuite,a

zatim kliknuti na polje NEXT.

Page 76: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

75

5. Kliknuti NEXT za nastavak instalacije.

6. U polju Poject Name potrebno je upisat ime projekta, a zatim u polju Project

Directory odabrati direktorijum gde cemo smestiti prethodno napisani kôd.

Page 77: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

76

7. Na ovom prozoru treba odabrati folder u kojoj se nalazi napisan nas program

koji zelimo da kompajliramo. Klikom na potrebni fajl, pa zatim na ADD , stikliranjem polja ispred imena odabranog fajla i klikom na NEXT generise se prozir:

Page 78: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

77

8. Klikom na FINISH zavrsavaju se potrebna podesavanja i generise se prozor:

9. U potprozoru koji se nalazi na sedini glavnog prozora nalazi se listing

napisanog programa koji moze da se dodatno edituje ili ako je sve u redu da se pokrene proces kompajliranja.

Page 79: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

78

10. Kompajliranje se ukljucuje klikom na Projekt→Build All, ili pritiskom tastera

Ctrl+F10. Nakon toga, ako je napisani program ispravan, dobijamo sledeci prozor.

Page 80: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

79

11. U slucaju da ima greske u programu kompajler ce dati detaljno obavestenje o gresci.

12. Rezultat kompajliranja je HEX fajl koji se kasnije da ucitava u Ic-Prog.

Kada ovo zavrsimo potrebo je instalirati programski paket Ic-Prog. 1. Instalacija pocinje pokretanjem aplikacije icprog (u folderu ic prog pokrenuti

aplikaciju icprog.exe). Nakon toga na monitoru se generise prozor:

2. Za nastavak instalacije kliknuti OK.

3. Potrebno je izvrsiti podesavanja kao na prilozenoj slici, a zatim kliknuti na polje

OK. Nakon nekoliko upozorenja ( jer u ovom trenutku jos nije ukljucen odgovrajuci drajver) na koje treba odgovoriti sa OK generisace se prozor:

Page 81: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

80

4. Za ukljucivanje drajver potrebno je uraditi: Odabrati settings→optionns (kao na

slici)

Page 82: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

81

5. Da bi ukljucili drajver, koji je potreban za rad IC-Prog pod OS XP, potrbno je podesiti Ic-Prog kao na prilozenoj slici, a zatim kliknuti na polje OK:

6. Nakon toga se generise prozor sa pitanje da li se zeli resetovati

aplikacija.Potrbno je kliknuti na polje Yes.

Page 83: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

82

7. Treba sacekati da se program resetuje i potvrdno odgovoriti na postavljeno pitanje na pitanje.

8. Kada se program resetovao potrbno je odabrati mikrokontoler PIC16F877A.

To mozemo da uradimo tako sto cemo kliknuti Settings→Device→ Microchip PIC→More→More→PIC16F877A.

9. Nakon toga se generise prozor kao na sledecoj slici:

Page 84: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

83

10. Sada je potrbno ucitati HEX fajl koji se dobija kompajliranjem programa. To

mozeme da se uradi klikom na: File→Open File... (kao na sledecoj slici).

Page 85: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

84

11. Nakon toga se generise prozor kao na sledecoj slici na kome je potrebno selektovati zeljeni HEX fajl i kliknuti na polje OK.

12. Kada se prethodna procedura, na monitoru ce se generisti prozor. Na njemu

se moze videti hexadecimalni sadrzaj iskompajliranog programa. Potrbno je na njemu podesiti tip oscilatora i fuses podesavanja, ako vec nisu programski podesena. U nasem slucaju potrbno je samo iskljuciti fleg ''CP''.

Page 86: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

85

13. Pre pocetka loadovanja prozor bi trebalo da izgleda kao na prilozenoj slici:

14. Loadovanje se pokrece klikom na: Command→Program All (kao na

prilozenoj slici):

Page 87: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

86

15. Na prozoru koji ce se pojaviti treba kliknuti Yes za nastavak.

16. Zatim pocinje proces loadovanja i prozor izgleda kao na prilozenoj slici:

Page 88: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

87

17. Nakon zavrsetka loadovanja, ukoliko nije bilo greski, proram ce generisati

prozor sa obavestenjem da je proces zavrsen. Tada je potrebno kliknuti OK. U slucaju da je doslo do greske program ce dati detaljne informisati o gresci. Posle toga je potrbno utvrditi gde je greska, otkloniti je i ponoviti proces loadovanja.

Page 89: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

88

18. Ako je proces loadovanja prosao uspesno preostaje samo ispitivanje

programa na razvojnom sistemu. Napomena: Posle svakog pokretanja programa Ic-Prog potrebno je izvrsiti pocetna podesavanja. Potrebno uraditi: Settings→Hardware ( ili pritiskom na taster F3) kao na slici:

Page 90: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

89

Nakon toga dobijamo sledeci prozor:

Sada je potrebno decekirati, a odmah zatim cekirati polje ''Invert MCLR'' i

Page 91: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

90

kliknuti OK. Posle toga nastaviljamo sa normalnim radom. 5.2 Kreiranje aplikacija na programskom jeziku C za mikrokontroler PIC16F877A

Kako je mikrokontroler bez softvera samo obican komad plastike, metala I prociscenog peska, na ovom mestu cemo dati nekoliko mogucih softverskih resenja za nas razvojni sistem i tako kompletirati iskoristivu celinu. Programski jezik C je dosta mocan i fleksibilan jezik. Programiranje mikrokontrolera je dosta slicno standarnom programiranju, ali ima i neke svoje specificnosti. U daljem tekstu nastojacemo da objasnimo nacim programiranja na konkretnim primerima. U toku pisaanja programa bice korisceni neki standardni potprogrami koji se lako mogu naci na Internetu, a usput cemo i reci nesto o njima. Na disku koji cemo priloziti uz ovu dokumetciju naci ce se izmedju ostalog i ti potrogrami. Neke osnovne napomene

Razvojni sistem ima neka svoja ogranicenja koja moramo da ispostujemo prilikom programiranja mikrokontrolera. Kao prvo moramo da poznajemo dovoljno dobro arhitekturu kontrolera ( registre, velicinu memorije za program, velicinu memorije za smestaj podataka, itd.). O ovim ogranicenjima bilo je reci u prethodnim odeljcima, tako da sada necemo da se zadrzavamo na njih. Pored njih tu su i hardverska ogranicenja razvojnog sisstema, a to su:

1. kod PORTA , pinovi RA1- RA5 su povezani na LED, pa se zbog toga ovi pinovi moraju programski konfigurisati kao izlazni. RA0 je predvidjen kao ulaz za analogno-digitalnu konverziju, i njega je potrebo konfigurisati kao ulazni upisom komandne 0b000001 reci u registar TRISA.

2. PORTB je predvidjen kao ulazni port zbog toga sto ima mogucnost da generise prekid usled promene stanja na nekim od njegovih pinova (pinovi od RB4 do RB7). Ova mogucnost se pokazala kao veoma korisna pri analizi tastera pa smo se zbog toga opredelili da to iskoristimo. Pinovi od RB0 do RB3 nemaju ovu mogucnost, pa je zato njih potrebno analizirati softverski (najcesce primenom Timer0). Pinovi RB6 i RB7 iako imaju mogucnost, kao sto smo vec rekli, da generisu prekid, nismo ih iskoristili kao ulazne nego su ostali slobodni (koriste se u procesu programiranja). Ovaj port se kofigurise upisom komandne reci 0x3f u registar TRISB.

3. PORTC je predvidjen za komunikaciju sistema sa racunarom i za LED indikaciju stanja na pojedinim pinovima. Pinovi RC0-RC5 su povezani na LED diode, a preko pinova RC6 i RC7 povezano je kolo MAX232. Aktiviranjem USART modula po programskom automatizmu pinovi RC6 I RC7 se konfigurisu ka RxD i TxD, respektivno, a pinove RC0-RC5 je potrebno rucno konfiguristi kao izlazne. Nije greska ako se inicjalizira registar TRISC na vrednost 0x00, a zatim aktivira modul za komunikaciju sa racunarom.

Page 92: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

91

4. PORTD je predvidjen za povezivanje LCD displeja i LED indikaciju. LCD modul je povezan na pinove od RD2 do RD7 ( RD2 se vezuje na RS pin displeja, RD3 vezuje se za E pin, a RD4, RD5, RD6, RD7 su iskorisceni za prenos podataka). Za pinove RD0 i RD1 su vezane LED za indikaciju stanja. Ovaj port se konfigurise kao izlazni TRISD=0x00.

5. PORTE je ceo iskoriscen za LED indikaciju. Konfigurise se kao izlazni TRISE=0b000. Za pobudu oscilatora koriscen je kvarcni oscilator od 4MHz, tako da je vreme trajanja instukcijskog ciklusa 1us. 5.3 Tipovi podataka

C programski jezik podrzava pet osnovnih tipova podataka (character, integer, float, void, double) i cetiri modifikovana tipa podataka(signed, unsigned, long, short). Tabela 3.1 pokazuje znacenje osnovnih tipova podataka i modifikovanih tipova: Tabela 3.1: Tipovi podataka u programskom jeziku C

Svakom tipu podatka odgovara odredjeni opseg kod prezentacije brojeva. Ovaj opseg se moze menjati u zavisnosti od koriscenog modifikatora. Tabela 3.2 prikazuje moguci opseg vrednosti za sve kombinacije osnovnih tipova podataka I modifikatora

Page 93: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

92

Tabela 3.2: Opseg vrednosti tipova podataka

5.4 Prekidi

Prekidi mogu se inicirati od strane velikog broja razlicitih internih ili eksternih izvora u odnosu na PICmicroMCU. Kada se javi prekid, PIC hardver sledi fiksni model ponasanja prikazan na slici 3.1.

Sl. 3.1 Algoritam izvrsenja programa pri nastanku prekida

Page 94: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

93

Hardver je u potpunost pod PICmicroMCU kontrolom, a softver je u celini odgovornost projektanata. Kada se desi prekid, prvi korak je da se testira i odredi izvor prekida. U slucaju vise prekida, rutina za indetifikacuju izvora prekida na osnovu dodeljenog prioriteta odredjuje koji ce se prekid prvo obraditi.

6. Listing programa __CONFIG(LVPDIS&XT&PWRTEN&WDTDIS&DEBUGDIS); __EEPROM_DATA('A','D','C','_','0','8','0','4'); __EEPROM_DATA('J','U','N','_','2','0','0','8'); __EEPROM_DATA('V','E','R','_','1','.','0','0'); __EEPROM_DATA('B','R','A','N','K','O','_','S'); __EEPROM_DATA('T','O','J','I','C','_','M','I'); __EEPROM_DATA('L','A','N','_','S','T','O','I'); __EEPROM_DATA('L','K','O','V','I','C','.','.'); #define PORTBIT(adr, bit) ((unsigned)(&adr)*8+(bit)) //dajemo simbolocka imena pinovima static bit on @ PORTBIT(PORTB,2); static bit sw @ PORTBIT(PORTB,1); static bit led1 @ PORTBIT(PORTD,4); static bit led2 @ PORTBIT(PORTD,5); static bit led3 @ PORTBIT(PORTD,6); unsigned char i=0,k=0, stanje1, stanje2, stanje3, stanje4; void main(void) GIE=0; //onenomoguci sve prekide TRISC=0x00; TRISA=0x00; TRISE=0b000; TRISD=0x00; TRISB=0xFF; PORTA=0x00; PORTC=0x00; PORTE=0b000; PORTD=0x00; while(1)

Page 95: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

94

while (k==1) led1=0; led2=0; led3=0; stanje4=stanje1 | (stanje2<<4); //priprema za port C PORTC=stanje4; PORTD=(PORTD&0xF0) | (stanje3&0x0F); PORTA=0x0F; DelayMs(250); PORTA=0x00; if (!on) DelayMs(250); k=k++; if(k>1) k=0; DelayMs(250); while (k==0) if (!sw) DelayMs(250); i=i++; if (i>2) i=0; if (i==0)

Page 96: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

95

led1=1; led2=0; led3=0; stanje1=PORTB; stanje1=stanje1&0x78; stanje1=stanje1>>3; PORTA=stanje1; if (i==1) led1=0; led2=1; led3=0; stanje2=PORTB; stanje2=stanje2&0x78; stanje2=stanje2>>3; PORTA=stanje2; if (i==2) led1=0; led2=0; led3=1; stanje3=PORTB; stanje3=stanje3&0x78; stanje3=stanje3>>3; PORTA=stanje3; if (!on) DelayMs(250); k=k++; if(k>1) k=0; PORTC=0xFF; PORTD=PORTD|0x0F;

Page 97: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

96

7. Laboratorijska vežba

U ovom delu će biti prezentovan zadatak kojim će se omogućiti bolje

upoznavanje sa uredjajem i njegovim funkcionisanjem. Za ispravno izvodjenje vežbe neophodno je proučiti tekst koji prethodi ovoj vežbi i upoznati se sa rasporedom konektora, tastera i džampera. Zadatak ove vežbe biće merenje različitih stepena pojačanja programabilnog pojačavača.

Na početku vežbe potrebno je povezati generatore impulsne pobude na ulaze makete. Dakle na konektore J200, J202 i/ili J203 dovode se ulazni signali. Na jednom od izlaznih konektora potrebno je povezati sondu osciloskopa. Izlazni signal invertujuće pojačavača nalazi se na konektoru J201.

Po uspešnom povezivanju pobude i osciloskopa potrebno je uključiti uredjaj na naponsku mrežu. Na pločici će se uključiti 2 crvene diode koje daju signalizaciju o ispravnom napajanju uredjaja. Prilikom startovanja uključuju se i četiri diode koje signalizuju položaj prekidača na elektronskom prekidaču ADG201. U prethodnom delu napomenuto je da ova komponenta drži prekidač otvoren kada je za kontrolni signal (signal na ulazu) dovedena logička „1‟. Dakle po uključenju uredjaja svi prekidači u kolu će biti otvoreni (isključeni) i uredjaj će biti u režimu stand by. Podešavanja pojačavača možemo podaliti u 3 dela. U prvom delu potrebno je izabrati ulazni signal od signala povezanih na konektore ulaza (uredjaj ima opciju sabiranja dva ili više signala); u drugom delu ćemo izabrati pojačavački stepen invertujućeg pojačavača; u trećem delu biramo željeni stepen pojačanja neinvertujućeg pojačavača.

Izbor ulaznog signala: Budući da je po uključenju makete svetli LED D5 (signalizuje da se trenutno podešava elektronski prekidač koji kontroliše izbor ulaznog signala), potrebno je samo izabrati odgovarauću kombinaciju signala na DIP prekidaču (S6). Oznake prekidača date su na slici 4.2b.

Podešavanje invertujućeg pojačavača: Po zavšetku prethodnog koraka pristupa se izboru pojačavača. Pritiskom na taster S8 memorisaćemo prethodno podešeno stanje DIP prekidača i preći na podešavanje invertujućeg pojačavača. Na pločici će zasvetleti LED D8 (signalizira elektronski prekidač koji služi za izbor pojačanja ovog pojačavača). Koristeći opet šemu pojačavača sa slike 4.2b potrebno je preklopnike DIP prekidača staviti u odgovarajući položaj.

Podešavanje neinvertujućeg pojačavača: Kada je podešavanje prethodnog pojačavača završeno, potrebno je opet pritiskom na taster S8 preći na prekidač koji kontroliše neinvertujuće pojačanje. Postupak izbora pojačanja je isti kao i u prethodnom koraku.

Po uspešnom završetku svih podešavanja sledi puštanje uredjaja u rad. To se radi pritiskom na taster S7. Uredjaj će signalizirati rad tako što će 4 LED-a treptati za vreme njegovog funkcionisanja. Sada je potrebno na osciloskopu očitavati amplitude signala na izlazu oba ova pojačavača. Uporedjivanjem amplitude izlaznih signala sa onima na ulazu dobiće se realno pojačanje koje sada treba uporediti sa onima koja su zadata u proračunu za idealni slučaj. Promenom frekvencije ulaznih signala treba snimiti amplitude signala na izlazu in a taj način naći amplitudno frekventnu karakteristiku.

Page 98: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

97

Kad merenja budu završena malo dužim pritiskom na taster S7 isključiti uredjaj i ako je potrebno izvršiti nova podešavanja ponavljanjem prethodnih koraka. Ista merenja uraditi i za slučaj kaskadne veze ova dva pojačavača. Za ispravno povezivanje potrebno je koristiti sliku šeme pojačavača 4.2b i sliku sa rasporedom komponenata slika 4.5 gde je potrebno promeniti položaj džamperima TL204 i/ili TL206.

Ovim je ova vežba završena. Na kraju je potrebno sve konektore osloboditi i uredjaj isključiti sa naponske mreže.

Page 99: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

98

Literatura

1. PIC16F877, Datasheet, Microchip Technology Inc, 2001 2. Razvojni Sistem za Mikrokontroler PIC16F877, B. Dimitijević, S. Aleksić, I. Antić,

seminarski rad, Elektronski fakultet Niš 3. ADG201A, Datasheet, Analog Devices Inc 4. TL072, Datasheet 5. Elektronika I, Prof. dr Vančo B. Litovski, Elektronski fakultet Niš

Page 100: PROGRAMABILNI POJAČAVAČes.elfak.ni.ac.rs/Papers/IMitic - Programabilni Pojacavac.pdfinstrukcija, dok je kod mikrokontrolera taj broj veci. 3. Mikroprocesori su projektovani za brzi

99

Ivan Mitić Br. Indeksa 10553

Rodjen 21.12.1982. u Skopju. Od rodjenja živi u Vranju gde završava osnovnu

školu i Gimnaziju ‟Bora Stanković‟. Godine 2001. upisuje Elektronski fakultet, smer Telekomunikacije, na Univerzitetu u Nišu. Godine 2004. odlazi na četvoromesečni privremeni rad u Americi što koristi za usavršavanje engleskog jezika kojim vlada veoma dobro. Zaključno sa ovim projektom 2008. će upešno završiti studije. Interesovanja: mobilne i satelitske komunikacije, wireless, televizija, projektovanje TV sistema, IT tehnologije...