KOMUNIKACIJA MIKROKONTROLERA PIC18F4550 I RAČUNARA PREKO SERIJSKOG I USB PORTA

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "KOMUNIKACIJA MIKROKONTROLERA PIC18F4550 I RAČUNARA PREKO SERIJSKOG I USB PORTA"

Transcript

1 ELEKTRONSKI FAKULTET NIŠ Katedra za elektroniku Mikroprocesorski sistemi KOMUNIKACIJA MIKROKONTROLERA PIC18F4550 I RAČUNARA PREKO SERIJSKOG I USB PORTA Studenti: Ana Andrejić Magdalena Ranđelović Mentor: prof. dr Mile K. Stojčev

2 SADRŽAJ UVODNA REČ 03 /1/ SERIJSKI PORT I STANDARD 04 /2/ USB PORT I STANDARD 10 /3/ SPI KOMUNIKACIJA 15 /4/ DIGITALNI POTENCIOMETAR SA SPI INTERFEJSOM 18 /5/ MIKROKONTROLER PIC18F /6/ SOFTVER ZA PIC MIKROKONTROLERE 44 /7/ REALIZACIJA PROJEKA 52 /8/ LABORATORIJSKA VEŽBA 68 PRILOZI 75 LITERATURA 84 CIRRICULUM VITAE 85 2

3 UVODNA REČ Ideja seminarskog rada koji je pred Vama je da se demonstrira komunikacija mikrokontrolera PIC18F4550 i portova računara (USB i serijskog). Na mikrokontroler su povezana dva potenciometra digitalni SPI i obrtni standardni potenciometar. Oba potenciometra imaju nominalnu vrednost 10 K. U radu su najpre opisani serijski i USB port računara sa standardima, SPI komunikacija, a zatim je opisan digitalni potenciometar sa SPI interfejsom (MCP410xx). Peto poglavlje opisuje arhitrekturu i organizaciju mikrokontrolera PIC18F4550, a šesto poglavlje opisuje razvojni sistem i softver koji su korišćeni za pomenuti mikrokontroler. U sedmom poglavlju se nalazi električna šema projekta sa opisom. U ovom poglavlju su priloženi programi u mikroc-u i opisan je proces programiranja mikrokontrolera PIC18F4550 preko PICFlash programatora. U osmom poglavlju je opisana laboratorijska vežba po koracima (za samostalan rad studenata). Magdalena i Ana 3

4 /1/ SERIJSKI PORT I STANDARD Serijski port računara, koji se drugačije naziva i komunikacijski (communication ili skraćeno: COM) port, u mogućnosti je i da prima i da šalje podatke.u zavisnosti od toga da li serijski uređaji koriste različite pinove za prijem i slanje ili samo jedan, moguće je razlikovati dva tipa komunikacije: full-duplex (informacije se mogu istovremeno prenositi u oba smera) i half-duplex (dok se informacije prenose u jednom smeru, prenos iz drugog smera je zabranjen). Serijski port zasniva rad na UART kontrolerskom čipu, koji predstavlja ključnu komponentu serijske komunikacije. Ovaj čip, s jedne strane prihvata bajtove podataka od mikroprocesorskog sistema, transformiše ih u bitski niz i šalje bit-po-bit. S druge strane, prihvata niz bita koji stižu od nekog spoljnjeg uređaja, pakuje ih u bajtove i predaje ih mikroprocesorskom sistemu. Većina ovih čipova ima ugrađene FIFO bafere za prijem podataka radi ubrzanja rada, što je ranije napomenuto. Postoje dva glavna oblika serijskog prenosa: sinhroni i asinhoni. Sinhoni prenos podrazumeva da predajnik i prijemnik dele zajednički takt, ili da predajnik obezbedi poseban signal kojim će obaveštavati prijemnik kada dolazi sledeći podatak. Kod asinhronog prenosa ne postoji poseban signal već se sinhronizacija vrši pomoću posebnih bitova koji se umeću. Slika 1. Principijelna blok-šema serijskog porta Serijski port PC računara koristi se za serijski prenos podataka (bit-po-bit) i samim tim je sporiji od paralelnog porta. Uređaji koji koriste serijsku komunikaciju koriste dve vrste kablova i to: DCE (Data Communications Equipment) i DTE (Data Pin Equipment). DCE koriste modemi, ploteri i sl. dok se DTE koristi za vezu između PC računara. Električne osobine serijskog porta su definisane EIA (Electronics Industry Association) RS232C standardom, čiji su parametri: Logička nula "SPACE" nalazi se u opsegu napona +3V do +25V Logička jedinica "MARK" je u opsegu -3V do - 25V Oblast između -3 do + 3 V nije definisana Napon na kolu ne sme da pređe 25V u odnosu na masu (GND) Struja kola ne sme preći 500 ma. Pored RS232C standarda postoje i novije verzije EIA-232D i EIA-232E, koje su objavljene i godine i to je prikazano u Tabeli 1. 4

5 PARAMETAR EIA 232 RS 423-A RS 422-A RS 485 način rada nebalansiran nebalansirani diferencijalni diferencijalni broj drajvera i prijemnika 1 drajver i 1 prijemnik 1 drajver 10 prijemnik 1 drajver 10 prijemnik 32 drajvera 32 prijemnika maksimalna dužina kabla [m] maksimalna brzina prenosa podataka [bps] 20 K 100 K 10 M 10 M maksimalni napon na zajedničkim krajevima [V] do do 7 Drajverski izlazni signal izlaz drajvera [V]-min neopterećen 5 3,6 2 3,6 izlaz drajvera [V]-max Opterećen ,6 opterećenje drajvera [Ω] 3 7 K 450 (min) 100 (min) 60 (min) ''slew rate'' drajvera [V/µs] 30 (max) spoljna kontrola n.d. n.d. izlazna struja kratkog spoja 150 na GND granična vrednost struje (ma) 500 na Vcc 150 na GND 150 na GND 200 na 7 ili 12 V izlazna otpornost uključeno drajvera [Ω] napajanje n.d. n.d. n.d. 12 K stanje visoke isključeno impedanse [Ω] napajanje 30 K 60 K 60 K 12 K ulazna impedansa prijemnika [Ω] 3 7 K 4 K(min) 4 K (min) 12 K (min) osetljivost prijemnika [V] 3 V 0,2 0,2 0,2 opseg ulaznog napona prijemnika [V] do 12V Tabela 1. Električne karakteristike EIA standarda Slika 2 Raspored pinova na konektoru DSUB-25 5

6 Inače, serijski port koristi dve vrste konektora: DSUB-25 (25-pinski) i DSUB-9 (9-pinski). Oblik konektora i raspored pinova na njima kao i glavni signali na pojedinim pinovima dati su na Slikama 2 i 3, i Tabeli 2, dok je opis svakog signala da u Tabeli 3. Slika 3. Raspored pinova na konektoru DSUB-9 DSUB-25 DSUB-9 Signal Opis signala pin 2 pin 3 TD Transmit Data pin 3 pin 2 RD Receive Data pin 4 pin 7 RTS Request To Send pin 5 pin 8 CTS Clear To Send pin 6 pin 6 DSR Data Set Ready pin 7 pin 5 SG Signal Ground pin 8 pin 1 CD Carrier Detect pin 20 pin 4 DTR Data Pin Ready pin 22 pin 9 RI Ring Indicator Tabela 2. Signali na konektorima DSUB-25 (relevantni) i DSUB-9 Signal Opis signala Značenje signala TD Transmit Data Serijski izlaz podataka (TXD) RD Receive Data Serijski ulaz podataka (RXD) RTS Request ToSend Indicira da je modem spreman za razmenu podataka CTS Clear To Send Kada modem detektuje signal "Carrier" od modema sa druge strane linije, onda ona postaje aktivna DSR Data Set Ready DCE signalizira da je spreman za rad SG Signal Ground Masa CD Carrier Detect DCE javlja da je veza uspostavljena DTR Data Pin Ready Indicira DCE uređaju da je DTE spreman RI Ring Indicator Signalizira detekciju signala "zvona" na telefonskoj liniji Tabela 3. Značenje pojedinih signala Oblik signala kod RS232 standarda dat je na donjoj slici. 6

7 Slika 4. Oblik signala kod RS232 standarda Situacija kada nema slanja podatka, tj. linija je slobodna, označena je MARK naponom. Prenos počinje kada linija pređe u SPACE stanje, što predstavlja START bit. Iza start bita dolaze bitovi podataka i to tako da je jedinica predstavljena negativnim naponom, a nula pozitivnim. Ovo je najčešće u suprotnosti sa ustaljenom logikom da je +5 V logička jedinica, a 0 V logička nula. Problem rešava prijemno kolo (npr. MAX232, ST232, ICL232, MAX3232, ST3232, ICL3232 itd.) konvertujući napone tako da su prilagođeni naponima interfejsa koji se koristi. Posle bita podatka dolazi bit parnosti koji se koristi za detekciju jednostruke greške u prenosu. Iza bita parnosti signal se postavlja u MARK stanje što označava početak STOP bita. Prema RS232 standardu broj stop bitova može biti: 1, 1.5 ili 2. Nakon završetka STOP bitova, linija je spremna za slanje novog karaktera. PC računari koriste kao DATA bite najčešće 7 ili 8 bita. Između slanja dva karaktera linija se nalazi u MARK stanju, a u toku prenosa više puta prelazi iz MARK u SPACE stanje u zavisnosti od broja jedinica i nula. To znači da se linija može nalaziti u SPACE stanju najviše u slučaju kada karakter sadrži sve nule. Ova osobina prenosa upotrebljena je za uvođenje specijalnog znaka nazvanog BREAK (prekid). Ovaj se signal koristi kako bi se dala prijemniku signalizacija da je došlo do problema u slanju podataka. Serijski prenos počinje tako da predajna strana šalje prijemnoj strani signal RTS - zahtev za slanjem, dok prijemnik ako je spreman za prijem odgovara signalom CTS - spreman za prijem. Predajnik zatim šalje podatke prijemniku. Nakon prijema podataka, prijemnik proverava da li su podaci primljeni bez greške i za to vreme javlja predajniku da je zauzet. Ako su podaci primljeni bez greške, prijemnik šalje predajniku signal potvrde ACK (Acknowledgment - ASCII 6), a u slučaju ako se pojavila neka greška, šalje signal negativne potvrde NAK (ASCII 21). Zavisno od upotrebljenog protokola, odgovor predajnika na dobijeni NAK signal može biti ponovno slanje podataka. Protokol za prenos može se izvesti na dva načina i to: hardverski i softverski. Za realizaciju hardverskog protokola neophodno je da postoje linije: RTS, CTS i linija za prenos bitova poruke. Softverska realizacija koristi umesto linija RTS i CTS, ASCII znakove XON i XOFF (nazivaju su i DC1 i DC3), zbog čega je umesto tri dovoljna samo jedna linija. Kada se primenjuje ovaj protokol prijemnici i na predaji i prijemu proveravaju svaki prispeli znak radi utvrđivanja da li je to XON, XOFF ili podatak. Strana koja ne može da primi karakter kao indikator tog stanja drugoj strani šalje XOFF znak. Prilikom serijskog prenosa podataka moguća je pojava sledećih vrsta grešaka: Greška uokvirenja ili greška rama podatka (framing error). Do ove greške dolazi u slučaju kada prijemnik očekuje STOP bit ali se on ne pojavljuje. Greška prekoračenja (overrun error). Nastaje kada se pojavljuje novi znak u prijemniku a prethodni nije upotpunosti primljen. Greška parnosti (parity error). Nastaje kada bit parnosti ne odgovara stanju bitova u bitovima podatka. Standardno za vezu dva PC računara koristi se takozvani Null Modem kabl, čiji je raspored pinova prikazan na Slici 5. 7

8 Slika 5. Izgled null-modem kabla Sa slike se vidi da su i na prijemnoj i predajnoj strani spojeni signali DTR, DSR i CD kao i RTS i CTS, dok su signali TD i RD ukršteni. Za testiranje serijskog porta i izradu programa koristi se kabl sa zatvorenom petljom (Loop Back) prikazan na Slici 6. Slika 6. Kabl sa zatvorenom petljom za testiranje Serijska komunikacija se kod PC računara izvodi upotrebom Intelovog UART kola 8250 kod XT ili kod AT računara. Oba su kola slična, s tim što kolo ima neke naprednije karakteristike. Kolo 8250 sadrži 10, dok kolo16450 ima 12 programabilnih jednobajtnih registara. Svaki port (COM1 i COM2) ima po jedno UART kolo koja se vezuju na linije prekida IRQ3 i IRQ4. Standardno se koriste dva porta, a moguće je i više sa adresama i IRQ. Bazne adrese COM portova nalaze se u BIOS-u na adresama datim u Tabeli 5, dok je u Tabeli 6 data grupa registara koju koristi serijski port računara. 8

9 Naziv Adresa IRQ COM 1 3F8 4 COM 2 2F8 3 COM 3 3E8 4 COM 4 2E8 3 Tabela 4. Adrese COM portova Startna adresa Opis 0000:0400 Početna adresa COM1 0000:0402 Početna adresa COM2 0000:0404 Početna adresa COM3 0000:0406 Početna adresa COM4 Tabela 5. Bazne adrese COM portova u BIOS-u 9

10 /2/ USB PORT I STANDARD Prvi PC računari koristili su tri porta i to: jedan za štampač (LPT) i dva serijska(com1 i COM2) pri čemu je jedan od njih većinom bio zauzet od strane serijskog miša. Međutim njihova sve veća primena rezultovala je pojavu različitih uređaja koji se na njih uključuju kao što su skeneri, digitalne fotoaparati i slično. To je uzrokovalo uvođenje USB porta Universal Serial Bus) koji je standardizovan godine. Porastom broja različitih periferija koje se mogu priključiti na računar dolazilo je do sledećih problema: priključivanje dodatnih periferija na računar koji ima samo 2 serijska i 1 paralelni port je zahtevalo dodavanje novih kartica koje bi predstavljale vezu između računara i date periferije što je zahtevalo dodatne resurse (jedan slot u samom računaru i po pravilu jedan IRQ prekid, a nešto ređe i DMA kanal), neki uređaji su projektovani tako da koriste određeni IRQ ili port tako da je lako dolazilo do konflikata u IRQ mapi ili na DMA kanalima, deljenje datih portova (serijski, paralelni) sa nekim drugim uređajem (npr: štampač i skener na paralelnom portu ) što je dovodilo do nepredvidljivih problema ili potrebe da se kablovi uređaja po potrebi uključuju i isključuju sa datog porta, što je nekim situacijama vrlo opasno (dolazi do spaljivanja portova na računaru odnosno uređaju). Njegovim uvođenjem nastojalo se da se reše sledeći problemi: rešenje u vezi ograničenja broja slotova na osnovnoj ploči kao i broja portova PC računara jednostavno proširenja PC računara upotrebom softverskih drajvera mogućnost napajanja eksternih uređaja koji malo troše od strane računara omogućeno je priključenje do 127 eksternih uređaja na glavni USB port, pa se time rešava ograničenje koje je pre postojalo: jedan uređaj - jedan slot. omogućene su velike brzine prenosa do 12 Mb/s pojednostavljuju se kablovi za priključenje uređaja a njihova dužina se povećava omogućena je kontrola potrošnje eksternih uređaja podržano je autokonfigurisanje ovih uređaja po principu PnP detekcije novih uređaja u računaru. USB port podržava dve brzine prenosa i to: veliku brzinu kada se prenos kreće do 12 Mb u sekundi, i za sporije uređaje nižu brzinu prenosa do 1.5 Mb u sekundi. USB port koristi četverožilni kabl preko koga se prenose podaci i napajanje sa impedansom 90 Ω što je dato na Slici 7. Za prenos podataka koriste se dve linije D+ i D-. Kada se prenosi logička nula linija D- je na većem potencijalu od linije D+ dok je u slučaju prenosa logičke jedinice obrnuto. Predajnici moraju da daju napon veći od 2.8 V sa opterećenjem od 15 kω. Prijemnici moraju da imaju simetričan ulaz pri čemu do promene stanja dolazi ako se na ulazu prijemnika naponi razlikuju za više od 200 mv. Svaka linija za prenos podataka ima i nesimetričan prijemnik za detekciju greške koja se pojavi ako su obe linije podataka nađu na istom naponu. Kada se radi o brzom USB prenosu tada se na liniju D+ priključuje opteretni otpornik(pull-up) reda 1.5 kω, dok se kod sporog prenosa on uključuje na liniju D-. Na izlazima drajvera linija D+ i D- priključuju se opteretni otpornici reda 15 kω. U slučaju kada USB eksterna jedinica nije pod naponom i kada je drajverski izlaz porta u stanju visoke impedanse preko ovih otpornika se određuje brzina prenosa. Preko njih se takođe određuje da je eksterni uređaj 10

11 povezan na USB čvor. Kada uređaj nije povezan na USB čvor njegovi izlazni drajveri biće u stanju visoke impedanse i obe linije će biti na potencijalu mase, koje se naziva nesimetrična nula SE0(Singl Ended 0). Povezivanje uređaja na čvor on će dobiti napajanje ali njegovi izlazi i dalje će biti u stanju visoke impedanse, dok će napon na liniji podataka porta koji je povezan na opteretni otpor postati visok što može da detektuje čvor. U slučaju ako se ne šalju USB paketi, linije podataka nalaze se u stanju visoke impedanse. Za priključenje USB uređaja koriste se konektori prikazani na Slici 8. Slika 7. Presek USB četvorožilnog kabla Slika 8. Četvoropinski USB konektori Standardni USB kabl za priključenja eksternih USB uređaja je oblika kao na Slici 9, dok je organi-zacija USB bus-a prikazana na Slici 10. Slika 9. Četvoropinski USB kabl 11

12 Slika 10. Organizacija USB bus-a Iz prikazane slike vidi se da se USB bus-a može predstaviti sa tri nivoa i to: Nivo USB uređaja (USB Interface Layer) koji obezbeđuje fizičku vezu za prenos signala i paketa između računara i USB uređaja. Ovaj nivo omogućuje sistemskim programima koji kontrolišu USB bus, rad sa opštim funkcija koje koristi USB uređaj, Nivo funkcije se ostvaruje upotrebom klient softvera (Client SW), Nivo interfejsa obezbeđuje da se fizički obavlja komunikacija. Sistem USB povezivanja deli se na četiri funkcionalno zaokružene celine: USB uređaj (USB Physical Device), klijent softver (Client Software), USB sistemski softver (USB System Software), glavni USB kontroler (USB Host Controller). USB predtsvlja neki eksterni uređaj koji se priključuje na USB i koji izvršava zahtevane funkcije. Klijent softver omogućava da se izvrši prenos podataka između eksternog USB uređaja i računara i najčešće ga isporučuje proizvođač USB uređaja. USB sistemski softver je deo operativnog sistema za podršku USB uređaja i isporučuje se uz operativni sistem. Glavni USB kontroler zaokružuje u jednu celinu hardver i softver koji omogućuje rad USB uređaja. USB uređaji sa računarom komuniciraju slanjem paketa. Na početku paketa slanja paketa linija za prenos podataka se postavlja u suprotno stanje od onog u kome se nalazi u mirnom stanju, dosk se na kraju paketa podataka, ova linija postavlja u SE0 stanje u dužini trajanja od dva bita. USB uređaji mogu se resetovati na nekoliko načina od koji se često koristi pristup kada se linija podataka postavi u SE0 stanje u trajanju od 10ms. U slučaju ako USB bus se nalazi u mirnom stanju većem od 3 ms tada eksterni USB uređaji mogu preći u stanje male potrošnje ako to podržavaju. Vraćanje u radno stanje treba da traje najduže 20 ms. Prenos podatka se vrši upotrebom NRZI metoda kodiranje (Non Return Zero Invert) što znači ako se pojavi logička jedinica ona će trajati celom svojom 12

13 dužinom, odnosno neće doći do promene naponskog nivo. U slučaju pojave povorki nula napon se linije menja za svaki bit, što se koristi za uspostavljanje signala takta na prijemu. Kada se u povorci podataka pojavi šest uzastopnih jedinica radi sigurnosti na prijemu, vrši se umetanje bita tj. ubaci se jedna nula koja se na prijemu izbacuje. Preko USB bus-a kao što smo videli prenosi se i napon napajanja V+ koji iznosi + 5V, uz maksimalno opterećenje do 5A, pri čemu potrošnja pojedinačne eksterne jedinice ne sme preći 400 ma kada je u radnom stanju a u stanju mirovanja 500 µa. Ovaj uslov ne mogu ispuniti svi USB uređaji tako da u tom slučaju moraju koristiti sopstveno napajanje. Iako takvi uređaji koriste takvo napajanje, napon USB kabla koriste i ovi uređaji radi provere od strane računara koji je od uređaja povezan na USB bus. Prilikom inicijalizacije USB sistema po uključenju računara on pribavlja podake o svim uređajima koji povezani na USB radi numerisanja bus-a (bus enumeration). Za ispravan rad USB uređaja koji su povezani na računare svaki od njih mora da ima adresu koje se kreću u opsegu od 0 do 128 i dodeljuje ih računar prilikom konfigurisanja bus-a. Adresa 0 je adresa koju koristi računar za postavljanje uređaja povezanih na USB bus i ne mogu je koristiti eksterni uređaji. Podaci koji se šalju preko USB bus dele se u pakete pri čemu veličina jednog paketa ne sme biti veća od 8 Kb. Računar deli vreme u intervale dužine 1 ms i u svakom intervalu šalje jedan paket koji počinje sa SOP bitom. Sledeći se paket razdvaja od prethodnog sa EOP što je prikazano na donjoj slici: Na početku svako paketa se šalje sinhronizacioni bajt koji se sastoji od sedam nula i jednom jedinicom (80H). Na osnovu ovog bajta sinhrono kolo na strani prijemnika generiše taktni signal. Nako sinhronizacionog bajta sledi polje za identifikaciju paketa PID (Packet Identifier), kod koda se prva 4 bita koriste za identifikaciju vrste paketa, dok su sledeća četiri bita(veće težine) invertovani biti PID-a na osnovu čega se proverava tačnost primljenog PID-a. Polje PID definiše vrstu paketa i njegov format kao i tip detekcije greške. Postoje sledeći oblici paketa u USB komunikaciji: SOF paket čiji je PID=0101 koji šalje 11 bitni podatak o broju rama (frame), kao i 5 bita CRC detekcije. Setup, IN i OUT paketi imaju oblik kao na gornjoj slici. Setup paket čiji je PID=1101 vrši setovanje funkcije od strane računara i sadrži tekuću i krajnju (Endpoint) adresu. IN paket čiji je 13

14 PID=1001 je prvi paket od od eksternog uređaja prema računaru. OUT paket čiji je PID=0001 je prvi paket koji računar šalje periferijskom uređaju. Data0 paket čija je PID=0011 je paran paket podataka koji sadrži do 1023 bajta podataka. Data1 paket čija je PID=1011 je neparan paket podataka. Ovi paketi za CRC kontrolu koriste 16 bita. Ack paket koji ima PID=0010 je potvrda prijemnika da je paket primljen bez greške. Nak paket koji ima PID=1010 je je odgovor predajnika o neispravno primljenom paketu. Stall paket koji ima PID=1110 pokazuje da je neko odredište zagušeno tj. ne može da primi sve do tada poslate pakete. Prenos podataka počinje tako što računar pošalje paket u kome je definisan tip i smer prenosa, adresa USB uređaja i adresa krajnjeg odredišta. Ovaj se paket naziva token. Adresirani uređaj detektuje svoju adresu iz adresnog polja i time bude selektovan i postaje spreman za prijem ili predaju podataka Primalac odgovara slanjem odzivnog paketa (handshake packet) izveštavjući o uspešnosti prenosa. Adresiranje uređaja vrši se preko adresnog polja paketa od 7 bita. Adresa se koristi sa kod IN, OUT ili Setup paketa. Paket SOF sadrži broj ramova od 11 bita pri čemu se njegov sadržaj inkrementira za svaki novi ram sve do vrednosti 7FFH. Paketi podatataka Data0 i Data1 sadrže do 1023 bajta. Ova dva paketa omogućuju jednostavnu sinhronizaciju predajnika i prijemnika u slučaju zahteva predajnika za ponovnim slanjem radi greške u prenosu. Predajnik šalje novi paket tek kada od prijemnika dobije potvrdu o uspešnosti tj. paket Ack. Prvo se šalje paket Data0 pa paket Data1 i tako naizmenično. Svi paketi imaju na kraju bite za redundantu proveru CRC da li je paket ispravno primljen. Pri prenosu podataka uvek se obavlja komunikacija u oba smera i uvek je inicijalizirana od strane računara. Smer prenosa definiše računar slanjem IN ili OUT paketa. U IN paketu računar zahteva od eksternog USB uređaja da mu poašalje podatke. Nakon ovog paketa eksterni uređaj ili računar šalje Data paket, pri čemu se na kraju svakog primljenog paketa strana koja je vršila prijem šalje potvrdu uspešnosti slanje tj. Ack, Nak ili Stall paket. Iz opisa USB porta vidimo da uređaji koji se na njega priključuju moraju imati visok nivo "inteligencije" kako bi podržali navedeni standard. Zbog toga se u njima nalaze najčešće mikrokontroleri koji podržavaju ovu komunikaciju i koji su za ovu vrstu standarda i razvijeni. Programiranje je znatno teže budući da navedeni protokoli moraju biti podržani. Zbog toga naučiti programiranje USB porta je svakako i najveći domet u programiranju portova. 14

15 /3/ SPI KOMUNIKACIJA SPI (Serial Peripheral Interface) standard za sinhronu serijsku komunikaciju razvijen je od strane Motorolinih inženjera, za potrebu brzog i pouzdanog serijskog prenosa podataka na manjim rastojanjima (do 3m). Prvobitno, ovaj standard je bio predviđen za komunikaciju sa perifernim uređajima, ali je vremenom razvijena i mogućnost komunikacije između više mikro-kontrolera ili mikroprocesora. Postoji široka paleta perifernih uređaja baziranih na SPI od običnih TTL pomeračkih (shift) registara, do SPI memorija, displeja, A/D konvertora itd. Tip komunikacije Maksimalna brzina Opis SCI 125 Kb/s MCU takt = 2MHz SPI 1 Mb/s MCU takt = 2MHz, Master SPI 2 MB/s MCU takt = 2MHz, Slave Tabela 6. Poređenje brzina komunikacija preko SCI i SPI Tabela 6 pokazuje kako je SPI komunikacija oko 10 puta brža od SCI komunikacije (Standard Communication Interface) kada mikrokontroler radi kao master, i oko 20 puta brža kada mikrokontroler radi kao slave. Takođe se vidi da kada mikrokontroler radi kao slave, moguća je brzina prenosa podataka jednaka internom taktu mikrokontrolera. Napomena: Motorola je svoj serijski asinhroni/sinhroni interfejs nazvala Serijski komunikacioni interfejs (Serial Communications Interface, ili SCI). Odgovarajući Intel-ov serijski interfejs nosi naziv Programibilni komunikacioni interfejs (Programmable Communication Interface, ili PCI) itd. U praksi, pomenuti interfejs koriste U(S)ART čipovi, odnosno U(S)ART integrisana kola, kao na primer: Intel 8251, INS 8250-B INS 16450, itd. SPI PROTOKOL Pri SPI prenosu, podaci se šalju preko pomeračkog registra sa serijskim izlazom, a primaju preko pomeračkog registra sa serijskim ulazom. U bilo kom trenutku može da postoji jedan master, kako bi se osigurala ispravna komunikacija. Kao što je prikazano na Slici 11 potrebne su 4 linije, odnosno za SPI komunikaciju koriste se 4 pina: MOSI (Master Output Slave Input). Kada mikrokontroler radi kao master, onda je ovo linija za slanje podataka, a kada radi kao slave ovo je linija za primanje podataka. MISO (Master Input Slave Output). Kada mikrokontroler radi kao master, onda je ovo linija za primanje podataka, a kada radi kao slave ovo je linija za slanje podataka. U slučaju da je komunikacija isključivo jednosmerna, svakako da se može ostvariti sa tri linije (bez MOSI ili MISO, zavisno od slučaja). SCK (SPI Clock). Ovo je linija za takt pod kojim se izvodi komunikacija. Takt daje master, a pomerački registar slave-a prima podatke, odnosno očitava ulaz na promenu ovog takta. 15

16 SS (Slave Select). Ovaj pin mikrokontrolera se veže na liniju za selektovanje slave-a. Kada mikrokontroler radi kao slave, i kada je ovaj (u slučaju ulazni) pin na visokom nivou, onda se takt sa SCK linije i podaci sa MOSI linije se ignorišu. Tek kada se dovede SS na nizak nivo, SPI sistem slave-a prati promene na pinovima koji su vezani za ovaj tip komunikacije i može da primi i pošalje informaciju. Kada mikrokontroler radi kao master, SS pin ima dve opcije. Može da se konfiguriše kao ulazni pin i da setuje određeni fleg (flag), tj. da inicira prekid u slučaju da mu bude doveden nizak nivo. To je dobra opcija za međuprocesorsku komunikaciju. Na ovaj način može uspešno da se eliminiše mogućnost da više mikrokontrolera u datom trenutku pokušaju da budu masteri. Ovo se rešava softverski. SS pin takođe može da se konfiguriše kao izlazni, i da selektuje neki slave, ili da obavlja bilo kakvu funkciju nezavisnu od SPI podsistema mikrokontrolera. Slika 11. Povezivanje jednog mastera i tri slave-a u SPI komunikaciju U slučaju povezivanja više mikrokontrolera preko SPI kanala, svi MISO pinovi se vezuju zajedno na jednu liniju, MOSI pinovi se vezuju na drugu liniju, a SCK pinovi se vezuju na treću liniju, kao sto je prikazano na Slici 11. Slika 11 je primer vezivanja kada samo jedan mikrokontroler može da bude master. Ako uloga mastera treba da bude promenljiva, onda svaki mikrokontroler treba da ima pojedinačnu vezu sa SS pinovima ostalih mikrokontrolera. Zamislimo strukturu sa dva pomeračka registra povezana kao na Slici 12. Neka sa strane sa koje su povezani medusobno, registri imaju serijske ulaze i izlaze. Sa stanovišta programera, kakvi su ulazi i kakva je logika nije bitno. Pinovi za podatke (DATA1) su povezani zajedno, i to predstavlja jednosmernu liniju sa koje pomerački registar 1 predaje podatke pomeračkom registru 2. Pinovi za podatke (DATA2) su povezani zajedno, i to je jednosmerna linija sa koje pomerački registar 2 predaje podatke pomeračkom registru 1. Pinovi za takt (CLOCK) su zajednički (to je jednosmerna linija sa koje pomerački registar 1 šalje takt, bez razlike u kojem smeru se prenose podaci). Pinovi za omogućavanje komunikacije (ENABLE) su vezani zajedno to je jednosmerna linija preko koje pomerački registar 1 omo-gućava (dozvoljava) rad pomeračkom registru 2. Kada prvi pomerački registar šalje poruku drugom, redosled operacija je sledeći: 16

17 1. Preko linije ENABLE, prvi registar omogućava rad drugom, odnosno omogućava da drugi na svakom prelazu na liniji CLOCK iz visokog na nisko nivo (ili obrnuto, zavisno od logike), pročita stanje na liniji DATA1. 2. Preko linije CLOCK prvi registar šalje takt pod kojim drugi čita promene na liniji za podatke DATA1. 3. Kada prvi registar završi sa prenosom, postavlja linije CLOCK i ENABLE u stanje mirovanja (idle state). Slika 12. Hardverska šema SPI komunikacije Kada prvi registar želi da dobije informaciju od drugog, preduslov koji treba da se ispuni je da drugi registar već ima spremnu informaciju koju treba da pošalje. Poslednja pretpostavka u analogiji međumikrokontrolerske SPI komunikacije podrazumeva da je u registar za slanje slave-a programski već postavljena informaciju koja se traži. Redosled operacija je: 1. Preko linije ENABLE, prvi pomerački registar omogućava rad drugom ili, preciznije, omogućava da drugi pri svakom prelazu iz visokog na nisko nivo na liniji CLOCK (ili obrnuto, zavisno od logike), promeni stanje na liniji DATA2. 2. Preko linije CLOCK prvi šalje takt sa kojim će čitati promene stanja koje šalje drugi na liniju za podatke DATA2. Obrnuto rečeno, drugi pomerački registar preko linije CLOCK dobija takt pod kojim će slati signale. 3. Kada drugi završi sa prenosom, onda prvi postavlja linije CLOCK i ENABLE u sta-nje mirovanja. Prvi «zna» da je prenos završen kada se na liniji CLOCK završi n-ti ciklus (n je broj bitova koji čini informaciju, na primer: 8, 16 itd.) Ovo je primer koji opisuje SPI logiku, a pri tome ne ulazi u pojedinosti interne periferije samog mikrokontrolera. Relativno je lako da se pošalje poruka preko SPI kanala od mastera ka slave-u. Ono što želimo da naglasimo jeste način slanja podataka slave-master. U kom trenutku treba slave da pošalje poruku, odlučuje master. On tada šalje takt na liniju CLOCK. Da bi poslao takt, zbog automatizovane SPI kontrolne i upravljačke logike, master, u stvari, mora da pošalje poruku na magistralu i normalno da selektuje slave-a. Sve što je navedeno opisuje suštinu SPI komunikacije. Svakako da ima mnogo detalja koji variraju u zavisnosti od mikrokontrolera i perifernog uređaja, ali to se mnogo lakše usvaja kada se poznaju osnovni principi. 17

18 /4/ DIGITALNI POTENCIOMETAR SA SPI INTERFEJSOM Karakteristike svaki potenciometar iz serija MCP4XXXX ima 256 stanja/nivoa Vrednosti potenciometra od 10 kω, 50kΩ i 100 kω Jednokanalna (single) ili dvokanalna (dual) verzija SPI TM serijski interfejs (modovi 0, 0 i 1,1) ±1 LSB max INL & DNL realizovan u CMOS tehnologiji male potrošnje Maksimalna struja napajanja od 1µA prilikom izvršenja operacija u statičkom režimu rada Omogućeno povezivanje (ulančavanje) više uređaja (samo MCP42XXX) Mogućnost shutdown-a otvorenih kola svih otpornika radi maksimalne uštede energije Hardverski shutdown putem pina dostupan samo na MCP42XXX Operiše sa jednim napajanjem ( V) Industrijski temperaturni opseg: -40 C +85 C Prošireni temperaturni opseg: -40 C +125 C Slika 13. Blok šema digitalnog potenciometra Opis MCP41XXX i MCP421XXX su digitalni potenciometri sa 256 pozicija, dostupni u verzijama od 10 kω, 50kΩ i 100 kω. MCP41XXX je jednokanalni (eng. single) uređaj i isporučuju se u 8-pinskom PDIP ili SOIC kućištu. MCP42XXX poseduje dva nezavisna kanala u 14-pinskom PDIP, SOIC ili TSSOP kućištu. Pozicija klizača kod MCP41XXX/42XXX se menja linearno i kontroliše se pomoću 18

19 SPI interfejsa, industrijskog standarda. Uređaji imaju potrošnju manju od 1µA u statičkom režimu rada. Softversko isključivanje se izvodi razdvajanjem A pina od otpornog dela i simultanog povezivanja klizača na B pin. Dvokanalna (eng. dual) verzija MCP42XXX uređaja ima SHDN pin koji obavlja istu funkciju hardverski. Za vreme shutdown moda, sadržaj klizačkog registra je moguće promeniti, pa potenciometar ima novu vrednost nakon izlaska iz shutdown moda. Klizač se postavlja na sredinu skale (pozicija 80h) nakon uključenja. RS (reset) pin omogućuje hardversko resetovanje i takođe vraća klizač na sredinu skale. MCP42XXX SPI interfejs uključuje pinove SI i SO, omogućujući povezivanje deljivih uređaja. Otpornost između pojedinačnih kanala na MCP42XXX varira manje od 1%. Ova serija digitalnih potenciometara operiše sa jednim izvorom napajanja od V i specificirana je preko industrijskih i proširenih temperaturnih opsega. Slika 14. Raspored pinova na kućištima Opis pinova 1) PA0, PA1 Veza A pina potenciometra 2) PB0, PB1 Veza B pina potenciometra 3) PW0, PW1 Veza klizača potenciometra 19

20 4) Izbor čipa, chip select ( CS ) Ovo je SPI port i koristi se za izvršenje nove komande nakon što je ista učitana u pomerački (eng. shift) registar. Ovaj pin ima Šmitov triger na ulazu. 5) Serijski Takt, Clock (SCK) Ovaj SPI port se koristi za taktovanje novih podataka koji se unose u registar. Podaci se unose putem SI pina na rastuću ivicu takta, a eksportuju se preko SO pina na opadajuću ivicu takta. Ovaj pin je kontrolisan od strane CS pina (tj., uređaj neće povlačiti struju ukoliko je SCK pin u radnom režimu, kada je CS pin na visokom naponskom nivou). Ovaj pin ima Šmitov triger na ulazu. 6) Serijski Unos Podataka (SI) Ovo je SPI port za serijski unos podataka. Komandni i bajtovi podataka se unose u pomerački registar putem ovog pina. Ovaj pin je kontrolisan od strane CS pina (tj., uređaj neće povlačiti struju ukoliko je SCK pin u radnom režimu kada je CS pin aktivan, tj. na visokom nivou). Ovaj pin ima Šmitov triger na ulazu. 7) Serijski Izlaz Podataka (SO) (Prisutan samo u MCP42XXX seriji) Ovo je SPI serijski izlazni pin podataka i koristi se za povezivanje više urređaja. Podaci se eksportuju preko SO pina na opadajuću ivicu takta. Ovo je push-pull izlaz i ne prelazi u stanje visoke impedanse kada je CS na visokom nivou. Prelazi na niski logički nivo kada je CS na visokom logičkom nivou. 8) Reset ( RS ) (Prisutan samo u MCP42XXX seriji) Reset pin postavlja sve potenciometre na sredinu skale (kod 80h), ukoliko je na niskom logičkom nivou najmanje 150ns. Ovaj pin ne bi trebao da se postavlja u nisko logičko stanje kada je SHDN na nuli. Sa namerom smanjenja potrošnje, ovaj pin poseduje aktivno pull-up kolo. Ovaj pin povlači zanemarljivu struju na nivoima logičke nule i logičke jedinice. Pin Rreset ne sme ostati nepovezan. 9) Shutdown (SHDN ) (Prisutan samo u MCP42XXX seriji) Pin Shutdown ima Šmitov triger na ulazu. Kada je na pinu stanje logičke nule, kolo se postavlja u mod za smanjenje potrošnje (eng. idle mod), kada je A pin otvoren, a B i W pini povezani, za sve potenciometre. Ovaj pin ne bi trebalo postavljati na niski logički nivo kada je CS pin na niskom logičkom nivou. U cilju minimizacije potrošnje energije, ovaj pin poseduje aktivno pull-up kolo. Ovaj pin povlači zanemarljivu struju kada je na nivoima logičke nule i logičke jedinice. SHDN pin ne sme ostati nepovezan. 20

21 Pi Na Function n# 1 me CS Chip Select 2 SC CS Serial Clock 3 SI Serial Data Input 4 Vss Ground 5 PA Pin A Connection 6 PW Wiper Connection 7 PB Pin B Connection 8 V DD Power Tabela 7. Značenje pojedinih pinova (8-pinski potenciometar) Pin Name Function # 1 CS Chip Select 2 SCK Serial Clock 3 SI Serial Data Input 4 Vss Ground 5 PB1 Pin B Connection For Pot 1 6 PW1 Wper Connection For Pot 1 7 PA1 Pin A Connection For Pot 1 8 PAO Pin A Connection For Pot 0 9 PWO Wper Connection For Pot 0 10 PBO Pin B Connection For Pot 0 11 RS Reset Input 12 SHDN Shutdown Input 13 SO Data Out for Daisy-Chaining 14 V DD Power Tabela 8. Značenje pojedinih pinova (14-pinski potenciometar) Informacije o aplikaciji Serije MCP41XXX/42XXX su jednokanalni/dvokanalni digitalni potenciometri sa 256 pozicija i mogu se koristiti umesto standardnih mehaničkih potenciometara. Dostupne su otpornosti od 10 kω, 50kΩ i 100 kω. Kao što možemo videti na Slici 15, svaki od potenciometara se sastoji od promenljivog otpornika i 8-bitnog (256 pozicija) registra podataka koji određuje položaj klizača. Nominalne otpornosti klizača su 52Ω za verziju od 10 kω i 125 Ω za verzije od 50kΩ i 100 kω. Za slučaj dvokanalnih potenciometara, varijacije podudarnosti od kanala do kanala su manje od 1%. Otpornost između klizača i krajnje tačke bilo kog od otpornika menja se linearno, u zavisnosti od vrednosti smeštene u registar podataka. Kod 00h povezuje klizač sa B pinom. Prilikom dovođenja napajanja, svi registri podataka se automatski postavljaju na vrednost sredine skale (80h). Serijski interfejs omogućuje učitavanje podataka u pomerački registar, koji se onda prosleđuje registrima podataka. Serijski interfejs takođe omogućuje postavljanje pojedinačnih potenciometara u shutdown mod (režim rada), kako bi omogućila minimalna potrošnja energije. SHDN pin se upotrebljava za postavljanje svih potenciometara u shutdown mod, a RS pin omogućuje postavljanje svih potenciometara na sredinu skale (80h). 21

22 Slika 15. Detaljnija blok šema digitalnog potenciometra Slika 16. Povezivanje digitalnog potenciometra i mikroprocesora Kada se neko kolo povezuje na digitalni potenciometar, potrebno je koristiti sprežne kondenzatore. Ovi kondenzatore treba postaviti što je bliže moguće pinu uređaja. Preporučena vrednost kondenzatora je 0.1 µf. Digitalni i analogni putevi signala trebalo bi da budu što više odvojeni na ploči; takođe, nijedan od tih puteva ne bi trebao da se prostire ispod digitalnog potenciometra ili sprežnog kondenzatora. Veliku pažnju treba posvetiti putevima visokofrekventnih signala (kao što su linije takta) i držati ih što dalje od analognih vodova. Preporučuje se upotreba analogne ravne mase, kako bi potencijal mase bio isti za sve uređaje na ploči. Režimi rada Digitalni potenciometar se koristi/primenjuje u sledećim režimima rada: 22

23 reostatski mod potenciometarski (mod delitelja napona) Reostatski režim rada U reostatskom režimu rada, potenciometar se koristi kao otporni element sa dva kraja. Neiskorišćeni kraj treba povezati za klizač, kao što je prikazano na Slici 17. Napomenimo da obrtanje polariteta A i B pina neće uticati na izvršenje operacije. Slika 17. Reostatski režim rada (fiksna otpornost) Upotreba digitalnog potenciometra u ovom modu omogućava kontrolu ukupne otpornosti između dva priključka. Izmerena otpornost biće najmanja prilikom koda 00h, kada je klizač vezan na B pin. Otpornost u slučaju ovog koda jednaka je otporu klizača, koji tipično iznosi 52Ω za MCP4X010 uređaje od 10 kω, 125 Ω za verzije od 50kΩ (MCP4X050) i 100 kω (MCP4X100). Za digitalni potenciometar od 10 kω, veličina LSB iznosi Ω (ako usvajamo ukupnu otpornost od 10 kω). Otpornost će se povećavati sa LSB korakom sve dok izmerena otpornost ne dostigne vrednost Ω pri kodu FFh. Klizač se nikad ne povezuje na pin A otpornika. Za dvokanalne digitalne potenciometre, varijacija ukupne otpornosti od kanala do kanala između pina A i B manja je od 1%. Međutim, varijacija otpornosti od jednog do drugog digitalnog potenciometra može iznositi i do 30%. U reostatskom modu, otpornost ima pozitivan temperaturni koeficijent. Najveće razlike u zavisnosti od promene temperature javiće se u prvih 6% kodova (kodovi od 00h do 0Fh) usled uticaja koeficijenta otpornosti klizača na ukupnu otpornost. Na preostale kodove dominantan uticaj ima temperaturni koeficijent ukupne otpornosti R AB, koji tipično iznosi 800ppm/ C. Slika 18. Reostatski režim rada (promenljiva otpornost) 23

24 Potenciometarski mod U potenciometarskom modu, sva tri pina uređaja povezana su na različite priključke u kolu. Ovo omogućava potenciometru da daje izlazni napon proporcionalan ulaznom naponu. Ovaj mod se ponekad naziva mod delitelja napona. Potenciometar se koristi za dobijanje napona koji se podešava pozicijom klizača između dva završna kraja, kako je to prikazano na Slici 18. Napomenimo da obrnut polaritet A i B pina ne utiče na izvršenje operacije. U ovoj konfiguraciji, koeficijent interne otpornosti definiše ukupan temperaturni koeficijent digitalnog potenciometra. Otpornik koji se sastoji od R WB i R AB ima temperaturni koeficijent koji tipično iznosi 1ppm/ C (mereno pri kodu 80h). Pri nižim kodovima, temperaturni koeficijent otpornosti klizača je dominantan. 24

25 /5/ MIKROKONTROLER PIC18F4550 PIC18F4550 pripada 18F seriji mikrokontrolera kompanije Microchip. Mikrokontroleri ovog proizvođača se odlikuju malom cenom i što je važnije besplatnom tehničkom podrškom (kompajleri, razvojni sistemi, programatori). S obzirom da poseduju harvard strukturu, memorijska mapa je podeljena na programsku i memoriju za podatke kao i EEPROM. Procesor (CPU) mikrokontrolera koristi tehniku preklapanja, kako bi se sve instrukcije (osim grananja) izvršavale jedan ciklus. Zbog toga se osnovni takt deli sa 4, jer se faze izvršenja naredbi preklapaju. Sve naredbe su fiksne dužine od 2 bajta, tako da je adresiranje memorije ograničeno. Zbog toga se memorija deli na 16 stranica, a izbor stranice se vrši u odgovarajućim kontrolnim registrima. Ova osobina značajno usporava rad mikrokontrolera međutim napredniji kompajleri vrše inteligentno plan-iranje raspodele memorije kako bi se varijable koje se zajedno koriste nalazile u istoj memo-rijskoj banci. Programska memorija je 32KB dok je RAM veličine 2 KB. Takođe postoji i 256B EEPROM-a. Procesor poseduje prošireni skup instukcija u odnosu na ranije serije (16 i 17) kao i nove načine adresiranja. Tako su dodate naredbe za hardversko množenje i deljenje, inkrementiranje i dekrementriranje sa uslovnim skokom, naredbe za čitanje tabela i druge. Programski brojač je širine 21 bit i njemu se može pristupati samo indirektno preko određenih registara. Mikrokontroler poseduje i magacin (stack), ali se on nažalost može koristiti samo indirektno tako što se u poseban registar upisuje željeni sadržaj i potom posebnom instrukcijom sadržaj tog registra stavlja na stek. Kod čitanja sa magacina vrednost se takođe nalazi u tom registru. Oscilator pruža brojne mogućnosti prilikom izbora radnog takta koji je ujedno i takt za periferije. Maksimalni eksterni takt je 48MHz, što daje procesoru mikrokontrolera takt od 12MHz. Za tu svrhu se koristi PLL kolo i delitelji frekvencije. Najbitnije je da se za rad USB modula mikrokontrolera mora obezbediti takt od 24MHz, a PIC ima prednost u odnosu na konkurentske mikrokontrolere što taj takt može biti nezavisan od takta za CPU i druge jedinice. Mehanizam prekida je organizovan kao jedan prekidni vektor koji sadrži adresu prekidne rutine u kojoj se treba ispitati izvor prekida i preduzeti željena akcija. Dakle, nema prekidnog vektora za svaki ili grupu izvora prekida što je jedan od nedostataka ovog mikrokontrolera, jer se time gubi na brzini i preglednosti koda. Ovaj mikrokontroler ima bogat skup hardverskih periferija koje mu omogućavaju primenu u brojnim aplikacijama. Slika 19. Mikrokontroler PIC18F4550 u kućištu DIP-40 25

26 Mikrokontroler poseduje 35 izlazno ulaznih linija koje se multipleksiraju sa data registrima portova i signalima drugih modula kao što je prikazano na slici: Od perifernih modula PIC18F4550 izdvojićemo veoma napredan integrisani USB 2.0 modul velike brzine sa 1KB memorije za podatke, 10 bitni 13-to kanalni AD konvertor, 4 tajmerske jedinice (dve imaju mogucnost PWM-a), SPI, I2C i USART modul. Radna frekvencija mikrokontrolera je do 48MHz, dok je efektivna vrednost frekvencije 4 puta manja zbog protočnog rada procesora (pipelining-a). Nadalje ćemo detaljnije opisati USART i USB module mikrokontrolera PIC18F4550. Slika 20. Raspored pinova mikrokontrolera PIC18F4550 u kućištu DIP-40 Režimi rada mikrokontrolera Run mode: i CPU i periferija su uključeni Idle mode: CPU je isključen a periferija uključena Sleep mode: i CPU i periferija su isključeni Idle mode struja je do 5.8 μa Sleep mode struja je do 0.1 μa Oscilator Timer1: 1.1 μa, 32 khz, 2V Watchdog tajmer: 2.1 μa Dvobrzinski startni oscilator. Struktura fleksibilnog oscilatora Četiri kristalna režima rada uključujući i visoko precizni PLL za USB Dva spoljašnja taktna režima rada, do 48 MHz Unutrašnji oscilator - 8 frekvencija koje bira korisnik, od 31 khz do 8 MHz - Podešavanje koje bira korisnik zbog kompenzacije frekvencijskog drifta 26

27 Sekundarni oscilator koristi Timer1 Opcije dvostrukog oscilatora omogućavaju mikrokontroleru i USB modulu da radi na različitim taktnim brzinama Fail-Safe taktni nadzor omogućava bezbedno isključivanje ukoliko se neki takt zaustavi Osobine periferije Svaki pin može da prihvati/preda relativno veliku vrednost struje 25mA/25mA Tri spoljašnja prekida Četiri tajmera (Timer0 do Timer3) Do dva CCP (Capture/Compare/PWM) modula - Capture je 16-bitni, maksimalne rezolucije 6.25 ns (T CY /16) - Komparator je 16-bitni, maksimalne rezolucije 100 ns (T CY ) - PWM izlaz: PWM rezolucija je od 1 do 10 bita Proširen CCP (Capture/Compare/PWM) modul - Multiple output režimi rada - Mogućnost izbora polariteta - Programabilno «mrtvo» vreme - Automatsko isključivanje i automatski restart Prošireni USART modul Modul master sinhronog serijskog porta (MSSP) podržava 3-žični SPI (sva četiri režima rada) i I 2 C master i slave režim rada 10-bitni 13-kanalni A/D konvertor sa pristupnim vremenom koje se može programirati Dvostruki analogni komparator sa multipleksnim ulazom. Specijalne karakteristike mikrokontrolera C kompajler optimizirane arhitekture sa opcionim dodatnim skupom instrukcija ciklusa upisivanja/brisanja (erase/write) proširene programske Flash memorije upisivanja/brisanja ciklusa EEPROM memorije podataka Flash/Date EEPROM zadržavanje duže od 40 godina Mogućnost samoprogramiranja tokom rada (ovo na primer dozvoljava CCS kompajler) Postoje nivoi prioriteta za prekide Jednociklusni množač 8 x 8 Prošireni watchdog tajmer (WDT): - Period programiranja od 41 ms do 131 ms Zaštita programskog koda Programiranje unutar sistema preko dva pina i napajanjem od 5V Debagovanje unutar sistema preko dva pina (ICD) Prošireni ICD/ICSP port (samo za mikrokontrolere u 44-pinskom kućištu) Širok opseg napona napajanja (od 2V do 5.5V) 27

28 Slika 21. Arhitektura mikrokontrolera PIC18F4550 nanowatt Tehnologija Svi mikrokontroleri iz familije PIC18F2455/2550/4455/4550 imaju takve katakteristike da mogu značajno da smanje potrošnju. Način rada i procena smanjenja potrošnje mogu da budu: Alternate Run režim rada: U zavisnosti da li kontroler radi po taktu Timer1 ili unutrašnjeg oscilatora, smanjenje može da bude i do 90%. Multiple Idle režimi rada: Kontroler može da radi i sa isključenim CPU dok je periferija još uvek aktivna. Na ovaj način potrošnja iznosi oko 4% od potrošnje u normalnom režimu rada. On-the-fly prekidački režim rada: Kontrola potrošnje se može pozvati i u toku programa. Na ovaj način se korisniku ostavlja mogućnost promene režima rada rada u softverskoj aplikaciji. Smanjena potrošnja u modulima mikrokontrolera: Pošto je potrošnja veća kada se koriste i Timer1 i Watchdog tajmer, potreba za njim je minimizirana. 28

29 Opcije višestrukog oscilatora i njegove karakteristike Svi mikrokontroleri iz familije PIC18F2455/2550/4455/4550 pružaju dvanaest različitih opcija oscilatora, dozvoljavajući korisnicima širok izbor u razvoju aplikacijskog hardvera. To podrazumeva: Četiri režima rada koji koriste kristalni kvarc ili keramički rezonator Četiri režima rada koja koriste spoljašnji takt Unutrašnji oscilator koji omogućuje takt od 8 MHz (±2%) i INTRC izvor (aproksimativno 31 khz, koji ne zavisi od temperature i V DD ) kao i opseg od 6 taktnih frekvencija koje korisnik može sam da izabere, između 125 KHz i 4 MHz, što konačno daje 8 taktnih frekvencija. PLL frekvencijski množač, dostupan i za visoke brzine i režim rada spoljnog oscilatora, što omogućava širok spektar taktnih brzina od 4 MHz do 48 MHz. Asinhroni dvostruki takt, omogućava USB modulu da radi na visokim frekvencijama dok ostatak mikrokontrolera se taktuje iz oscilatora male snage. Ostale specijalne karakteristike Izdržljivost memorije: Proširene Flash ćelije za obe programske memorije i za EEPROM memoriju podataka su procenjene da traju najmanje više eares/write ciklusa više od za programsku memoriju i za EEPROM. Zadržavanje (čuvanje) podataka bez osvežavanja je procenjeno da bude veće od 40 godina. Mogućnost samoprogramiranja: Ovaj uređaj može da sam upisuje u prostor sopstvene programske memorije pod kontrolom unutrašnjeg softvera. Korišćenjem bootloader-a, koji je smešten u zaštićenom boot bloku na vrhu programske memorije, postaje moguće da se stvori aplikacije koja može da unapređuje (update-uje) sama sebe. Prošireni set instrukcija: Familija mikrokontrolera sa USB modulom (PIC18F2455/2550/ 4455/4550) uvodi dodatno proširenje standardnog seta instrukcija serije PIC18, uvodeći dodatnih 8 instrukcija i Indexed Literal Offset Addressing režim rada. Cilj ovoga bio da bi se optimizovao program pisan na višem programskom jeziku kao što je C. Proširen CCP modul: U PWM režimu rada, ovaj modul omogućava 1, 2 ili 4 modulisana izlaza za kontrolisanje half-bridge i full-bridge drajvera. Ostale ka-rakteristike su automatsko isključivanje (za isključivanje PWM izlaza u toku prekida ili za neki drugi zadat uslov) i automatsko restartovanje (da bi se izlazi opet aktivirali onda kad su zadati uslovi opet ispunjeni). Proširen USART: Ovaj modul serijske komunikacije može da vrši standardne RS-232 operacije i pruža podršku za LIN protokol. Druga proširenja uključuju automatsku detekciju brzine prenosa podataka (Automatic Baud Rate Detection) i 16-bitni Generator takta za prenos podataka (Baud Rate Generator) za poboljšanje rezolucije. Kad mikrokontroler koristi unutrašnji oscilator, EUSART omogućava stabilnu operaciju za aplikaciju koja komunicira spolja bez korišćenja eksternog kristala (ili prati potrošnju snage) 10-bitni A/D Konvertor: Ovaj modul aktivira programirljivo vreme konverzije, čime će kanal biti odabran i konverzija će se pokrenuti, bez čekanja na period odabiranja (na taj način se smanjuje dodatni kod). Rezervisan ICD/ICSP Port: Ovaj modul uključuje debager (za pronalaženje grešaka) i pinova za programiranje koji nisu u multipleksu sa nekim drugim funkcijama mikrokontrolera. Ponuđena kao opcija, ova funkcija omogućava korisnicima da razviju moćne I/O aplikacije, sa mogućnošću programiranja i debagovanja u samom električnom kolu. 29

30 Organizacija memorije Memorija mikrokontrolera PIC18F4550 je organizovana u sledeće tri celine: Programska memorija Memorija podataka (RAM) EEPROM memorija podataka Memorija podataka i programska memorija su odvojene, što omogućava istovremeni pristup prostoru ove dve memorije. EEPROM memorija podataka, za neku praktičnu primenu, može se smatrati kao periferni uređaj, s obzirom da se adresiranje i pristup odvija preko kontrolnih registra. Organizacija programske memorije Slika 22a. Programska memorija i magacin (stack) U mikrokontrolerima serije PIC18 integrisan je 21-bitni programski brojač koji je u mogućnosti da adresira programsku memoriju od 2 MB. Ukoliko se pristupi memorijskoj lokaciji između 2MB-ne 30

31 adrese i gornje granice fizički implementirane memorije, to će imati za posledicu učitavanje logičkih '0' (NOP instrukcija). Mikrokontroler PIC18F4550 poseduje Flash memoriju kapaciteta 32KB i može da memoriše instrukcije obima jedne reči. Mikrokontroleri iz serija PIC18 imaju dva vektora prekida: Reset vektor čija je adresa 0000h i Prekidni (interrupt) vektor čije su adrese 0008h i 0018h. Na Slici 22b su ilustrovani programska memorija i magacin tokom izvršenja nekog programa. Slika 22b. Programska memorija i magacin (stack) tokom izvršenja programa USART modul Univerzalni sinhroni/asinhroni serijski prmopredajnik ima mogućnosti half i full duplex prenosa, automatske detekcije i kalibracije bodove brzine. Za komunikaciju se koriste I/O pinovi RC6 kao TX i RC7 kao RX za asinhroni prenos. Rad modula se kontroliše pomoću 3 registra. U pitanju su: 1. TXSTA : Predajni statusni i kontrolni registar sa sledećim bitovima: CSRC TX9 TXEN SYNC SENDB BRGH TRMT TX9D CSRC TX9 TXEN SYNC BRGH TRMT TX9D nebitan kod asinhronog prenosa 1 uključuje prenos devetog bita predaja dozvoljena sa setovanjem ovog bita 0 je sinhroni a 1 asinhroni režim rada setuje veliku brzinu prenosa status predajnog pomeračkog registra, 1 registar je prazan deveti bit za prenos (najcešće parnost) 31

32 2. TCSTA : Prijemni statusni i kontrolni registar sa sledećim bitovima: SPEN RX9 SREN CREN ADDEN FERR OERR c SPEN RX9 SREN CREN ADDEN FERR OERR RX9D uključuje/isključuje serijski port 1 uključuje prenos devetog bita nebitan kod asinhronog prenosa prijem podataka uključen setovanjem ovog bita bit dozvole za detekciju adrese bit za detekciju grešaka rama (okvira) bit za detekciju grešaka prekoračenja deveti bit za prenos (najčešće parnost) 3. BAUDCON: Kontrolni registar generatora takta za brzinu prenosa ABDOF RCIDL RXDTP TXCKP BRG16 WUE ABDEN ABDOF RCIDL RXDTP TXCKP BRG16 WUE ABDEN bit poravnanja prilikom automatske akvizicije podataka prijemni bit o režimu smanjene potrošnje ako je 1, Rx podaci su invertovani ako je 1, Tx podaci su invertovani uključuje 16-bitni generator bodove brzine aktivacioni (wake-up) bit dozvole uključuje merenje brzine prenosa (brzina u baudima) sledećeg karaktera (55h) Izbor takta se vrši setovanjem odgovarajućih bitova i upisom vrednosti u registarski par SPBRGH: SPBRG. U zavisnosti od kombinacije, koristi se sledeća tabela za računanje željene brzine asinhrone komunikacije: Konfiguracioni bitovi BRG/EUSART Formula za računanje SYNC BRG16 BRGH mod brzine bitni Fosc/[64(n+1)] bitni Fosc/[16(n+1)] bitni Fosc/[16(n+1)] bitni Fosc/[4(n+1)] U dokumentaciji se mogu naći tablice sa standardnim bodovim brzinama i procentualnim odstupanjima za različite konfiguracije takta procesora. Prenos podaka se vrši preko predajnog i prijemnog kola asinhronog primopredajnika. 32

33 Slika 23. Predajno kolo USART modula TXREG sadrži 8-bitni podatak koji se treba poslati. Kada se u ovaj registar upiše neka vrednost njegov sadržaj se prebacuje u TSR registar za pomeranje (šiftovanje). Tada je TXREG prazan što može izazvati prekid. TSR registar se ne puni podatkom iz TXREG sve dok se ne prenese poslednji stop bit. TSR je dužine 9 bita. Prvih 8 je vrednost koja se uzima iz TXREG, dok je 9-ti bit bit parnosti (opciono). Kod prenosa svih 9 bitova prvo je potrebno upisati 9 bit pa onda vrednost u TXREG kako bi se izbeglo da se deveti bit upiše posle napuštanja 8-bitne vrednosti iz TSR registra. TSR se taktuje signalom iz baud rate generatora koji je, u stvari, takt za pomeranje (šiftovanje). Ovaj registar je vezan za odgovarajući pin preko koga se prenose serijski podaci. Slika 24. Prijemno kolo USART modula 33

34 Prijemno kolo je slične konstrukcije i radi po sličnom principu. Podaci sa ulaza se vode u datarecovery kolo koje radi na 16 puta većem taktu od brzine prenosa, kako bi se izbegle greške jer je brzina odabiranja/uzorkovanja veća od brzine prenosa. Primljeni podaci se pomeraju kroz prijemni pomerački (shift) registar RSR dužine 9 bita. Posle toga se ovim podacima može pristupiti preko RCREG registra, dok se kao i kod predaje 9-tom bitu pristupa preko kontrolnog registra. Kada se RCREG napuni vrednošću iz RSR može se generisati prekid kako bi se obradili preuzeti podaci. Iz prethodnog se može zaključiti kako se za serijsku komunikaciju mogu koristiti dva načina rada. Jedan je zasnovan na prekidima koji se generišu pri završetku slanja ili prijema svakog bajta tako da se u prekid potprogramu može prihvatiti i obraditi primljeni podatak ili pripremiti slanje sledećeg bajta. Drugi način je sličan samo se umesto prekida koristi prozivka (eng. pooling) statusnih bitova koji ukazuju na završetak transfera jednog bajta. USB modul Zahvaljujući USB modulu i interfejsu, PIC18F4550 se izdvaja od ostalih mikrokontrolera iz familije. USB komunikacija je veoma složena i nije jedinstvena zbog čega ćemo samo ukratko opisati osobine USB modula korišćenog mikrokontrolera. Karakteristike USB modula Fleksibilan USB 2.0 standard Brzine: Low Speed (1.5 Mb/s) i Full Speed (12 Mb/s) Podržava kontrolni, prekidni, izohroni i bulk transfer Podržava do 32 krajnje tačke, odnosno16 bidirekciono 1Kbit-ni dvostruki pristup RAM memoriji za USB Unutar mikrokontrolera je integrisan USB primopredajnik sa sopstvenim regulatorom napona Interfejs za spoljašnji USB primopredajnik Protočni paralelni port (Streaming Parallel Port) za (protočni) USB prenos. Fizička veza ostvaruje se preko dva pina D+ i D- dok se ostali koriste za povezivanje eksternog predajnika (transivera). Podaci se primaju i prenose preko posebnog bafera kapaciteta 1KB koji je podeljen na 16 tzv. endpoint-a i njihove deskriptore koji sadrze podatke o karakteru endpoint-a (smeru toka podataka), veličini endpoint-a i njegovoj početnoj adresi. Pristup podacima koji se primaju ili šalju se obavlja preko ovih endpoint-a. USB serijski interfejs vrši primopredaju podataka i on mora biti taktovan frekvencijom od 24MHz. Modul ima ugradjen 3.3V regulator koji služi za napajanje pull-up otpornika na D+ liniji što je bitno kod početne faze prepoznavanja od strane hosta. Njime se određuje i brzina prenosa (spor ili brz transfer). Komunikacija se zasniva na nekoliko prekida, a najvažniji je onaj koji se generiše kada se primi neki token (podatak). Tada se u odgovarajućim registrima može pročitati u kojem endpoint-u se podatak nalazi kako bi mu se pristupilo. Postoje i drugi prekidi koji se okidaju u slučaju greške, reseta, zagušenja ili aktivnosti na liniji. Svi oni se mogu iskoristiti za kontrolu komu-nikacije. Zbog svoje kompleksnosti koja uglavnom višestruko premašuje složenost većine aplikacija rad sa USB portom i mikrokontrolerom se najčešće izvodi pomoću gotovih modula. «Oživljavanje» USB komunikacije potrebno pisanje posebnog drajvera uređaja na strani hosta kao i odgovarajućeg softvera u mikrokontroleru. Zahvaljujući pomenutom HID (Human Interface Device) standardu i gotovim programskim modulima ovaj veliki problem se veoma lako rešava pogotovo, ukoliko se radi sa PIC mikrokontrolerima. 34

35 Slika 25. Blok šema USB modula Detaljnije informacije vezane za USB komunikacioni standard se mogu pronaći na zvaničnom sajtu standarda ADC SA SUKCESIVNIM APROKSIMACIJAMA Svi signali u prirodi su kontinualni, a veoma teško je upravljati nekim procesom bez digitalizacije analognih veličina. Kao što je napomenuto, PORTA i PORTE imaju mogućnost A/D konverzije što podrazumeva da se mogu konfigurisati kao analogni ili digitalni. S obzirom da je 10-bitni A/D konvertor sa sukcesivnim aproksimacijama integrisan u mikrokontrolerima PIC familije, naredne redove ćemo posvetiti upravo ovom tipu A/D konvertora. ADC sa sukcesivnim aproksimacijama (SAR ADC) ima veoma malu potrošnju i zauzima relativno malo mesta na silicijumskoj pločici. Ova kombinacija performansi ga čini idealnim za veliki broj aplikacija kao što su: instrumenti koji su baterijski napajani, industrijska kontrola, akvizicija podataka itd. SAR ADC su čest izbor za aplikacije sa srednjom i visokom rezolucijom i sa srednjom brzinom konverzije (od nekoliko µs do nekoliko desetina µs). Najčešće se biraju gde brzina odabiranja ne prelazi 5 µs, a opseg rezolucije SAR A/D konvertora je od 8 do 16 bita. Principijelna šema A/D konvertora sa sukcesivnim aproksimacijama data je na Slici

36 Slika 26. A/D konvertor sa sukcesivnim aproksimacijama Maksimalni ulazni napon koji se može priključiti na konvertor je V ulmax i on je jednak naponu pune skale V ps tj. V ulmax = V ps. Maksimalni izlazni napon iz D/A konvertora V iz je za 1 LSB manji od napona V ps. Pod ovakvim uslovima D/A konvertor će, kad je MSB bit postavljen na jedinicu (Q n-1 =1), a svi ostali na nulu, generisati napon V iz = V ps / 2. Sledeći bit (Q n-2 =1) ima težinu V ps / 4, odnosno, pošto se radi o binarnom D/A konvertoru, svaki sledeći bit ima težinu upola manju od predhodnog. Konverzija počinje tako što, nakon priključenog V ul, kontrolno logičko kolo postavi logičku jedinicu u bit najveće težine registra sukcesivnih aproksimacija (Q n-1 ). D/A konvertor generiše napon V iz = V ps / 2 koji se poredi sa V ul. Ako je V ul > V ps / 2, MSB bit digitalnog ekvivalenta napona V ul je jedan, a ako je V ul < V ps / 2, tada taj bit treba da bude nula. Kontrolna logika, na osnovu izlaza komparatora resetuje (ako je k=0), ili ne resetuje (ako je k=1) MSB flipflop u registru sukcesivnih aproksimacija, čime je definisan bit najveće vrednosti Q n-1 izlazne informacije, a zatim postavlja drugi bit po težini Q n-2 na logičku jedinicu. Komparator poredi novu vrednost V iz (koja je V ps / 4 ili 3V ps / 4 u zavisnosti dobijenog u poređenju sa bitom najveće vrednosti) sa V ul, a zatim kontrolna logika, na osnovu izlaza komparatora resetuje ili ne flipflop za taj bit (Q n-2 ) i definisana je vrednost bita drugog po težini. Kontrolna logika postavlja sledeći bit koji ima težinu upola manju od prethodnog na logičku jedinicu. Proces poređenja i postavljanja narednih flipflopova se nastavlja sve do bita najmanje težine Q 0. U zavisnosti od logičkog nivoa komparatora flipflop bita najmanje težine se resetuje ili ostaje logička jedinica. Time je konverzija završena. Kao primer, na Slici 25 pokazan je vremenski dijagram napona V iz idealnog četvorobitnog A/D konvertora sa sukcesivnim aproksimacijama. Na Slici 27 je pretpostavljen ulazni napon 11/16 > V ul /V ps >5/8. Konverzija počinje postavljanjem koda "1000" u SAR (registar sukcesivnih aproksimacija). Izlazni napon D/A konvertora se postavlja na V iz = V ps / 2. Pošto je V ul > V iz, na osnovu k=1, u trenutku t 1 kontrolna logika ne resetuje Q 3, čime je određen MSB bit izlazne informacije, postavlja Q 2 =1, tako da je kod upisan u registar sukcesivnih aproksimacija (SAR) "1100", a izlazni napon D/A konvertora se postavlja na V iz =3 / 4V ps. Sada je V ul < V iz, kontrolna logika u trenutku t 2, na osnovu k=0 resetuje Q 2 i bezuslovno postavlja Q 1 =1. Ovim je određena i druga cifra izlazne digitalne informacije. SAR je postavljen u stanje "1010", a V iz na V iz = 5V ps /8. Pošto je V ul > V iz, k=1 zabranjuje da kontrolna logika resetuje Q 1, u trenutku t 3 postavlja se Q 0 =1, tako da je u SAR registru stanje "1011". U trenutku t 4 se na osnovu k=0 resetuje Q 0, tako da je konačan rezultat konverzije koji je ostao u registru sukcesivnih aproksimacija Q 3 Q 2 Q 1 Q 0 ="1010", Što je najbliži binarni broj koji odgovara ulaznom naponu. 36

37 Slika 27. Promena napona D/A konvertora prilikom A/D konverzije Na istom vremenskom dijagramu na slici je isprekidanom linijom prikazan tok konverzije napona V ul < V ps / 16. Nakon četiri koraka sukcesivnih aproksimacija, kao rezultat konverzije se dobija stanje Q 3 Q 2 Q 1 Q 0 ="0000". Na osnovu sprovedene analize funkcionisnja A/D konvertora sa sukcesivnim aproksimacijama (skraćeno SAR ADC) mogu se definisati uslovi za sintezu registra sukcesivnih aproksimacija (SAR) i kontrolne logike (KL): Konverzija analognog signala u digitalni binarni kodovan broj od n cifara se obavlja u n+1 taktnom intervalu, od kojih prvi (t 0 ) inicijalizuje sekvencu sukcesivnih aproksimacija, a poslednji (t n ) označava kraj konverzije. Start konverzije se zadaje asinhrono u odnosu na taktni impuls A/D konvertora. Vreme između dva susedna taktna impulsa treba da je dovoljno dugačko, kako bi isteklo vreme postavljanja D/A konvertora, kašnjenja kroz komparator i kašnjenja kroz kontrolnu logiku. Korišćeni n-bitni D/A konvertor mora imati monotono rastuću karakteristiku prenosa (diferencijalnu linearnost bolju od ±0.5 LSB). Flipflopovi registra sukcesivnih aproksimacija (SAR registra) treba da imaju mogućnost pojedinačnog postavljanja i resetovanja. Ulazni napon V ul ne sme da se menja u toku konverzije, s obzirom da se flipflopovi postavljaju bit po bit, a već postavljeni flipflopovi, u slučaju promene V ul, ne mogu da promene stanje. Vreme konverzije A/D konvertora sa sukcesivnim aproksimacijama ja dato izrazom: t SARADK =(n+1)*t c, gde je n- broj bita konvertora, a T c - perioda ponavljanja impulsa CLK. Minimalna perioda ponavljanja CLK zavisi od vremena postavljanja D/A konvertora, od kašnjenja kroz komparator i kašnjenja kroz registar sukcesivnih aproksimacija sa pripadajućim logičkim kolima. Dominantan uticaj na vreme konverzije ima vreme postavljanja D/A konvertora, pošto je ovo vreme često i za red veličine duže od 37

38 ostalih kašnjenja u mreži. Tipično vreme konverzije za, na primer, dvanaestobitne integrisane SAR ADK je od 1µs za najbrže, do nekoliko desetina µs za sporije ADC. Brzina SAR ADC je ograničena sa sledećim faktorima: Vremenom smirivanja D/A konvertora Komparatorom, koji za određeno vreme mora da detektuje male razlike između napona V ul i V iz Vremenom izvršavanja logičkih operacija. Maksimalno smirivanje D/A konvertora je najčešće određeno smirivanjem MSB-a. Linearnost celokupnog A/D konvertora je limitirana linearnošću D/A konvertora. Zbog toga, SAR ADC-i čija rezolucija prelazi 12 bita često zahtevaju neku vrstu kalibracije ili dodavanje novih komponenti da bi se postigla potrebna linearnost. Dodavanje novih komponenti donosi sa sobom i problem slaganja (uparenosti) komponenti. Zbog svega navedenog, u praksi najčešće srećemo realizacije čija rezolucija ne prelazi 12 bita. Kod mikrokotrolera PIC18F4550 koristi se 10-bitni ADC. Najvažnije prednosti A/D konvertora sa sukcesivnim aproksimacijama su mala potrošnja, visoka rezolucija, tačnost i to što zauzimaju malo mesta na silicijumskoj pločici. Glavna ograničenja u strukturi su mala brzina odabiranja, kao i zahtevi da tačnost pojedinih delova (kao što su D/A konvertor i komparator) bude na nivou tačnosti celog sistema. Da bi se iskoristio 10-bitni i 13-kanalni A/D konvertor integrisan u mikrokontroleru, neophodno je podesiti registre ADCON0, ADCON1 i ADCON2. Inače, registar ADCON0 definiše startovanje (uključivanje) modula za konverziju, kanal koji se koristi za konverziju, dok se registrom ADCON2 podešavaju parametri A/D konverzije (frekvencije odabiranja konvertora, početak konverzije). Registrom ADCON1 određuje se uloga pojedinih pinova (analogni ili digitalni). Slika 28a. Registar ADCON0 bitovi 7 i 6 ne koriste se bitovi CHS3-CHS0 selekcija jednog od 13 kanala (kombinacije 1101,1110,1111 se ne koriste) bit GO/DONE statusni bit A/D konvertora (kada uzima vrednost '1', vrši se konverzija) bit ADON dozvola rada A/D konvertora Slika 28b. Registar ADCON1 bitovi 7 i 6 bit 5 (VCFG1) bit 4 (VCFG0) bitovi PCFG3-0 ne koriste se konfiguracioni bit za negativni referentni napon konfiguracioni bit za pozitivni referentni napon konfiguracioni bitovi A/D konvertora kojima se definiše koji kanali su analogni, a koji digitalni (videti sledeću tabelu) 38

39 Na sledećoj slici je prikazan registar ADCON2: Slika 29. Registar ADCON2 bit 7 (ADFM) bit 6 bitovi ACQT2-0 bitovi ADCS2-0 definiše format podatka (poravnanje ulevo ili udesno) ne koristi se definišu vreme prikupljanje podataka konverzije definišu takt A/D konvertora Blok-dijagram A/D konvertora mikrokontrolera PIC18F4550 prikazan je na Slici 30. Algoritam A/D konverzije 1. Konfiguracija A/D konvertora (preko ADCON0, ADCON1 i ADCON2) 2. Konfigurisanje A/D prekida ukoliko se zahtevaju (ADIF, ADIE, PEIE, GIE) 3. Čekanje da prođe zahtevano akviziciono vreme 4. Početak procesa A/D konverzije 5. Završetak procesa A/D konverzije 6. Čitanje rezultata A/D konverzije iz registra ADRES 7. Za sledeću konverziju, skočiti na korak 1 ili korak 2. 39

40 Slici 30. Blok-dijagram A/D konvetora Greške A/D konverzije A/D konvertori nemaju idealnu prenosnu funkciju. Odstupanja od idealne prenosne funkcije definišu DC preciznost i okarakterisana su parametrima u tablicama tehničkih podataka. A/D konverzija odstupa od idealnog zbog varijacija u procesu izrade što je zajedničko za sva integrisana kola, kao i zbog raznih drugih izvora grešaka u samom procesu analogno-digitalne (A/D) konverzije. Preciznost A/D konvertora zavisi od nekoliko ključnih tehničkih osobina, koje obuhvataju diferencijalnu nelinearnu grešku (DNL), integralnu nelinearnu grešku (INL), ofset i grešku pojačanja, preciznost referentnog napona, uticaj temperature i dinamičke performanse. 40

41 Dve veoma popularne metode za utvrđivanje ukupne greške sistema su metoda kvadratnog korena sume kvadrata grešaka (root-sum-square - RSS) i metoda najgoreg slučaja. RSS metoda podrazumeva kvadriranje pojedinačnih grešaka, njihovo sabiranje i konačno kvadratni koren zbira daje ukupnu grešku: UKUPNA GREŠKA =, gde En predstavlja pojedinačnu grešku neke komponente ili parametra. Pomenuti metod je najprecizniji kada pojedinačne greške nisu u međusobnoj korelaciji (što može a ne mora biti slučaj). Kod metode najgoreg slučaja, sve pojedinačne greške se sabiraju. Ova metoda garantuje da greška nikada neće preći određenu granicu. Kako se na ovaj način dobija gornja granica greške, stvarna greška je uvek manja od ove vrednosti (vrlo često mnogo manja). Izmerena stvarna greška obično je negde između vrednosti dobijene na ova dva načina, ali je često bliža vrednosti dobijenoj RSS metodom. U zavisnosti od potreba i zahteva bira se između najgore i tipične vrednosti grešaka. Odluka o tome koja će vrednost biti korišćena zavisi od mnogo faktora, uključujući tu i standardnu devijaciju od merene vrednosti, važnosti pojedinih parametara, veličini greške u odnosu na druge greške, itd. Tako da u stvari i ne postoje neka tačno određena i stroga pravila koja moraju bit ispoštovana. Od aplikacije zavisi koje će specifikacije projektant da smatra najvažnijim. Na primer, DTMF dekoder uzorkuje telefonski signal kako bi utvrdio koji je taster pritisnut na aparatu sa tonskim biranjem. U ovom slučaju najbitnije je izmeriti snagu signala (iz određenog seta frekvencija) među ostalim tonovima i šumom koji nastaje prilikom A/D konverzije. U ovom projektu, projektant će najviše pažnje da obrati na parametre dinamičkih performansi kao što su odnos signal/šum i harmonijska izobličenja. U drugom primeru, sistem može da očitava signal koji meri temperaturu neke tečnosti. U ovom slučaju, DC preciznost merenja je najbitnija tako da će ofset, pojačanje i nelinearnosti biti najpre proveravane. Ne mora da znači, da ako uzmemo A/D konvertor sa više bita od predviđenog za neku određenu preciznost, da ćemo i dobiti karakteristike konvertora u željenoj preciznosti. Ako na primer, pretpostavimo da ja potrebno postići preciznost od 0,1% ili 10-bitnu preciznost (1/2 10 ), tako da ima smisla odabrati konvertor sa rezolucijom većom od ove. Ako odaberemo 12-bitni konvertor, možemo da pretpostavimo da će to biti dovoljno; ali bez analize specifikacije, nema garancije da on postiže 12- bitne performanse (on može biti boljih ili lošijih karakterisitka). Na primer, 12-bitni A/D konvertor sa integralnom greškom nelinearnosti od 4 LSB-a (Least Significant Bit - najmanje važan bit) može postići samo 10-bitnu preciznost u najboljem slučaju (ako se podrazumeva da su greške ofseta i pojačanja kalibrisane). Uređaj sa integralnom greškom nelinearnosti od 0.5 LSB-a može postići grešku manju od % odnosno 13-bitnu preciznost (ako su uklonjene greške ofseta i pojačanja). Da bi se izračunala najveća preciznost, potrebno je maksimalnu integralnu grešku nelinearnosti podeliti sa 2 N, gde je N broj bita. U našem slučaju, ako dopustimo grešku od 0.075% (tj. 11-bitnu grešku) za A/D konvertor, ostaje nam greška od 0.025% za ostatak elektronskog sklopa, što uključuje greške senzora, grešku od operacionih pojačavača, multipleksera, eventualnog D/A konvertora, ili drugih analognih izlaznih signala na putanji signala. Mnogi signali su relativno statični, kao npr. izlazni signali temperaturnih senzora ili senzora pritiska. U takvim aplikacijama mereni signal je povezan sa nekom fizičkom veličinom i apsolutna preciznost merenja tog napona je važna. Parametri A/D konvertora koji opisuju ovaj vid preciznosti su greška ofseta, greška pojačanja dinamičkog opsega, diferencijalna nelinearnost (DNL) i integralna nelinearnost (INL). Ova četiri parametra u potpunosti opisuju apsolutnu preciznost A/D konvertora. Iako se ne navodi kao parametar jedna od osnovnih grešaka A/D konvertora, a nastaje kao rezultat pretvaranja signala i podataka je greška kvantizacije. Ova greška ne može biti izbegnuta u me- 41

42 renjima uz A/D konverziju. DC preciznost i rezultujuću apsolutnu grešku određuju četiri parametra ofset, pojačanje u celom dinamčkom opsegu, INL i DNL. Greška kvantizacije je nezaobilazni rezultat predstavljanja analognog signala u digitalnim brojevima (drugim rečima, plod analogno-digitalne konverzije). Maksimalna greška kvantizacije je određena rezolucijom merenja (ili rezolucijom A/D konvertora, ako je signal oversample-ovan). Dalje, greška kvantizacije će se pojaviti kao šum, poznatiji kao šum kvantizacije u dinamičkoj analizi. Na primer, greška kvantizacije pojaviće se kao prag šuma u FFT dijagramu (frekvencijskom spektru) merenog signala na ulazu A/D konvertora. Slika 31a. Greška ofseta kod realnog A/D konvertora Slika 31b. Greška pojačanja kod realnog A/D konvertora 42

43 Slika 31c. Diferencijalna nelinearnost kod realnog A/D konvertora 43

44 /6/ SOFTVER ZA PIC MIKROKONTROLERE Za projekat koji je pred vama je korišćen softver mikroc od firme Mikroelektronika iz Beograda. Ovaj softverski alat služi za pisanje kôda za Microchip-ove PIC mikrokontrolere. Programeru je omogućeno da na jednostavan način kontroliše proces programiranja i napravi kvalitetan firmware za mikrokontroler. Ovde ćemo navesti osnovne karakteristike softvera: Pisanje C kôda korišćenjem kvalitetnog i preglednog editora, što se ogleda u automatskoj kontroli i upozorenjima vezanim za sintaksu kôda, korišćenih para-metara, kao i automatskoj korekciji pojedinih grešaka Preglednost strukture programa (kôda), promenljivih i funkcija omogućava Code explorer Jasan asemblerski kôd i standardna kompatibilnost generisanih HEX datoteka toka programa preko ugrađeg debagera (debugger) Programer ima na raspolaganju veliki broj integrisanih biblioteka i rutina, koje značajno ubrzavaju pisanje programa Detaljan izveštaj i grafičko predstavljanje RAM i ROM mape, statistike kôda i slično. mikroc, doduše, odstupa od ANSI standarda u nekoliko segmenata. Neka odstupanja su načinjena su u cilju da se olakša programiranje, dok su druge rezultat hardverskih ograničenja PIC mikrokontrolera. Pomenućemo sada neke specifičnosti: Rekurzivne funkcije (function recursion) su podržane sa izvesnim ograničenjima, koja su posledica nešto složenijeg pristupa magacinu (stack) i ograničenja vezana za memoriju Pokazivači (pointers) promenljivih i pokazivači konstanti nisu kompatibilni, tj. nije moguća međusobna dodela ili upoređivanje mikroc tretira označavanje const kao true constans (kod C++), što omogućava korišćenje const objekta na mestima gde ANSIC očekuje constant izraz.ukoliko se teži ka prenosivosti programa, treba koristiti tradicionalno pretprocesorsko definisanje konstanti mikroc dozvoljava C++ stil jednolinijskih komentara, koristeći dve kose crte (//). Komentar može da počne bilo gde i traje do sledeće nove linije programskog kôda Brojne standardne C biblioteke (ctype, math, stdlib, string ) implementirane su u mikroc, uz individualna odstupanja. Instalacija programa traje oko 30 sekundi (treba samo pratiti ponuđene opcije i pritiskati komandno dugme Next). Posle instalacije treba pokrenuti mikroc, a to se najjednostavnije ostvaruje klikom na ikonicu. Pisanje programa Na narednih nekoliko strana biće ilustrovan postupak pisanja kôda u mikroc-u (Slike 32-37) i generisanje fajlova posle prevođenja (kompilacije/kompajliranja). Slike dovoljno jasno ilustruju ceo proces, a komentari se nalaze ispod slika. 44

45 Slika 32. Kreiranje novog projekta preko opcije Project New Project Slika 33. Podešavanje parametara projekta (naziv mikrokontrolera, takta, reseta...) 45

46 Slika 34. U editor treba upisati program (kôd) mikrokontrolera Slika 35. U editor je unet program koji treba da se prevede 46

47 Slika 36. Kompajliranje programa preko komande Project Build Slika 37. Izgled prozora posle prevođenja sa izveštajem (Messages) 47

48 Slika 38. Nakon kompajliranja generiše se nekoliko fajlova: asemblerski kôd (ASM), heksadecimalni kôd (HEX), izveštaji itd. USART terminal Slika 39a. Izgled prozora kod USART komunikacionog terminala 48

49 Pokretanje internog softverskog terminala mikroc-a koji se koristi za komunikaciju računara i mikrokontrolera ostvaruje se na sledeći način: Tools USART Terminal. Na Slici 39a prikazan je izgled prozora USART terminala. Kao što se vidi, moguće je podesiti veći broj parametara. Navešćemo samo najvažnije: Serijski port (u padajućem meniju treba izabrati željeni serijski port, a kod standardnih računara to su COM1 i COM2) Brzina prenosa (za frekvenciju kvarca od 8MHz bira se bauda) Broj stop bitova (1, 1.5 i 2) Izbor parnosti (bez, parna, neparna itd.) Broj bitova koji čine karakter (5, 6, 7 ili 8) Uključivanje/isključivanje handshaking signala (RTS i DTR) Izbor formata podatka koji se šalje (ASCII, heksadecimalni - HEX ili dekadni - DEC) Način slanja (odmah po kucanju ili kada se klikne na opciju SEND) itd. Kada se podese parametri, terminal se startuje klikom na komandno dugme Connect. Odmah zatim, terminal je spreman da prihvati komande. Kada se završi komunikacija, treba kliknuti na komandno dugme Disconnect. Slika 39b. Izgled prozora kod HID komunikacionog terminala 49

50 HID terminal Pokretanje internog softverskog HID terminala mikroc-a koji se koristi za komunikaciju računara i mikrokontrolera ostvaruje se na sledeći način: Tools HID Terminal. Kada se priključi uređaj sa implementiranim HID standardom, u prozor HID Devices se automatski upisuje naziv tog uređaja. Na Slici 39b prikazan je izgled prozora HID terminala. Kao što se vidi, moguće je podesiti sledeće parametre: Izbor formata podatka koji se šalje (ASCII, heksadecimalni - HEX ili dekadni - DEC) Način slanja (odmah po kucanju ili kada se klikne na opciju SEND) itd. Unutar menija Descriptor moguće je podesiti još neke parametre, kojima se nećemo baviti. Razvojni sistem Easy PIC i program PIC FLASH Slika 39c. Izgled razvojnog sistema Easy PIC 50

51 Slika 39d. Izgled prozora kod PIC FLASH programa Programiranje mikrokontrolera PIC18F4550, tj upisivanje programa u njegovu flash memoriju, vrši se preko razvojnog sistema Easy PIC (prikazan na Slici 39c). Naime, mikrokontroler se postavi u 40 pinsko podnožje razvojnog sistema, a zatim se pokrene program PIC Flash preko kojeg se unosi odgovarajući heksadecimalni kod (komandno dugme Load Hex), pri čemu su podešeni parametri kao na Slici 39d. 51

52 /7/ REALIZACIJA PROJEKTA Slika 40a. Izgled blok-šeme realizovanog projekta Na Slici 40a je prikazana blok šema projekta, a na Slici 40b je data električna šema. Kao što može da se uoči, postoji dvostruka veza između mikrokontrolera PIC18F4550 i PC računara preko serijskog i preko USB porta. Mikrokontroler ujedno koristi napajanje iz USB porta računara (5V±0.25V). Tasterom 1 (T1) se resetuje mikrokontroler (pin MCLR), dok se Tasterom 2 (T2) zadaje START komanda. Tri režima rada realizovanog kola se definišu preko DIPSW2 prekidača. Na dva ulazna pina Porta A se dovode analogni naponi sa standardnog obrtnog potenciometra (PA0) i digitalnog SPI potenciometra (PA1). Inače, digitalnim potenciometrom čija je nominalna vrednost 10K se upravlja preko simuliranog SPI interfejsa mikrokontrolera (postoji biblioteka u programu mikroc) PIC18F4550 šalje 8-bitnu reč koja određuje vrednost otpornosti na «klizaču». Korak digitalnog potenciometra iznosi Ω (10K/ 2 8 ). Ako mu se pošalje sekvenca , otpornost na klizaču je 0, za otpornost na klizaču je Ω, za otpornost na klizaču je Ω itd. Ideja je da se odredi karakteristika A/D konvertora integrisanog u mikrokontroleru. Karakteristika će se izmeriti u 25 tačaka. Ujedno je moguće odrediti i ofset, kao i grešku pune skale A/D konvertora korišćenjem SPI potenciometra. Posle toga je moguće «ručno» vršiti A/D konverziju napona sa obrtnog potenciometra, uz kompenzaciju ofseta koji je određen u prethodnom koraku. 52

53 Slika 40b. Izgled električne šeme projekta Za komunikaciju PC računara i mikrokontrolera koriste se alati unutar softvera mikroc: USART Terminal (za komunikaciju preko serijskog porta), HID Terminal (za komunikaciju preko USB porta računara). (HID je skraćenica od Human Interface Device) USB port se može povezati direktno na mikrokontroler PIC18F4550, s obzirom da ovaj ima integrisani USB modul. Za dodatnu stabilizaciju DATA + i DATA- signala stavljeni su otpornici od 27Ω (videti [7] u poglavlju Literatura). Serijski port i mikrokontroler se sprežu preko interfejsnog kola MAX232, koje služi za prilagođenje naponskih nivoa. Na Slici 41a se nalaze relevantni blokovi (integrisana kola, tasteri, prekidači, konektori) na iskorišćenoj pločici za realizaciju ovog projekta (Slika 41b). Kada se tasterom T2 zada START komanda, onda mikrokontroler vrši jednu od tri operacije zavisno od toga koja je kombinacija zadata na prekidaču DIPSW2: 00 merenje ofseta i greške pune skale preko SPI potenciometra, 01 A/D konverzija napona izmerenog na potenciometru P1 sa bez softverskom kompenzacije ofseta i prikazom u USART terminalu programa mikroc, 10 A/D konverzija napona izmerenog na potenciometru P1 sa softverskom kompenzacijom ofseta i prikazom u u USART terminalu programa mikroc. Dakle, greška ofseta A/D konvertora se meri preko SPI potenciometra (kao što smo napomenuli), a simulacija SPI modula se ostvaruje preko gotove biblioteke iz softvera mikroc (pin C2 mikrokontrolera je ulazni signal, pin C1 je takt, a pin C0 izlazni signal SPI interfejsa). 53

54 Slika 41a. Raspored relevantnih blokova projekta na pločici Slika 41b. Štampana ploča koja je prepravljena za potrebe ovog projekta 54

55 Slika 42a. Izmerena karakteristika A/D konvertora merenjem napona na potenciometru Redni broj merenja V UL (V) 8-bitna reč na ADC-u Tabela 9. Rezultati merenja napona ADC-a 55

56 Sa grafika na Slici 42a uočavamo da karakteristika ADC-a pomalo odstupa od linearnosti, a naročito pri kraju opsega (oko 5V) kada dobija i kvadratnu (paraboličnu) komponentu. Međutim, ova nelinearnost je izuzetno mala, tj. zanemarljiva je za mnoge praktične primene. Punom linijom je prikazana aproksimacija karakteristike A/D konvertora (ADC). Vrednost ofseta je reda nekoliko mv (u našem slučaju je , što iznosi oko 9mV). Softverska kompenzacija ofseta se vrši tako što se od izmerene vrednosti napona na obrtnom potenciometru (10-bitni podatak) oduzme vrednost izmerenog ofseta preko digitalnog SPI potenciometra ( ). S obzirom da je USART terminal u softveru mikroc projektovan tako da prima podatke do 8 bitova, dva bita najniže težine se odbacuju (videti listing programa u mikroc-u). To znači, nezavisno da li je izmerena vrednost napona ili , USART terminal će primiti 8-bitni podatak Na Slici 42b je prikazana ukupna greška A/D konvertora koja predstavlja superpoziciju greške pojačanja (linearna) i diferencijalnu nelinearnost A/D konvertora. Kao što može da se primeti, ukupna greška (bez ofseta, koji je softverski komponzovan) ne prelazi vrednost ±LSB. (Detaljnije o greškama A/D konvertora je izloženo u 5. poglavlju ovog rada). Napomena: Za merenje napona je korišćen digimer MASTECH MS8201H. Slika 42b. Izmerena greška konverzije A/D konvertora mikroc program za projekat Za naš program je iskorišćena gotova biblioteka USBdsc.c iz mikroc-a koja omogućava da se mikrokontroler ponaša kao HID (Human Interface Device). 56

57 Slika 43a. Memorijska mapa mikrokontrolera Kod serije mikrokontrolera PIC18F memorija podataka je implementirana kao statički RAM. Svaki registar u ovoj memoriji ima 12-bitnu adresu. Celokupna memorija podataka je podeljena na 16 banki veličine od po 256 bajtova. Prvih 96 adresa (000h-05Fh) u okviru Banke 0 je rezervisano za pristup RAM-u, dok ostatak registara Banke 0, Banke 1-7 čine registri opšte namena (GPR). Istaći ćemo kako registri opšte namene GPR (1) služe kao RAM bafer za operacije USB modula mikrokontrolera. (Napomena: BSR je Bank Select Register, odnosno registar za selekciju banke.) U okviru Banke 15 prostor od 160 adresa (F60h-FFFh) rezervisan je za registre specijalne namene SFR (Special Function Registers), koji su prikazani na Slici 43b. Kao što može da se uoči na slici, ovi registri služe za definisanje ulaznih/izlaznih pinova portova mikrokontrolera (TRISA, TRISB, TRISC, TRISD, TRISE), stanja portova (PORTA, PORTB, PORTC, PORTD, PORTE), parametara internog A/D konvertora (ADCON1, ADCON2, ADCON3), stanja programskog brojača (PCL, PCLATH, PCLATU), tajmera, prekida itd. 57

58 Slika 43b. Mapa registara specijalne namene kod serije mikrokontrolera PIC18F Sada ćemo preko primera ilustrovati postavljanje smerova na Portu A: TRISA = 0b (PORTA je izlazni) TRISA = 0b (PORTA je ulazni) TRISA = 0b (A5:A3 su ulazni, a A2:A0 su izlazni pinovi). Ako je ADCON1 = 13 (odnosno ADCON1 = 0b1101), pinovi PA5-PA0 se definišu kao digitalni ulazi, a A1 A0 kao analogni ulazi (Slika 29). 58

59 Slika 43c. Algoritam programa upisanog u mikrokontroler PIC18F

60 Softver mikrokontrolera je napisan tako da izvršava beskonačnu petlju, pri čemu tokom svakog obilaska petlje se proverava da li se nešto promenilo (promena stanja na pinovima, prijem podatka sa serijskog porta i slično) i u skladu sa promenama se izvršavaju određene akcije Nadalje ćemo detaljno objasniti svaki blok algoritma prikazanog na Slici 43c. Varijable i, j PORT A je ulazni A5:A2 - digitalni pinovi A1:A0 - analogni pinovi Na samom početku treba definisati varijable i i j, koje se koriste u programu. Obe varijable su 8- bitne i «nose» informaciju o naponu koji se meri preko internog A/D konvertora mikrokontrolera. A1:A0 se definišu kao analogni ulazi Porta A (na njih se dovodi analogni naponi sa digitalnog i obrtnog potenciometra, respektivno), dok se A5:A2 definišu kao digitalni ulazi Porta A (pin A5 se ne koristi, na pin A4 je povezan START taster T2, dok je na pinove A3:A2 povezan DIPSW2 prekidač). Dakle, treba definisati ulaze i izlaze Porta A preko TRISA (adresa F92h) i koji su pinovi analogni ulazi, a koji digitalni (adresa FC1h). Inicijalizacija USART modula Inicijalizacija SPI modula Inicijalizacija USB modula Da bi se koristili USART, SPI i USB modul mikrokontrolera (videti Sliku 21), neophodno je da se izvrši njihova inicijalizacija. U okviru softvera mikroc postoje integrisane biblioteke koje omogućavaju komunikaciju USART i SPI modula. Za aktiviranje pomenuta dva modula koriste se instrukcije Usart_Init() i SPI_Init (), respektivno. (Adresni prostor koji je rezervisan za inicijalizaciju: 060h-3FFh.) Kada je u pitanju USB modul, koristi se poseban potprogram koji se nalazi u fajlu USBdsc.c zahvaljujući kome je omogućeno da se mikrokontroleru od strane računara pristupa kao HID (Human Interface Device) uređaju, o čemu je bilo reči na početku ovog poglavlja. Ako se primi podatak sa serijskog porta, isti treba da se prosledi ka USB portu Definisano je da kada mikrokontroler primi podatak sa serijskog porta računara, isti podatak treba da prosledi ka USB portu. Naime, podatak koji se pošalje iz USART terminala prihvata USART modul mikrokontrolera i preko USB modula ga ka HID terminalu (oba softverska terminala su opisana u 6. poglavlju rada). (Za operacije sa USB modulom mikrokontrolera rezervisane su adrese 0400h-7FFh u koje se smešta potprogram USBdsc.c.) 60

61 PA4= 0? Zavisno od stanja na pinu A4 mikrokontrolera, mikrokontroler će ispitati stanje prekidača DIPSW2 (naredni korak) ili će preskočiti ispitivanje. Za ovo ispitivanje se koristi standardna if petlja. Već je istaknuto kako je na ovaj pin povezan taster T2 kojim se definiše START operacija. Ukoliko je T2 pritisnut (PA4=0), onda se ispituje stanje DIPSW2 prekidača, a ako nije pritisnut preskače se procedura ispitivanja stanja DIPSW2 prekidača i prelazi se na blok kašnjenja (1s). (Adresni prostor koji je rezervisan za ove operacije je 060h-3FFh.) Kada se ispituje stanje DIPSW2 prekidača, relevantna su 3 stanja (00, 01 i 10), dok stanje 11 ne proizvodi nikakav efekat, tj. prelazi se na blok kašnjenja (1s). Ako je DIPSW2=00, mikrokontroler preko SPI modula (koji je softverski implementiran), određuje vrednost ofseta (za stanje digitalnog potenciometra ) i napona pune skale (za stanje digitalnog potenciometra ). Oba podatka se šalju preko USART modula mikrokontrolera ka USART terminalu. Ako je DIPSW2=01, mikrokontroler preko svog A/D konvertora meri napon na obrtnom potenciometru varijabla i, a zatim ga šalje preko USART modula ka USART terminalu. Ako je DIPSW2=10, mikrokontroler preko svog A/D konvertora meri napon ofseta A/D konvertora (preko digitalnog potenciometra) varijabla j, a zatim i na obrtnom potenciometru varijabla i. Kompenzacija ofseta se, dakle, vrši softverski (i:=i-j), a zatim se napon obrtnog potenciometra sa kompenzovanim ofsetom (i) šalje preko USART modula ka USART terminalu. 61

62 Kasnjenje 1s U okviru svakog obilaska beskonačne petlje nalazi se blok kašnjenja kojim je definisano kašnjenje od 1 sekunde (1000ms). Projektovano vreme od 1s je izvršeno na osnovu vremena potrebnog da se pritisne taster. (Tokom pisanja programa, prvobitno je ovo vreme projektovano na 500ms, zatim na 800ms, da bi se kao optimalno izabralo vreme od 1000ms.) Biblioteka USBdsc.c koja je smeštena u adresnom prostoru 0400h-7FFh ima sledeći listing: //****************************************************************************** // Verzija 1.01 //****************************************************************************** #include "Definit.h" // uključivanje 2 heksadecimalne #include "VARs.h" // bibilioteke //****************************************************************************** // Broj bajtova za svaki izveštaj, izračunat prema veličini izveštaja // i brojača izveštaja u okviru Deskriptora izveštaja //****************************************************************************** unsigned char const HID_INPUT_REPORT_BYTES = 1; unsigned char const HID_OUTPUT_REPORT_BYTES = 1; unsigned char const HID_FEATURE_REPORT_BYTES = 2; //****************************************************************************** // Konstrante veličine bajta //****************************************************************************** unsigned char const NUM_ENDPOINTS = 2; unsigned char const ConfigDescr_wTotalLength = USB_CONFIG_DESCRIPTOR_LEN + USB_INTERF_DESCRIPTOR_LEN + USB_HID_DESCRIPTOR_LEN + (NUM_ENDPOINTS * USB_ENDP_DESCRIPTOR_LEN); unsigned char const HID_ReportDesc_len = 47; unsigned char const Low_HID_ReportDesc_len = HID_ReportDesc_len; unsigned char const High_HID_ReportDesc_len = HID_ReportDesc_len >> 8; unsigned char const Low_HID_PACKET_SIZE = HID_PACKET_SIZE; unsigned char const High_HID_PACKET_SIZE = HID_PACKET_SIZE >> 8; //****************************************************************************** // Tablice deskriptora (opisa) //****************************************************************************** unsigned char const DescTables[USB_DEVICE_DESCRIPTOR_ALL_LEN*2] = { // Deskruiptor uređaja USB_DEVICE_DESCRIPTOR_LEN, 0, // blength-length iz Device descriptor (uvek je 0x12) USB_DEVICE_DESCRIPTOR_TYPE, 0, // bdescriptortype - 1 = DEVICE deskriptor 0x00, 0, // bcdusb - USB revision 2.00 (niži bajt) 0x02, 0, // - (viši bajt) 0x00, 0, //bdeviceclass - Zero znači da svaki od interfejsa radi nezavisno 62

63 0x00, 0, // bdevicesubclass 0x00, 0, // bdeviceprotocol EP0_PACKET_SIZE, 0, // bmaxpacketsize0 maksimalna veličina paketa podataka za // control transfer preko EP0 0x34, 0, // idvendor - Identifikacija prodavca (niži bajt) 0x12, 0, // (viši bajt) 0x01, 0, // idproduct - Identifikacija proizvoda (niži bajt) 0x00, 0, // (viši bajt) 0x01, 0, // bcddevice - (niži bajt) 0x00, 0, // (viši bajt) 0x01, 0, // imanufacturer - prvi string 0x02, 0, // iproduct - drugi string 0x00, 0, // iserialnumber - (bez) 0x01, 0, // bnumconfigurations - 1 // Deskriptor konfigurisanja USB_CONFIG_DESCRIPTOR_LEN, 0, // blength dužina Deskriptora konfigurisanja (uvek 0x09) USB_CONFIG_DESCRIPTOR_TYPE, 0, // bdescriptortype - 2 = Deskriptor konfigurisanja ConfigDescr_wTotalLength, 0, // wtotallength Ukupna dužina ovog konfiguracionog // deskriptora uvećana za deskriptore interfejsa i endpoint-a su sastavni delovi konfiguracije 0x00, 0, // (viši bajt) 0x01, 0, // bnuminterfaces - Broj interfejsa 0x01, 0, // bconfigurationvalue Konfiguraciona vrednost 0x00, 0, // iconfiguration - Indeks stringa za tu konfiguraciju ( bez ) 0xA0, 0, // bmattributes - atributi - "Bus powered" i "Remote wakeup" 50, 0, // MaxPower - povlačenje struje 50*2 ma iz bus-a. // Deskriptor Interfejsa USB_INTERF_DESCRIPTOR_LEN,0,// blength- dužina deskriptora interfejsa (uvek 0x09) USB_INTERFACE_DESCRIPTOR_TYPE,0, // bdescriptortype- 4 =INTERFACE deskriptor 0x00, 0, // binterfacenumber -broj interfejsa, 0 osnovni red 0x00, 0, // balternatesetting - naizmenično podešavanje NUM_ENDPOINTS, 0, // bnumendpoints - Broj endpoint-a korišćenih za ovaj interfejs 0x03, 0, // binterfaceclass - namenjen za USB 0x00, 0, // binterfacesubclass - Not A boot uređaj 0x00, 0, // binterfaceprotocol - bez 0x00, 0, // iinterface Indeks za deskriptor stringa koji opisuje ovaj interfejs (bez) // HID deskriptor USB_HID_DESCRIPTOR_LEN, 0, // blength - Dužina HID deskriptora (uvek 0x09) USB_HID_DESCRIPTOR_TYPE, 0, // bdescriptortype - 0x21 = HID deskriptor 0x01, 0, // HID klasa izbacuje broj (1.01) 0x01, 0, 0x00, 0, // Lokalizova kod države (bez) 0x01, 0, // # od HID deskriptora klase za praćenje (1) 0x22, 0, // Izveštaj za tip deskriptora (HID) Low_HID_ReportDesc_len, 0, High_HID_ReportDesc_len, 0, 63

64 // EP1_RX deskriptor USB_ENDP_DESCRIPTOR_LEN, 0, // blength - dužina deskriptora (uvek 0x07) USB_ENDPOINT_DESCRIPTOR_TYPE, 0, // bdescriptortype - 5 = ENDPOINT deskriptor 0x81, 0, // bendpointaddress - In, EP1 USB_ENDPOINT_TYPE_INTERRUPT, 0, // bmattributes - Endpoint tip - prekid Low_HID_PACKET_SIZE, 0, // wmaxpacketsize - maks. veličina paketa bajt nižeg // prioriteta High_HID_PACKET_SIZE, 0, // maks. veličina paketa bajt višeg prioriteta 1, 0, // binterval - interval prozivanja (1 ms) // EP1_TX deskriptor USB_ENDP_DESCRIPTOR_LEN, 0, // blength dužina deskriptora (uvek 0x07) USB_ENDPOINT_DESCRIPTOR_TYPE, 0, // bdescriptortype- 5 = ENDPOINT deskriptor 0x01, 0, // bendpointaddress - Out, EP1 USB_ENDPOINT_TYPE_INTERRUPT, 0, // bmattributes - Endpoint tip - prekid Low_HID_PACKET_SIZE, 0, // wmaxpacketsize - maks. veličina paketa - bajt //nižeg prioriteta High_HID_PACKET_SIZE, 0, // - max packet size - bajt višeg prioriteta 1, 0, // binterval - interval prozivanja (1 ms) // Deskriptor HID izveštaja 0x06, 0, // USAGE_PAGE (Definisanje prodavca) 0xA0, 0, 0xFF, 0, 0x09, 0, // USAGE ID 0x01, 0, 0xA1, 0, // COLLECTION (Aplikacija) 0x01, 0, // Ulazni izveštaj 0x09, 0, // USAGE ID 0x03, 0, 0x15, 0, // LOGICAL_MINIMUM (0) 0x00, 0, 0x26, 0, // LOGICAL_MAXIMUM (255) 0x00, 0, 0xFF, 0, 0x75, 0, // REPORT_SIZE (8) 0x08, 0, 0x95, 0, // REPORT_COUNT (2) HID_INPUT_REPORT_BYTES, 0, 0x81, 0, // INPUT (Data,Var,Abs) 0x02, 0, // Izlazni izveštaj 0x09, 0, // USAGE ID - (Definisanje prodavca) 0x04, 0, 0x15, 0, // LOGICAL_MINIMUM (0) 0x00, 0, 0x26, 0, // LOGICAL_MAXIMUM (255) 0x00, 0, 0xFF, 0, 64

65 0x75, 0, // REPORT_SIZE (8) 0x08, 0, 0x95, 0, // REPORT_COUNT (2) HID_OUTPUT_REPORT_BYTES, 0, 0x91, 0, // OUTPUT (Data,Var,Abs) 0x02, 0, // Izveštaj sa karakteristikama 0x09, 0, // USAGE ID - (Definisanje prodavca) 0x05, 0, 0x15, 0, // LOGICAL_MINIMUM (0) 0x00, 0, 0x26, 0, // LOGICAL_MAXIMUM (255) 0x00, 0, 0xFF, 0, 0x75, 0, // REPORT_SIZE (8) 0x08, 0, 0x95, 0, // REPORT_COUNT (2) HID_FEATURE_REPORT_BYTES, 0, 0xB1, 0, // FEATURE (Data,Var,Abs) 0x02, 0, // Kraj skupa 0xC0, 0 }; //****************************************************************************** unsigned char const LangIDDescr[8] = { 0x04, 0, USB_STRING_DESCRIPTOR_TYPE, 0, 0x09, 0, // LangID (0x0409) - niži 0x04, 0 // - viši }; //****************************************************************************** unsigned char const ManufacturerDescr[4] = { 0, 0, USB_STRING_DESCRIPTOR_TYPE, 0, }; //****************************************************************************** unsigned char const ProductDescr[4] = { 0, 0, USB_STRING_DESCRIPTOR_TYPE, 0, }; //****************************************************************************** unsigned char const StrUnknownDescr[4] = { 2, 0, USB_STRING_DESCRIPTOR_TYPE, 0 }; //****************************************************************************** // Inicijalizacija USB modula //****************************************************************************** 65

66 void InitUSBdsc() { Byte_tmp_0[0] = NUM_ENDPOINTS; Byte_tmp_0[0] = ConfigDescr_wTotalLength; Byte_tmp_0[0] = HID_ReportDesc_len; Byte_tmp_0[0] = Low_HID_ReportDesc_len; Byte_tmp_0[0] = High_HID_ReportDesc_len; Byte_tmp_0[0] = Low_HID_PACKET_SIZE; Byte_tmp_0[0] = High_HID_PACKET_SIZE; DescTables; LangIDDescr; //Opis proizvođača; ProductDescr; StrUnknownDescr; } //****************************************************************************** Listing Programa koji vrši postavljene zadatke unsigned char userwr_buffer[1]; unsigned short i; unsigned short j; // (adresni prostor 060h-3FFh) // Definisanje ulaznog bafera USB porta // Definisanje 8/bitne varijable i // Definisanje 8/bitne varijable j // Pozivanje glavne prekidne rutina (iz USBdsc) void interrupt() { HID_InterruptProc(); // (adresni prostor 0400h-7FFh) } // Pocetak glavnog programa void main() { // (adresni prostor 060h-3FFh) TRISA = 0b111111; ADCON1 = 13; Usart_Init(2400); SPI_Init (); // Definisanje svih pinova Porta A kao ulaznih (adresa F92h) // Pinovi A5:A0 su digitalni, a A1:A0 analogni (adresa FC1h) // Inicijalizacija USART modula (adresni prostor 060h-3FFh) // Inicijalizacija SPI modula, standardni parametri HID_Enable(&userWR_buffer, &userwr_buffer); // Dozvola za upisni USB bafer (adresni // prostor 0400h-7FFh) do { // (adresni prostor 060h-3FFh) 66

67 if (Usart_Data_Ready()) { // Kada mikrokontroler primi podatak od USART terminala, i = Usart_Read(); // memoriše ga u varijablu i, Usart_Write(i); // zatim primljeni podatak vraća ka USART terminalu i HID_Write(&i, 1); //ujedno ga prosledjuje ka HID terminalu (adresni // prostor 0400h-7FFh) } // (adresni prostor 060h-3FFh) if (PORTA.F4 == 0) { //Ako je taster T2 pritisnut, if (PORTA.F2 == 0 && PORTA.F3 == 0) { // i ako vazi uslov, SPI_Write(0x00); i = ADC_Read(1) >> 2; // procitaj vrednost ofseta preko SPI Usart_Write(i); // i posalji ka USART terminalu, SPI_Write(0xFF); i = ADC_Read(1) >> 2; // procitaj vrednost napona pune skale preko SPI Usart_Write(i); // i posalji ka USART terminalu; } // Dva bita najmanje tezine se odbacuju (>>2) if (PORTA.F2 == 0 && PORTA.F3 == 1) { // i ako vazi uslov, i = ADC_Read(0) >> 2; // procitaj vrednost napona na obrtnom potenciometru Usart_Write(i); // i posalji 8-bitni podatak ka USART terminalu; } if (PORTA.F2 == 1 && PORTA.F3 == 0) { // i ako vazi uslov, j = ADC_Read(1); // procitaj vrednost ofseta i = ADC_Read(0); // procitaj vrednost napona na obrtnom potenciometru i = i - j; // izvrsi kompenzaciju ofseta i = i >> 2; // Odbaci dva bita najmanje tezine (>>2) Usart_Write(i); // i posalji podatak ka USART terminalu; } } Delay_ms(1000); // Kašnjenje 1s (1000 ms) } while (1); // Kraj beskonacne petlje HID_Disable(); // Zabrana za upisni USB bafer } 67

68 /8/ LABORATORIJSKA VEŽBA Priključiti pločicu na USB port i serijski port računara, preko odgovarajućih kablova Neposredno po priključivanju na USB port računara, uključiće se crvena LED. Pokrenuti USART terminal iz programa mikroc na način prikazan u petom poglavlju Tools USART Terminal. Podesiti USART terminala (ilustrovano na Slici 44): o COM1 ili COM2 (zavisno na koji port je povezana pločica) o Brzina Bauda, 1 stop-bit (One Stop Bit), Space bit parnosti (Parity), osam bitova čini karakter/podatak (Data bits), uključen RTS (On) o Podesićemo da se od strane mikrokontrolera primaju heksadecimalni (HEX) podaci; međutim, terminal može da prikaže i prijem ASCII ili dekadnih (DEC) karaktera. Podešavanje ovog parametra izvršiti u dogovoru sa predmetnim asistentom. Slika 44. Podešavanje parametara USART terminala Pokrenuti HID terminal iz programa mikroc na način prikazan u petom poglavlju Tools HID Terminal. 68

69 Slika 45. Prozor HID terminala Ukoliko želite da proverite da li je računar prepoznao mikrokontroler koji radi u režimu HID (Human Interface Device), uđite u Device Manager (Control Panel System Device Manager). Sve je ilustrovano na Slici 46. Iz prozora USART terminala šaljite sekvence različitih formata (ASCII, HEX, DEC) prema HID terminalu. Vodite računa da formati podataka budu identični u oba terminala (ASCII i ASCII, HEX i HEX, DEC i DEC). Sva tri pristupa slanja su ilustrovana na Slikama Posebno obratite da je prilikom slanja ASCII karaktera izabrana/čekirana opcija Send as typing u USART terminalu, dok je prilikom slanja dekadnih brojeva DEC (u opsegu koji je dozvoljen: 0-255) izabrana/čekirana opcija Send as number. Između svaka 2 menjanja formata podataka, potrebno je da obrišete prethodna stanja iz prozora USART terminala (opcija Clear History ) i HID terminala Clear Rcv). 69

70 Slika 46. Računar je detektovao HID (Human Interface Device) 70

71 Slika 47. Slanje ASCII karaktera 71

72 Slika 48. Slanje heksadecimalnih (HEX) karaktera 72

73 Slika 49. Slanje dekadnih (DEC) brojeva u opsegu

74 Isključiti HID terminala na način ilustrovan na Slici 50 (desni klik miša na komandnu liniju i biranje opcije Close). Ovo je pouzdaniji metod isključivanja HID terminala, nego li preko X u gornjem desnom uglu prozora. Naime, u drugom slučaju se dešava da HID terminal blokira računar pa mora da se resetuje. Slika 50. Isključivanje HID terminala Pritiskom na taster T2 odrediti ofset i grešku pune skale preko SPI potenciometra. U idealnom slučaju, ofset treba da bude 0x00, a napon pune skale 0xFF. Sve je ilustrovano na Slici 51. (Izmerena greška ofseta je 0x10, a greška pune skale 0xFE). Pošto je u pitanju 10-bitna reč (u pitanju je 10-bitni A/D konvertor), a USART terminal prepoznaje samo 8-bitne reči, 2 najviša bita se programski (u mikrokontroleru) odbacuju. Ispitati linearnost prenosne karakteristike ADC sa sukcesivnim aproksimacijama u bar 20 tačaka zaokretanjem obrtnog potenciometra. (Zaokrenite najpre potenciometar, a zatim pritisnite taster T2). Ilustracija je na Slici 51 (3 stanja: 0x00, 0x52 i 0xFF). Postaviti DIPSW2 prekidač u stanje 10. Ispitati linearnost ADC sa sukcesivnim aproksimacijama (za ova stanja prekidača ofset je softverski kompenzovan). 74

75 Slika 51. Ilustracija čitanja stanja na potenciometrima Ispitati linearnost prenosne karakteristike ADC sa sukcesivnim aproksimacijama za ovaj slučaj u bar 20 tačaka zaokretanjem obrtnog potenciometra. (Zaokrenite, najpre, obrtni potenciometar, a zatim pritisnite taster T2). Po završetku zadataka, isključite USART terminal. A/D konverzija sa objašnjenjem Podatak koji se dobije u prozoru UART terminala treba transformisati u dekadni (ukoliko je izabran parametar HEX u prozoru terminala), a zatim primeniti formulu: V A = ( xx) DEC 5 V Ukoliko je, na primer, pročitana heksadecimalna vrednost (0x10) HEX, odnosno dekadna vrednost (16) DEC, to znači da je izmeren napon: 75

76 ( 16 ) DEC V A = 5 V = 255 0, 3137V. Tabela 10. ASCII kôdovi 76

77 PRILOZI 77

78 78

79 79

80 80

81 81

82 82

83 83

84 LITERATURA [1] PIC18F4550, DATASHEET, Microchip Tecnology Inc, [2] MCP410XX, DATASHEET, Microchip Tecnology Inc, [3] SPREGA MIKROKONTROLERA PIC16F877 SA PARALELNIM PERIFERIJSKIM INTERFEJSOM 8255A I D/A KONVERTOROM DAC0832LCV, S. Stoilković, M.Pavlović, S. Popović, Elektronski fakultet Niš (Seminarski rad), [4] SIMULACIJA PLC KONTROLERA PREKO MIKROKONTROLERA PIC16F877, M. Mladenović, A. Petrović, I. Stojanović, Elektronski fakultet Niš (seminarski rad), [5] UVOD U SERIJSKI PORT, Vojo Milanović, [6] UVOD U USB PORT, Vojo Milanović, [7] USB EKSPERIMENTALNO KOLO SA PIC 18F4550, Vojo Milanović, [8] USB PORT, Elektrotehnički fakultet Podgorica, [9] mikroc Help, Mikroelektronika, 84

85 CIRRICULUM VITAE Prezime: Ime: Andrejić Ana Adresa stanovanja: Šarbanovačka br. 25 Brestovac, Bor adresa: Datum rođenja: Nacionalnost: Obrazovanje: Kompletna ili stepenovana diploma: Srpska Gimnazija Bora Stanković, Bor IV stepen Poznavanje jezika: Vozačka dozvola: Rad na računaru: Napomene: Lične sposobnosti Engleski (odlično) Francuski (vrlo dobro) MS WINDOWS, MS OFFICE, COREL, PHOTOSHOP, VISIO, mikroc Završena jednomesečna stručna praksa u okviru studija u Telekomu - Niš. Odgovornost, energičnost, ambicioznost, inovativnost, spremnost za timski rad, sposobnost organizacije, pregovaracke sposobnosti, sposobnost za brzo učenje i usavršavanje. 85

86 Prezime: Ranđelović Ime: Magdalena Adresa stanovanja: Jadranska 16, Niš adresa: Datum rođenja: Nacionalnost: Srpska Obrazovanje: Kompletna ili stepenovana diploma: Poznavanje jezika: Vozačka dozvola: Rad na računaru: Posebna interesovanja: Gimnazija Bora Stanković, Niš IV stepen Engleski (dobro) B kategorija WINDOWS (98/2K/XP/VISTA), MS OFFICE, mikroc Telekomunikacione mreže i sistemi, optički sistemi... 86

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka

UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET SIGNALI I SISTEMI. Zbirka zadataka UNIVERZITET U NIŠU ELEKTRONSKI FAKULTET Goran Stančić SIGNALI I SISTEMI Zbirka zadataka NIŠ, 014. Sadržaj 1 Konvolucija Literatura 11 Indeks pojmova 11 3 4 Sadržaj 1 Konvolucija Zadatak 1. Odrediti konvoluciju

Διαβάστε περισσότερα

3.1 Granična vrednost funkcije u tački

3.1 Granična vrednost funkcije u tački 3 Granična vrednost i neprekidnost funkcija 2 3 Granična vrednost i neprekidnost funkcija 3. Granična vrednost funkcije u tački Neka je funkcija f(x) definisana u tačkama x za koje je 0 < x x 0 < r, ili

Διαβάστε περισσότερα

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju RAČUN OSTATAKA 1 1 Prsten celih brojeva Z := N + {} N + = {, 3, 2, 1,, 1, 2, 3,...} Osnovni primer. (Z, +,,,, 1) je komutativan prsten sa jedinicom: sabiranje (S1) asocijativnost x + (y + z) = (x + y)

Διαβάστε περισσότερα

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA.

nvt 1) ukoliko su poznate struje dioda. Struja diode D 1 je I 1 = I I 2 = 8mA. Sada je = 1,2mA. IOAE Dioda 8/9 I U kolu sa slike, diode D su identične Poznato je I=mA, I =ma, I S =fa na 7 o C i parametar n= a) Odrediti napon V I Kolika treba da bude struja I da bi izlazni napon V I iznosio 5mV? b)

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA

OSNOVI ELEKTRONIKE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA ELEKTROTEHNIČKI FAKULTET U BEOGRADU KATEDRA ZA ELEKTRONIKU OSNOVI ELEKTRONIKE SVI ODSECI OSIM ODSEKA ZA ELEKTRONIKU LABORATORIJSKE VEŽBE VEŽBA BROJ 1 OSNOVNA KOLA SA DIODAMA Autori: Goran Savić i Milan

Διαβάστε περισσότερα

numeričkih deskriptivnih mera.

numeričkih deskriptivnih mera. DESKRIPTIVNA STATISTIKA Numeričku seriju podataka opisujemo pomoću Numeričku seriju podataka opisujemo pomoću numeričkih deskriptivnih mera. Pokazatelji centralne tendencije Aritmetička sredina, Medijana,

Διαβάστε περισσότερα

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti).

PRAVA. Prava je u prostoru određena jednom svojom tačkom i vektorom paralelnim sa tom pravom ( vektor paralelnosti). PRAVA Prava je kao i ravan osnovni geometrijski ojam i ne definiše se. Prava je u rostoru određena jednom svojom tačkom i vektorom aralelnim sa tom ravom ( vektor aralelnosti). M ( x, y, z ) 3 Posmatrajmo

Διαβάστε περισσότερα

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno.

VJEŽBE 3 BIPOLARNI TRANZISTORI. Slika 1. Postoje npn i pnp bipolarni tranziostori i njihovi simboli su dati na slici 2 i to npn lijevo i pnp desno. JŽ 3 POLAN TANZSTO ipolarni tranzistor se sastoji od dva pn spoja kod kojih je jedna oblast zajednička za oba i naziva se baza, slika 1 Slika 1 ipolarni tranzistor ima 3 izvoda: emitor (), kolektor (K)

Διαβάστε περισσότερα

Kaskadna kompenzacija SAU

Kaskadna kompenzacija SAU Kaskadna kompenzacija SAU U inženjerskoj praksi, naročito u sistemima regulacije elektromotornih pogona i tehnoloških procesa, veoma često se primenjuje metoda kaskadne kompenzacije, u čijoj osnovi su

Διαβάστε περισσότερα

Ispitivanje toka i skiciranje grafika funkcija

Ispitivanje toka i skiciranje grafika funkcija Ispitivanje toka i skiciranje grafika funkcija Za skiciranje grafika funkcije potrebno je ispitati svako od sledećih svojstava: Oblast definisanosti: D f = { R f R}. Parnost, neparnost, periodičnost. 3

Διαβάστε περισσότερα

Elementi spektralne teorije matrica

Elementi spektralne teorije matrica Elementi spektralne teorije matrica Neka je X konačno dimenzionalan vektorski prostor nad poljem K i neka je A : X X linearni operator. Definicija. Skalar λ K i nenula vektor u X se nazivaju sopstvena

Διαβάστε περισσότερα

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA

STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Katedra za elektroniku Elementi elektronike Laboratorijske vežbe Vežba br. 2 STATIČKE KARAKTERISTIKE DIODA I TRANZISTORA Datum: Vreme: Studenti: 1. grupa 2. grupa Dežurni: Ocena: Elementi elektronike -

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić

OSNOVI ELEKTRONIKE. Vežbe (2 časa nedeljno): mr Goran Savić OSNOVI ELEKTRONIKE Vežbe (2 časa nedeljno): mr Goran Savić savic@el.etf.rs http://tnt.etf.rs/~si1oe Termin za konsultacije: četvrtak u 12h, kabinet 102 Referentni smerovi i polariteti 1. Odrediti vrednosti

Διαβάστε περισσότερα

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) IV deo. Miloš Marjanović Univerzitet u Nišu Elektronski fakultet RAČUNSKE VEŽBE IZ PREDMETA (IV semestar modul EKM) IV deo Miloš Marjanović MOSFET TRANZISTORI ZADATAK 35. NMOS tranzistor ima napon praga V T =2V i kroz njega protiče

Διαβάστε περισσότερα

Operacije s matricama

Operacije s matricama Linearna algebra I Operacije s matricama Korolar 3.1.5. Množenje matrica u vektorskom prostoru M n (F) ima sljedeća svojstva: (1) A(B + C) = AB + AC, A, B, C M n (F); (2) (A + B)C = AC + BC, A, B, C M

Διαβάστε περισσότερα

III VEŽBA: FURIJEOVI REDOVI

III VEŽBA: FURIJEOVI REDOVI III VEŽBA: URIJEOVI REDOVI 3.1. eorijska osnova Posmatrajmo neki vremenski kontinualan signal x(t) na intervalu definisati: t + t t. ada se može X [ k ] = 1 t + t x ( t ) e j 2 π kf t dt, gde je f = 1/.

Διαβάστε περισσότερα

Obrada signala

Obrada signala Obrada signala 1 18.1.17. Greška kvantizacije Pretpostavka je da greška kvantizacije ima uniformnu raspodelu 7 6 5 4 -X m p x 1,, za x druge vrednosti x 3 x X m 1 X m = 3 x Greška kvantizacije x x x p

Διαβάστε περισσότερα

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović

DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović DISKRETNA MATEMATIKA - PREDAVANJE 7 - Jovanka Pantović Novi Sad April 17, 2018 1 / 22 Teorija grafova April 17, 2018 2 / 22 Definicija Graf je ure dena trojka G = (V, G, ψ), gde je (i) V konačan skup čvorova,

Διαβάστε περισσότερα

Teorijske osnove informatike 1

Teorijske osnove informatike 1 Teorijske osnove informatike 1 9. oktobar 2014. () Teorijske osnove informatike 1 9. oktobar 2014. 1 / 17 Funkcije Veze me du skupovima uspostavljamo skupovima koje nazivamo funkcijama. Neformalno, funkcija

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012

Iskazna logika 3. Matematička logika u računarstvu. novembar 2012 Iskazna logika 3 Matematička logika u računarstvu Department of Mathematics and Informatics, Faculty of Science,, Serbia novembar 2012 Deduktivni sistemi 1 Definicija Deduktivni sistem (ili formalna teorija)

Διαβάστε περισσότερα

Industrijski sistemi i protokoli - Asinhroni serijski prenos podataka -

Industrijski sistemi i protokoli - Asinhroni serijski prenos podataka - Industrijski sistemi i protokoli asinhroni serijski prenos podataka 1 Industrijski sistemi i protokoli - Asinhroni serijski prenos podataka - 1 Uvod u asinhrone serijske protokole... 2 2 RS232 protokol...

Διαβάστε περισσότερα

Otpornost R u kolu naizmjenične struje

Otpornost R u kolu naizmjenične struje Otpornost R u kolu naizmjenične struje Pretpostavimo da je otpornik R priključen na prostoperiodični napon: Po Omovom zakonu pad napona na otporniku je: ( ) = ( ω ) u t sin m t R ( ) = ( ) u t R i t Struja

Διαβάστε περισσότερα

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla

XI dvoqas veжbi dr Vladimir Balti. 4. Stabla XI dvoqas veжbi dr Vladimir Balti 4. Stabla Teorijski uvod Teorijski uvod Definicija 5.7.1. Stablo je povezan graf bez kontura. Definicija 5.7.1. Stablo je povezan graf bez kontura. Primer 5.7.1. Sva stabla

Διαβάστε περισσότερα

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A Ime i prezime: 1. Prikazane su tačke A, B i C i prave a,b i c. Upiši simbole Î, Ï, Ì ili Ë tako da dobijeni iskazi

Διαβάστε περισσότερα

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI)

IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) IZRAČUNAVANJE POKAZATELJA NAČINA RADA NAČINA RADA (ISKORIŠĆENOSTI KAPACITETA, STEPENA OTVORENOSTI RADNIH MESTA I NIVOA ORGANIZOVANOSTI) Izračunavanje pokazatelja načina rada OTVORENOG RM RASPOLOŽIVO RADNO

Διαβάστε περισσότερα

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo

Elektrotehnički fakultet univerziteta u Beogradu 17.maj Odsek za Softversko inžinjerstvo Elektrotehnički fakultet univerziteta u Beogradu 7.maj 009. Odsek za Softversko inžinjerstvo Performanse računarskih sistema Drugi kolokvijum Predmetni nastavnik: dr Jelica Protić (35) a) (0) Posmatra

Διαβάστε περισσότερα

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA

FTN Novi Sad Katedra za motore i vozila. Teorija kretanja drumskih vozila Vučno-dinamičke performanse vozila: MAKSIMALNA BRZINA : MAKSIMALNA BRZINA Maksimalna brzina kretanja F O (N) F OI i m =i I i m =i II F Oid Princip određivanja v MAX : Drugi Njutnov zakon Dokle god je: F O > ΣF otp vozilo ubrzava Kada postane: F O = ΣF otp

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo) Najpre da se podsetimo tablice i osnovnih pravila:. C`=0. `=. ( )`= 4. ( n )`=n n-. (a )`=a lna 6. (e )`=e 7. (log a )`= 8. (ln)`= ` ln a (>0) 9. = ( 0) 0. `= (>0) (ovde je >0 i a

Διαβάστε περισσότερα

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f

IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f IspitivaƬe funkcija: 1. Oblast definisanosti funkcije (ili domen funkcije) D f 2. Nule i znak funkcije; presek sa y-osom IspitivaƬe

Διαβάστε περισσότερα

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa?

I.13. Koliki je napon između neke tačke A čiji je potencijal 5 V i referentne tačke u odnosu na koju se taj potencijal računa? TET I.1. Šta je Kulonova sila? elektrostatička sila magnetna sila c) gravitaciona sila I.. Šta je elektrostatička sila? sila kojom međusobno eluju naelektrisanja u mirovanju sila kojom eluju naelektrisanja

Διαβάστε περισσότερα

18. listopada listopada / 13

18. listopada listopada / 13 18. listopada 2016. 18. listopada 2016. 1 / 13 Neprekidne funkcije Važnu klasu funkcija tvore neprekidne funkcije. To su funkcije f kod kojih mala promjena u nezavisnoj varijabli x uzrokuje malu promjenu

Διαβάστε περισσότερα

41. Jednačine koje se svode na kvadratne

41. Jednačine koje se svode na kvadratne . Jednačine koje se svode na kvadrane Simerične recipročne) jednačine Jednačine oblika a n b n c n... c b a nazivamo simerične jednačine, zbog simeričnosi koeficijenaa koeficijeni uz jednaki). k i n k

Διαβάστε περισσότερα

SISTEMI NELINEARNIH JEDNAČINA

SISTEMI NELINEARNIH JEDNAČINA SISTEMI NELINEARNIH JEDNAČINA April, 2013 Razni zapisi sistema Skalarni oblik: Vektorski oblik: F = f 1 f n f 1 (x 1,, x n ) = 0 f n (x 1,, x n ) = 0, x = (1) F(x) = 0, (2) x 1 0, 0 = x n 0 Definicije

Διαβάστε περισσότερα

Računarska grafika. Rasterizacija linije

Računarska grafika. Rasterizacija linije Računarska grafika Osnovni inkrementalni algoritam Drugi naziv u literaturi digitalni diferencijalni analizator (DDA) Pretpostavke (privremena ograničenja koja se mogu otkloniti jednostavnim uopštavanjem

Διαβάστε περισσότερα

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je,

PARCIJALNI IZVODI I DIFERENCIJALI. Sama definicija parcijalnog izvoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, PARCIJALNI IZVODI I DIFERENCIJALI Sama definicija parcijalnog ivoda i diferencijala je malo teža, mi se njome ovde nećemo baviti a vi ćete je, naravno, naučiti onako kako vaš profesor ahteva. Mi ćemo probati

Διαβάστε περισσότερα

Algoritmi zadaci za kontrolni

Algoritmi zadaci za kontrolni Algoritmi zadaci za kontrolni 1. Nacrtati algoritam za sabiranje ulaznih brojeva a i b Strana 1 . Nacrtati algoritam za izračunavanje sledeće funkcije: x y x 1 1 x x ako ako je : je : x x 1 x x 1 Strana

Διαβάστε περισσότερα

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x

2 tg x ctg x 1 = =, cos 2x Zbog četvrtog kvadranta rješenje je: 2 ctg x Zadatak (Darjan, medicinska škola) Izračunaj vrijednosti trigonometrijskih funkcija broja ako je 6 sin =,,. 6 Rješenje Ponovimo trigonometrijske funkcije dvostrukog kuta! Za argument vrijede sljedeće formule:

Διαβάστε περισσότερα

INTELIGENTNO UPRAVLJANJE

INTELIGENTNO UPRAVLJANJE INTELIGENTNO UPRAVLJANJE Fuzzy sistemi zaključivanja Vanr.prof. Dr. Lejla Banjanović-Mehmedović Mehmedović 1 Osnovni elementi fuzzy sistema zaključivanja Fazifikacija Baza znanja Baze podataka Baze pravila

Διαβάστε περισσότερα

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost

M086 LA 1 M106 GRP. Tema: Baza vektorskog prostora. Koordinatni sustav. Norma. CSB nejednakost M086 LA 1 M106 GRP Tema: CSB nejednakost. 19. 10. 2017. predavač: Rudolf Scitovski, Darija Marković asistent: Darija Brajković, Katarina Vincetić P 1 www.fizika.unios.hr/grpua/ 1 Baza vektorskog prostora.

Διαβάστε περισσότερα

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola.

KVADRATNA FUNKCIJA. Kvadratna funkcija je oblika: Kriva u ravni koja predstavlja grafik funkcije y = ax + bx + c. je parabola. KVADRATNA FUNKCIJA Kvadratna funkcija je oblika: = a + b + c Gde je R, a 0 i a, b i c su realni brojevi. Kriva u ravni koja predstavlja grafik funkcije = a + b + c je parabola. Najpre ćemo naučiti kako

Διαβάστε περισσότερα

ELEKTROTEHNIČKI ODJEL

ELEKTROTEHNIČKI ODJEL MATEMATIKA. Neka je S skup svih živućih državljana Republike Hrvatske..04., a f preslikavanje koje svakom elementu skupa S pridružuje njegov horoskopski znak (bez podznaka). a) Pokažite da je f funkcija,

Διαβάστε περισσότερα

L E M I L I C E LEMILICA WELLER WHS40. LEMILICA WELLER SP25 220V 25W Karakteristike: 220V, 25W, VRH 4,5 mm Tip: LEMILICA WELLER. Tip: LEMILICA WELLER

L E M I L I C E LEMILICA WELLER WHS40. LEMILICA WELLER SP25 220V 25W Karakteristike: 220V, 25W, VRH 4,5 mm Tip: LEMILICA WELLER. Tip: LEMILICA WELLER L E M I L I C E LEMILICA WELLER SP25 220V 25W Karakteristike: 220V, 25W, VRH 4,5 mm LEMILICA WELLER SP40 220V 40W Karakteristike: 220V, 40W, VRH 6,3 mm LEMILICA WELLER SP80 220V 80W Karakteristike: 220V,

Διαβάστε περισσότερα

Zavrxni ispit iz Matematiqke analize 1

Zavrxni ispit iz Matematiqke analize 1 Građevinski fakultet Univerziteta u Beogradu 3.2.2016. Zavrxni ispit iz Matematiqke analize 1 Prezime i ime: Broj indeksa: 1. Definisati Koxijev niz. Dati primer niza koji nije Koxijev. 2. Dat je red n=1

Διαβάστε περισσότερα

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama. a b Verovatno a da sluqajna promenljiva X uzima vrednost iz intervala

Διαβάστε περισσότερα

5 Ispitivanje funkcija

5 Ispitivanje funkcija 5 Ispitivanje funkcija 3 5 Ispitivanje funkcija Ispitivanje funkcije pretodi crtanju grafika funkcije. Opšti postupak ispitivanja funkcija koje su definisane eksplicitno y = f() sadrži sledeće elemente:

Διαβάστε περισσότερα

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log =

2log. se zove numerus (logaritmand), je osnova (baza) log. log. log = ( > 0, 0)!" # > 0 je najčešći uslov koji postavljamo a još je,, > 0 se zove numerus (aritmand), je osnova (baza). 0.. ( ) +... 7.. 8. Za prelazak na neku novu bazu c: 9. Ako je baza (osnova) 0 takvi se

Διαβάστε περισσότερα

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15

MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 MATRICE I DETERMINANTE - formule i zadaci - (Matrice i determinante) 1 / 15 Matrice - osnovni pojmovi (Matrice i determinante) 2 / 15 (Matrice i determinante) 2 / 15 Matrice - osnovni pojmovi Matrica reda

Διαβάστε περισσότερα

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo IZVODI ZADACI ( IV deo) LOGARITAMSKI IZVOD Logariamskim izvodom funkcije f(), gde je >0 i, nazivamo izvod logarima e funkcije, o jes: (ln ) f ( ) f ( ) Primer. Nadji izvod funkcije Najpre ćemo logarimovai

Διαβάστε περισσότερα

5. Karakteristične funkcije

5. Karakteristične funkcije 5. Karakteristične funkcije Profesor Milan Merkle emerkle@etf.rs milanmerkle.etf.rs Verovatnoća i Statistika-proleće 2018 Milan Merkle Karakteristične funkcije ETF Beograd 1 / 10 Definicija Karakteristična

Διαβάστε περισσότερα

MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA

MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA MERNO-AKVIZICIONI SISTEMI U INDUSTRIJI A/D KONVERTORI SA SUKCESIVNIM APROKSIMACIJAMA 1 1. OSNOVE SAR A/D KONVERTORA najčešće se koristi kada su u pitanju srednje brzine konverzije od nekoliko µs do nekoliko

Διαβάστε περισσότερα

Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A

Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A VISOKA POSLOVNA ŠKOLA STRUKOVNIH STUDIJA ČAČAK MASTER RAD Simulacija PLC kontrolera preko mikrokontrolera PIC16F877A Mentor: Profesor: Student: Br.Indeksa: Mesto, mesec, godina ELEKTRONSKI FAKULTET Katedra

Διαβάστε περισσότερα

Eliminacijski zadatak iz Matematike 1 za kemičare

Eliminacijski zadatak iz Matematike 1 za kemičare Za mnoge reakcije vrijedi Arrheniusova jednadžba, koja opisuje vezu koeficijenta brzine reakcije i temperature: K = Ae Ea/(RT ). - T termodinamička temperatura (u K), - R = 8, 3145 J K 1 mol 1 opća plinska

Διαβάστε περισσότερα

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011.

INTEGRALNI RAČUN. Teorije, metodike i povijest infinitezimalnih računa. Lucija Mijić 17. veljače 2011. INTEGRALNI RAČUN Teorije, metodike i povijest infinitezimalnih računa Lucija Mijić lucija@ktf-split.hr 17. veljače 2011. Pogledajmo Predstavimo gornju sumu sa Dodamo još jedan Dobivamo pravokutnik sa Odnosno

Διαβάστε περισσότερα

ANALIZA RADA 6T_SRAM I 1T_DRAM MEMORIJSKE ĆELIJE

ANALIZA RADA 6T_SRAM I 1T_DRAM MEMORIJSKE ĆELIJE KATEDRA ZA ELEKTRONIKU Laboratorijske vežbe DIGITALNA ELEKTRONIKA (smer EL) ANALIZA RADA 6T_SRAM I 1T_DRAM MEMORIJSKE ĆELIJE NAPOMENA: Prilikom rada na računaru mora se poštovati sledeće: - napajanje na

Διαβάστε περισσότερα

Osnovne teoreme diferencijalnog računa

Osnovne teoreme diferencijalnog računa Osnovne teoreme diferencijalnog računa Teorema Rolova) Neka je funkcija f definisana na [a, b], pri čemu važi f je neprekidna na [a, b], f je diferencijabilna na a, b) i fa) fb). Tada postoji ξ a, b) tako

Διαβάστε περισσότερα

OSNOVI ELEKTRONIKE VEŽBA BROJ 2 DIODA I TRANZISTOR

OSNOVI ELEKTRONIKE VEŽBA BROJ 2 DIODA I TRANZISTOR ELEKTROTEHNIČKI FAKULTET U BEOGRADU KATEDRA ZA ELEKTRONIKU OSNOVI ELEKTRONIKE ODSEK ZA SOFTVERSKO INŽENJERSTVO LABORATORIJSKE VEŽBE VEŽBA BROJ 2 DIODA I TRANZISTOR 1. 2. IME I PREZIME BR. INDEKSA GRUPA

Διαβάστε περισσότερα

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4

( ) ( ) 2 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET. Zadaci za pripremu polaganja kvalifikacionog ispita iz Matematike. 1. Riješiti jednačine: 4 UNIVERZITET U ZENICI POLITEHNIČKI FAKULTET Riješiti jednačine: a) 5 = b) ( ) 3 = c) + 3+ = 7 log3 č) = 8 + 5 ć) sin cos = d) 5cos 6cos + 3 = dž) = đ) + = 3 e) 6 log + log + log = 7 f) ( ) ( ) g) ( ) log

Διαβάστε περισσότερα

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina:

S t r a n a 1. 1.Povezati jonsku jačinu rastvora: a) MgCl 2 b) Al 2 (SO 4 ) 3 sa njihovim molalitetima, m. za so tipa: M p X q. pa je jonska jačina: S t r a n a 1 1.Povezati jonsku jačinu rastvora: a MgCl b Al (SO 4 3 sa njihovim molalitetima, m za so tipa: M p X q pa je jonska jačina:. Izračunati mase; akno 3 bba(no 3 koje bi trebalo dodati, 0,110

Διαβάστε περισσότερα

WDT και Power Up timer

WDT και Power Up timer Ο ΜΙΚΡΟΕΛΕΓΚΤΗΣ PIC O μικροελεγκτής PIC κατασκευάζεται από την εταιρεία Microchip. Περιλαμβάνει τις τρεις βασικές κατηγορίες ως προς το εύρος του δίαυλου δεδομένων (Data Bus): 8 bit (σειρές PIC10, PIC12,

Διαβάστε περισσότερα

Antene. Srednja snaga EM zračenja se dobija na osnovu intenziteta fluksa Pointingovog vektora kroz sferu. Gustina snage EM zračenja:

Antene. Srednja snaga EM zračenja se dobija na osnovu intenziteta fluksa Pointingovog vektora kroz sferu. Gustina snage EM zračenja: Anene Transformacija EM alasa u elekrični signal i obrnuo Osnovne karakerisike anena su: dijagram zračenja, dobiak (Gain), radna učesanos, ulazna impedansa,, polarizacija, efikasnos, masa i veličina, opornos

Διαβάστε περισσότερα

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA.

KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI. NEUTRALNI ELEMENT GRUPOIDA. KOMUTATIVNI I ASOCIJATIVNI GRUPOIDI NEUTRALNI ELEMENT GRUPOIDA 1 Grupoid (G, ) je asocijativa akko važi ( x, y, z G) x (y z) = (x y) z Grupoid (G, ) je komutativa akko važi ( x, y G) x y = y x Asocijativa

Διαβάστε περισσότερα

FAKULTET PROMETNIH ZNANOSTI

FAKULTET PROMETNIH ZNANOSTI SVUČILIŠT U ZAGU FAKULTT POMTNIH ZNANOSTI predmet: Nastavnik: Prof. dr. sc. Zvonko Kavran zvonko.kavran@fpz.hr * Autorizirana predavanja 2016. 1 Pojačala - Pojačavaju ulazni signal - Zahtjev linearnost

Διαβάστε περισσότερα

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE

Konstruisanje. Dobro došli na... SREDNJA MAŠINSKA ŠKOLA NOVI SAD DEPARTMAN ZA PROJEKTOVANJE I KONSTRUISANJE Dobro došli na... Konstruisanje GRANIČNI I KRITIČNI NAPON slajd 2 Kritični naponi Izazivaju kritične promene oblika Delovi ne mogu ispravno da vrše funkciju Izazivaju plastične deformacije Može doći i

Διαβάστε περισσότερα

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju

Novi Sad god Broj 1 / 06 Veljko Milković Bulevar cara Lazara 56 Novi Sad. Izveštaj o merenju Broj 1 / 06 Dana 2.06.2014. godine izmereno je vreme zaustavljanja elektromotora koji je radio u praznom hodu. Iz gradske mreže 230 V, 50 Hz napajan je monofazni asinhroni motor sa dva brusna kamena. Kada

Διαβάστε περισσότερα

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1

Strukture podataka i algoritmi 1. kolokvij 16. studenog Zadatak 1 Strukture podataka i algoritmi 1. kolokvij Na kolokviju je dozvoljeno koristiti samo pribor za pisanje i službeni šalabahter. Predajete samo papire koje ste dobili. Rezultati i uvid u kolokvije: ponedjeljak,

Διαβάστε περισσότερα

APROKSIMACIJA FUNKCIJA

APROKSIMACIJA FUNKCIJA APROKSIMACIJA FUNKCIJA Osnovni koncepti Gradimir V. Milovanović MF, Beograd, 14. mart 2011. APROKSIMACIJA FUNKCIJA p.1/46 Osnovni problem u TA Kako za datu funkciju f iz velikog prostora X naći jednostavnu

Διαβάστε περισσότερα

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto

Trigonometrija 2. Adicijske formule. Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Trigonometrija Adicijske formule Formule dvostrukog kuta Formule polovičnog kuta Pretvaranje sume(razlike u produkt i obrnuto Razumijevanje postupka izrade složenijeg matematičkog problema iz osnova trigonometrije

Διαβάστε περισσότερα

Linearna algebra 2 prvi kolokvij,

Linearna algebra 2 prvi kolokvij, 1 2 3 4 5 Σ jmbag smjer studija Linearna algebra 2 prvi kolokvij, 7. 11. 2012. 1. (10 bodova) Neka je dano preslikavanje s : R 2 R 2 R, s (x, y) = (Ax y), pri čemu je A: R 2 R 2 linearan operator oblika

Διαβάστε περισσότερα

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1.

Pismeni ispit iz matematike Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: ( ) + 1. Pismeni ispit iz matematike 0 008 GRUPA A Riješiti sistem jednačina i diskutovati rješenja sistema u zavisnosti od parametra: λ + z = Ispitati funkciju i nacrtati njen grafik: + ( λ ) + z = e Izračunati

Διαβάστε περισσότερα

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori

MATEMATIKA 2. Grupa 1 Rexea zadataka. Prvi pismeni kolokvijum, Dragan ori MATEMATIKA 2 Prvi pismeni kolokvijum, 14.4.2016 Grupa 1 Rexea zadataka Dragan ori Zadaci i rexea 1. unkcija f : R 2 R definisana je sa xy 2 f(x, y) = x2 + y sin 3 2 x 2, (x, y) (0, 0) + y2 0, (x, y) =

Διαβάστε περισσότερα

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu

Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Zadaci sa prethodnih prijemnih ispita iz matematike na Beogradskom univerzitetu Trigonometrijske jednačine i nejednačine. Zadaci koji se rade bez upotrebe trigonometrijskih formula. 00. FF cos x sin x

Διαβάστε περισσότερα

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ).

PID: Domen P je glavnoidealski [PID] akko svaki ideal u P je glavni (generisan jednim elementom; oblika ap := {ab b P }, za neko a P ). 0.1 Faktorizacija: ID, ED, PID, ND, FD, UFD Definicija. Najava pojmova: [ID], [ED], [PID], [ND], [FD] i [UFD]. ID: Komutativan prsten P, sa jedinicom 1 0, je integralni domen [ID] oblast celih), ili samo

Διαβάστε περισσότερα

Slika 1.1 Tipičan digitalni signal

Slika 1.1 Tipičan digitalni signal 1. DIGITALNA KOLA Kola u digitalnim sistemima i digitalnim računarima su napravljena da rade sa signalima koji su digitalne prirode, što znači da ovi signali mogu da imaju samo dve moguće vrednosti u datom

Διαβάστε περισσότερα

Σπύρος Καζαρλής, Χειμώνας 2014-2015 1

Σπύρος Καζαρλής, Χειμώνας 2014-2015 1 Κάθε ενσωματωμένο σύστημα έχει ένα σύνολο θυρών εισόδου / εξόδου, ψηφιακές ή και αναλογικές. Οι ψηφιακές θύρες μπορεί να είναι: Παράλληλες θύρες Σειριακές θύρες Θύρες επικοινωνίας άλλων πρωτοκόλλων όπως

Διαβάστε περισσότερα

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II

1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II 1 UPUTSTVO ZA IZRADU GRAFIČKOG RADA IZ MEHANIKE II Zadatak: Klipni mehanizam se sastoji iz krivaje (ekscentarske poluge) OA dužine R, klipne poluge AB dužine =3R i klipa kompresora B (ukrsne glave). Krivaja

Διαβάστε περισσότερα

Mašinsko učenje. Regresija.

Mašinsko učenje. Regresija. Mašinsko učenje. Regresija. Danijela Petrović May 17, 2016 Uvod Problem predviđanja vrednosti neprekidnog atributa neke instance na osnovu vrednosti njenih drugih atributa. Uvod Problem predviđanja vrednosti

Διαβάστε περισσότερα

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA

OM2 V3 Ime i prezime: Index br: I SAVIJANJE SILAMA TANKOZIDNIH ŠTAPOVA OM V me i preime: nde br: 1.0.01. 0.0.01. SAVJANJE SLAMA TANKOZDNH ŠTAPOVA A. TANKOZDN ŠTAPOV PROZVOLJNOG OTVORENOG POPREČNOG PRESEKA Preposavka: Smičući napon je konsanan po debljini ida (duž pravca upravnog

Διαβάστε περισσότερα

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati:

Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: Staša Vujičić Konstruisati efikasan algoritam znači dati skup preciznih uputstava kako doći do rešenja zadatog problema Algoritmi se mogu opisivati: pseudo jezikom prirodnim jezikom dijagramom toka. 2

Διαβάστε περισσότερα

Hardverska struktura plc-a

Hardverska struktura plc-a Hardverska struktura plc-a 2.1 Hardverska struktura PLC-a 2.2 Procesorski modul 2.3 Memorija 2.4 Ulazno-izlazni (I/O) moduli 2.5 Specijalni, funkcijski i tehnološki moduli 2.6 Komunikacioni interfejs 2.7

Διαβάστε περισσότερα

Zadatak Vul[V] Vul[V]

Zadatak Vul[V] Vul[V] Zadatak 11.1. a) Projektovati kolo A/D konvertora sa paralelnim komparatorima koji ulazni napon u opsegu 0 8V kovertuje u 3 bitni binarni broj prema karakteristici sa Slike 11.1.1. a). U slučaju kada je

Διαβάστε περισσότερα

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... }

Skup svih mogućih ishoda datog opita, odnosno skup svih elementarnih događaja se najčešće obeležava sa E. = {,,,... } VEROVTNOĆ - ZDI (I DEO) U računu verovatnoće osnovni pojmovi su opit i događaj. Svaki opit se završava nekim ishodom koji se naziva elementarni događaj. Elementarne događaje profesori različito obeležavaju,

Διαβάστε περισσότερα

Dvanaesti praktikum iz Analize 1

Dvanaesti praktikum iz Analize 1 Dvaaesti praktikum iz Aalize Zlatko Lazovi 20. decembar 206.. Dokazati da fukcija f = 5 l tg + 5 ima bar jedu realu ulu. Ree e. Oblast defiisaosti fukcije je D f = k Z da postoji ula fukcije a 0, π 2.

Διαβάστε περισσότερα

IZVODI ZADACI (I deo)

IZVODI ZADACI (I deo) IZVODI ZADACI (I deo Najpre da se podsetimo tablice i osnovnih pravila:. C0.. (. ( n n n-. (a a lna 6. (e e 7. (log a 8. (ln ln a (>0 9. ( 0 0. (>0 (ovde je >0 i a >0. (cos. (cos - π. (tg kπ cos. (ctg

Διαβάστε περισσότερα

Tranzistori s efektom polja. Postupak. Spoj zajedničkog uvoda. Shema pokusa

Tranzistori s efektom polja. Postupak. Spoj zajedničkog uvoda. Shema pokusa Tranzistori s efektom polja Spoj zajedničkog uvoda U ovoj vježbi ispitujemo pojačanje signala uz pomoć FET-a u spoju zajedničkog uvoda. Shema pokusa Postupak Popis spojeva 1. Spojite pokusni uređaj na

Διαβάστε περισσότερα

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) II deo. Miloš Marjanović

RAČUNSKE VEŽBE IZ PREDMETA POLUPROVODNIČKE KOMPONENTE (IV semestar modul EKM) II deo. Miloš Marjanović Univerzitet u Nišu Elektronski fakultet RAČUNSKE VEŽBE IZ PREDMETA (IV semestar modul EKM) II deo Miloš Marjanović Bipolarni tranzistor kao prekidač BIPOLARNI TRANZISTORI ZADATAK 16. U kolu sa slike bipolarni

Διαβάστε περισσότερα

PRILOG. Tab. 1.a. Dozvoljena trajna opterećenja bakarnih pravougaonih profila u(a) za θ at =35 C i θ=30 C, (θ tdt =65 C)

PRILOG. Tab. 1.a. Dozvoljena trajna opterećenja bakarnih pravougaonih profila u(a) za θ at =35 C i θ=30 C, (θ tdt =65 C) PRILOG Tab. 1.a. Dozvoljena trajna opterećenja bakarnih pravougaonih profila u(a) za θ at =35 C i θ=30 C, (θ tdt =65 C) Tab 3. Vrednosti sačinilaca α i β za tipične konstrukcije SN-sabirnica Tab 4. Minimalni

Διαβάστε περισσότερα

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića

Verovatnoća i Statistika I deo Teorija verovatnoće (zadaci) Beleške dr Bobana Marinkovića Verovatnoća i Statistika I deo Teorija verovatnoće zadaci Beleške dr Bobana Marinkovića Iz skupa, 2,, 00} bira se na slučajan način 5 brojeva Odrediti skup elementarnih dogadjaja ako se brojevi biraju

Διαβάστε περισσότερα

HEMIJSKA VEZA TEORIJA VALENTNE VEZE

HEMIJSKA VEZA TEORIJA VALENTNE VEZE TEORIJA VALENTNE VEZE Kovalentna veza nastaje preklapanjem atomskih orbitala valentnih elektrona, pri čemu je region preklapanja između dva jezgra okupiran parom elektrona. - Nastalu kovalentnu vezu opisuje

Διαβάστε περισσότερα

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000,

Pošto pretvaramo iz veće u manju mjernu jedinicu broj 2.5 množimo s 1000, PRERAČUNAVANJE MJERNIH JEDINICA PRIMJERI, OSNOVNE PRETVORBE, POTENCIJE I ZNANSTVENI ZAPIS, PREFIKSKI, ZADACI S RJEŠENJIMA Primjeri: 1. 2.5 m = mm Pretvaramo iz veće u manju mjernu jedinicu. 1 m ima dm,

Διαβάστε περισσότερα

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A.

a M a A. Može se pokazati da je supremum (ako postoji) jedinstven pa uvodimo oznaku sup A. 3 Infimum i supremum Definicija. Neka je A R. Kažemo da je M R supremum skupa A ako je (i) M gornja meda skupa A, tj. a M a A. (ii) M najmanja gornja meda skupa A, tj. ( ε > 0)( a A) takav da je a > M

Διαβάστε περισσότερα

Sortiranje prebrajanjem (Counting sort) i Radix Sort

Sortiranje prebrajanjem (Counting sort) i Radix Sort Sortiranje prebrajanjem (Counting sort) i Radix Sort 15. siječnja 2016. Ante Mijoč Uvod Teorem Ako je f(n) broj usporedbi u algoritmu za sortiranje temeljenom na usporedbama (eng. comparison-based sorting

Διαβάστε περισσότερα

PRIMJER 3. MATLAB filtdemo

PRIMJER 3. MATLAB filtdemo PRIMJER 3. MATLAB filtdemo Prijenosna funkcija (IIR) Hz () =, 6 +, 3 z +, 78 z +, 3 z +, 53 z +, 3 z +, 78 z +, 3 z +, 6 z, 95 z +, 74 z +, z +, 9 z +, 4 z +, 5 z +, 3 z +, 4 z 3 4 5 6 7 8 3 4 5 6 7 8

Διαβάστε περισσότερα

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI

21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE GODINE 8. RAZRED TOČNI ODGOVORI 21. ŠKOLSKO/OPĆINSKO/GRADSKO NATJECANJE IZ GEOGRAFIJE 2014. GODINE 8. RAZRED TOČNI ODGOVORI Bodovanje za sve zadatke: - boduju se samo točni odgovori - dodatne upute navedene su za pojedine skupine zadataka

Διαβάστε περισσότερα

Zadaci iz trigonometrije za seminar

Zadaci iz trigonometrije za seminar Zadaci iz trigonometrije za seminar FON: 1. Vrednost izraza sin 1 cos 6 jednaka je: ; B) 1 ; V) 1 1 + 1 ; G) ; D). 16. Broj rexea jednaqine sin x cos x + cos x = sin x + sin x na intervalu π ), π je: ;

Διαβάστε περισσότερα

LABORATORIJSKI PRAKTIKUM- ELEKTRONSKE KOMPONENTE. Laboratorijske vežbe

LABORATORIJSKI PRAKTIKUM- ELEKTRONSKE KOMPONENTE. Laboratorijske vežbe LABORATORIJSKI PRAKTIKUM- ELEKTRONSKE KOMPONENTE Laboratorijske vežbe 2014/2015 LABORATORIJSKI PRAKTIKUM-ELEKTRONSKE KOMPONENTE Laboratorijske vežbe Snimanje karakteristika dioda VAŽNA NAPOMENA: ZA VREME

Διαβάστε περισσότερα

TEORIJA BETONSKIH KONSTRUKCIJA 79

TEORIJA BETONSKIH KONSTRUKCIJA 79 TEORIJA BETOSKIH KOSTRUKCIJA 79 Primer 1. Odrediti potrebn površin armatre za stb poznatih dimenzija, pravogaonog poprečnog preseka, opterećen momentima savijanja sled stalnog ( g ) i povremenog ( w )

Διαβάστε περισσότερα

RIJEŠENI ZADACI I TEORIJA IZ

RIJEŠENI ZADACI I TEORIJA IZ RIJEŠENI ZADACI I TEORIJA IZ LOGARITAMSKA FUNKCIJA SVOJSTVA LOGARITAMSKE FUNKCIJE OSNOVE TRIGONOMETRIJE PRAVOKUTNOG TROKUTA - DEFINICIJA TRIGONOMETRIJSKIH FUNKCIJA - VRIJEDNOSTI TRIGONOMETRIJSKIH FUNKCIJA

Διαβάστε περισσότερα

Funkcija prenosa. Funkcija prenosa se definiše kao količnik z transformacija odziva i pobude. Za LTI sistem: y n h k x n k.

Funkcija prenosa. Funkcija prenosa se definiše kao količnik z transformacija odziva i pobude. Za LTI sistem: y n h k x n k. OT3OS1 7.11.217. Definicije Funkcija prenosa Funkcija prenosa se definiše kao količnik z transformacija odziva i pobude. Za LTI sistem: y n h k x n k Y z X z k Z y n Z h n Z x n Y z H z X z H z H z n h

Διαβάστε περισσότερα

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011.

Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika. Monotonost i ekstremi. Katica Jurasić. Rijeka, 2011. Veleučilište u Rijeci Stručni studij sigurnosti na radu Akad. god. 2011/2012. Matematika Monotonost i ekstremi Katica Jurasić Rijeka, 2011. Ishodi učenja - predavanja Na kraju ovog predavanja moći ćete:,

Διαβάστε περισσότερα