Upload
max-tele
View
237
Download
0
Embed Size (px)
Citation preview
8/7/2019 SKRIPTA PIC16F84A CRO
1/137
8/7/2019 SKRIPTA PIC16F84A CRO
2/137
SADRAJ
1 Uvod................................................................................................................ 5
2 Podjela raunala ............................................................................................ 6
2.1 ''Off line'' raunala ............................................................................................... 6
2.2 ''On line'' raunala................................................................................................ 6
3 Osnovni sklopovski elementi za ''on line'' nain rada.............................. 10
3.1 Senzori i izvrni organi.......................................................................................10
3.2 Analogna obrada signala ...................................................................................11
3.3 Multipleksori........................................................................................................113.4 Sample & Hold sklop (S&H)................................................................................12
3.5 Analogno digitalni pretvara..............................................................................13
3.6 Digitalno analogni pretvara ..............................................................................20
3.7 Meusklop (Interface) .........................................................................................21
3.8 Paritetni sklop.....................................................................................................24
3.9 Povezivanje raunala sa procesima..................................................................24
3.10 Raunalo..............................................................................................................25
3.10.1 Mikroprocesor ...............................................................................................253.10.2 Mikrokontroler ...............................................................................................253.10.3 Arhitektura raunala ......................................................................................273.10.4 Razlika izmeu mikroprocesora i mikrokontrolera .........................................293.10.5 Memorijska jedinica.......................................................................................303.10.6 Adresno polje mikroraunala .........................................................................303.10.7 CPU (Central Processing Unit)......................................................................313.10.8 Sabirnica.......................................................................................................323.10.9 U/I jedinica ....................................................................................................333.10.10 Serijska komunikacija....................................................................................33
3.10.11 Slobodni broja .............................................................................................343.10.12 Sigurnosni broja (Watchdog timer) ..............................................................34
4 Mikrokontroler PIC 16F84............................................................................ 35
4.1 Osnovne karakteristike mikrokontrolera PIC 16F84.........................................35
4.1.1 Karakteristike mikrokontrolera .......................................................................354.1.2 Karakteristike ulazno/izlaznih sklopova .........................................................354.1.3 Specijalne karakteristike mikrokontrolera ......................................................354.1.4 Karakteristike CMOS Flash/EEPROM tehnologije.........................................36
4.2 Kratak opis mikrokontrolera ..............................................................................36
4.3 Raspored noica .................................................................................................37
1
8/7/2019 SKRIPTA PIC16F84A CRO
3/137
4.4 Generatori takta ..................................................................................................37
4.5 Takt / instrukcijski ciklus....................................................................................39
4.6 Obrada instrukcija ..............................................................................................39
4.7 Reset....................................................................................................................40
4.7.1 Reset kod pada napona napajanja (Reset on Brown-Out).............................404.8 Ulazno / izlazni sklopovi .....................................................................................41
4.8.1 PORTA i TRISA ............................................................................................414.8.2 PORTB i TRISB ............................................................................................41
4.9 Organizacija memorije........................................................................................42
4.9.1 Programski broja (Program Counter)...........................................................434.9.2 Stog (Stack) ..................................................................................................444.9.3 Status registar...............................................................................................444.9.4 Direktno adresiranje ......................................................................................45
4.9.5 Indirektno adresiranje....................................................................................454.9.6 Relativno adresiranje.....................................................................................45
4.10 Prekidi (Interrupts)..............................................................................................46
4.10.1 INTCON registar ...........................................................................................47
4.11 Podatkovna EEPROM memorija ........................................................................48
4.11.1 EECON1 registar ..........................................................................................49
4.12 Slobodni broja TMR0 ........................................................................................49
4.12.1 OPTION registar ...........................................................................................50
5 Set instrukcija .............................................................................................. 52
5.1 Prijenos podataka...............................................................................................52
5.2 Aritmetika i logika...............................................................................................52
5.3 Bit operacije ........................................................................................................52
5.4 Upravljanje tokom programa..............................................................................52
5.5 Opis pojedinih instrukcija ..................................................................................54
6 Razvojni alati za PIC 16F84......................................................................... 69
6.1 Asembler .............................................................................................................69
6.1.1 Elementi programskog jezika asembler.........................................................69
7 MPLAB IDE v6.60 ......................................................................................... 71
7.1 MPLAB IDE..........................................................................................................71
7.2 Zahtjevi sustava..................................................................................................71
7.3 Izrada jednostavnog projekta.............................................................................71
7.3.1 Uvod .............................................................................................................717.3.2 Pisanje izvornog koda ...................................................................................717.3.3 Izrada projekta ..............................................................................................73
2
8/7/2019 SKRIPTA PIC16F84A CRO
4/137
7.3.4 Izgradnja projekta..........................................................................................777.3.5 Pokretanje simulatora....................................................................................787.3.6 Provjera rada aplikacije .................................................................................79
8 Programiranje mikrokontrolera PIC 16F877 .............................................. 90
8.1 Uvod.....................................................................................................................90
8.2 Instalacija sustava pri programiranju programskim paketom IC-PROG.........90
8.3 Programiranje mikrokontrolera programskim paketom IC-PROG...................91
9 Opis razvojnog sustava............................................................................... 96
9.1 Napajanje.............................................................................................................96
9.2 Led diode.............................................................................................................96
9.3 Tipkala .................................................................................................................97
9.4 LCD zaslon (display)...........................................................................................989.5 Sedamsegmentni zaslon ....................................................................................99
9.6 Analogno-digitalni pretvara (A/D converter) .................................................100
9.7 RS-232 komunikacija........................................................................................101
9.8 Digitalni termometar - DS1820 .........................................................................102
9.9 Pull-up/pull-down otpornici na portovima.......................................................103
9.10 Direktan pristup portovima ..............................................................................105
10 Primjeri ....................................................................................................... 106
10.1 Uvod...................................................................................................................106
10.2 Makro naredbe ..................................................................................................106
10.3 Potprogrami ......................................................................................................107
10.4 Primjeri ..............................................................................................................108
10.4.1 Program za aktiviranje porta B ....................................................................10810.4.2 Nain upisivanja konstanti...........................................................................10910.4.3 Naredbe uvjeta............................................................................................10910.4.4 Zbrajanje i oduzimanje, indirektno adresiranje.............................................109
10.4.5 Usporedba (komparacija) ............................................................................11010.4.6 Inkrementiranje i dektrementiranje ..............................................................11110.4.7 Inicijalizacija Porta A i Porta E.....................................................................11210.4.8 EEPROM - itanje podataka sa memorije ...................................................11310.4.9 EEPROM - upis podatka u memoriju...........................................................11310.4.10 FLASH programska memorija - itanje podataka ........................................11310.4.11 FLASH programska memorija - upisivanje podataka...................................11410.4.12 Zbrajanje dva 16 bitna broja........................................................................11510.4.13 Oduzimanje dva 16 bitna broja....................................................................11510.4.14 Sortiranje sa indirektnim pristupom .............................................................115
10.4.15 Interupt........................................................................................................11610.4.16 Preskaler - rad sa TMR0 .............................................................................117
3
8/7/2019 SKRIPTA PIC16F84A CRO
5/137
8/7/2019 SKRIPTA PIC16F84A CRO
6/137
1 Uvod
Primjenom mikroprocesorskih i mikrokontrolerskih struktura u elektronikim ureajima postie sesve vie i vie hardverska slinost, dok specifinost funkcija ureaja odreuje programska podrka.
Pomou sveprisutnih mikrokontrolera i mikroprocesora poveana je pouzdanost i preciznostupravljanja pojedinim sustavom. Sustav oplemenjen mikrokontrolerom moe u potpunosti zamijenitiovjeka, smanjuje dimenzije ureaja i potronju energije. Zbog jednostavnosti i irokog spektrauporabe proirili su krug ljudi koji se bave elektronikom.
U ovom udbeniku je obraen vei dio predavanja i vjebi iz kolegija Elektronika raunala iraunalna oprema koji se odrava na Elektrotehnikom odjelu Tehnikog veleuilita u Zagrebu.Koristit e studentima s Informatikog odjela TVZ-a, Studija raunarstva na kolegijima slinogsadraja, kao i svima koji ulaze u svijet upravljanja pomou mikrokontrolera. Uz opi prikazmikrokontrolerskih i mikroprocesorskih struktura objanjen je i princip rada sa mikrokontrolerom PIC16F84 tvrtke Microchip koja je jedna od vodeih u proizvodnji mikrokontrolera.
U drugom dijelu je opisana izrada izvornog kda i njegovo implementiranje u projekt, editiranje iispravljanje pogreaka, kao i simuliranje njegovog rada na raunalu uz mnogo primjera sa vjebi. Zasve to koriten je programski paket MPLAB IDE tvrke Microchip koji je danas jedan od ponajboljih utom podruju i to je jo vanije svima dostupan (freeware).
5
8/7/2019 SKRIPTA PIC16F84A CRO
7/137
2 Podjela raunala
Na slici 2.1. prikazano je djelovanje ovjeka s obzirom na okolinu, tj. djelovanje s obzirom nainformacije koje dobija od svojih osjetila. Na slinom principu koristimo raunala u procesnoj tehnici.
Sl.2.1. Naelo djelovanja ovjeka
Raunalo u procesnoj tehnici moe posluiti samo za njegov nadzor ili za automatsko upravljanjecjelokupnim procesom. Koji od ovih naina e se primijeniti ovisi o nainu unosa podataka u raunalote njihove obrade i nainu upotrebe dobivenih rezultata za upravljanje procesom. Dakle, trebarazlikovati nadzor nad procesom (oitavanje relevantnih parametara) i upravljanje s njim (podeavanjeparametara) bilo izravno (automatski) ili neizravno. Prema nainu unosa podataka u raunalo tenjihove uporabe za upravljanje tijekom procesa razlikuju se:
Off - line sustaviOn- line sustavi
Nadzor pojam vezan uz one sustave u kojem prevladavaju otvorene petljeUpravljanje pojam vezan uz one sustave u kojima prevladavaju zatvorene petlje (automatiziranisustavi)
2.1 ''Off line'' raunala
Off-line prijenos podataka odvija se u dvije faze. U prvoj se podaci iz izvora zapisuju na nekiprijenosni medij (disketa, priruna memorija, optiki mediji i drugo), pa se tek potom sa tih medijaprenosi ili upisuje u raunalo. Vrijeme izmeu skupljanja podataka i unosa je po potrebi, za sat ili dva,tjedan, mjesec, godinu dana ili nikad. Naravno ovakav sustav nepogodan je za brz i izravan nadzornad procesima.
2.2 ''On line'' raunala
Raunala koja rade on line (slika 2.2) unose podatke automatski kada su generirani. Podatke
generiraju razni senzori koji su elektrinim vodiima spojeni na raunalo. Vrijeme potrebno da se tipodaci prebace u raunalo mjeri se uglavnom u milisekundama. Za takve sustave kaemo da rade urealnom vremenu, zbog toga to je vrijeme potrebno za obradu podataka definirano
Sl. 2.2. On-line sustav
6
8/7/2019 SKRIPTA PIC16F84A CRO
8/137
Osnovni razlog uporabe on-line sustava jest brzina rada i velike mogunosti obrade podatakakojom raspolae digitalno raunalo. Dakle nadzor sustava gdje se procesi vrlo brzo mijenjaju gotovo jenemogu bez primjene digitalnog raunala. Osim toga u realnom vremenu mogu se pratiti i predvidjetitendencije koje se u procesu mogu pojaviti. Na taj nain lako je intervenirati i izbjei alarmantnesituacije. Za razliku od navedenog, kod off-line obrade koja bi trajala dugo dobiveni rezultati bili bigotovo nekorisni.
Kvaliteta intervencije u sustavu ovisitie o kvaliteti algoritma koji su razvijeni za upravljanjeprocesom i zatim uneseni u obliku programske potpore u raunalo. Kod vrlo sloenih sustava moe se
dogoditi da tim programom nisu obuhvaene ba sve mogue situacije do kojih u ivotu i radu moedoi. Ne moe se ba sve predvidjeti. Iz navedenog razloga ponekad se on-line sustav izbjegava, astanje procesa samo se prikazuje voditelju (osobi) koji odluuje to treba uiniti. No moe se dogoditida voditelj donese neadekvatan zakljuak unato kvalitetnim informacijama koje mu se predouju. Dabi se to izbjeglo sve se vie uvode ekspertni sustavi, odnosno digitalna raunala s programskompotporom koja se slue bazom znanja koncipiranom od tima vrhunskih strunjaka za proces koji senadzire. Takav sustav koji moe i ne mora biti on-line pomae voditelju da u kritinim situacijamadonese najbolju odluku. Osnovno naelo rada ekspertnog sustava prikazano je na slici 2.3.
Sl. 2.3. Naelna shema ekspertnog sustava
Dakle, neki se procesi ne mogu nadzirati bez on-line sustava nadzora s digitalnim raunalom, jernikakvo drugo sredstvo nema takvu brzinu rada i mo kao raunalo koje moe na brze novonastalepromjene u procesu smjesta reagirati.
Elementi inteligentnog ponaanja vrlo su znaajno svojstvo ovih sustava. Pod tim se misli naprilagodljivost i snalaenje sustava (raunala) u promijenjenoj situaciji u odnosu na programskiprepoznatljivu i definiranu, a to znai da sustav mora prepoznati promjenu van definiranih okvira,prilagoditi se i donijeti vie ili manje adekvatno rjeenje da bi se sustav ponaao unutar definiranihgranica. Znai u takvim situacijama ne trai se idealno rjeenje ve prvo prihvatljivo.Kao primjer navest emo nekoliko kontrolora procesa:
1.) SCADA (Supervisory Control And Data Acquisition) razvojni sustavi su tijekom prolih nekolikogodina tehnoloki brzo napredovali i pratili razvoj ostalih segmenata informatike industrije. Napredaktehnologija SCADA sustava je vidljiv u nekoliko segmenata.
Najznaajniji napredak je napravljen na polju tehnologija veznih uz internet. Dananji SCADArazvojni sustavi omoguavaju povezivanje SCADA sustava s web serverom to omoguava nadzor iupravljanje sustava s udaljenih lokacija koritenjem interneta i web preglednika.
Veliki problem SCADA sustava je bio u povezivanju raunala s mjernom i upravljakom opremomzbog nestandardnih programskih suelja takve opreme prema SCADA sustavima to je rezultiraloograniavanjem mogunosti odabira opreme, odnosno SCADA razvojog sustava. Uvoenjemstandardnog programskog suelja mjerne i upravljake opreme OPC (OLE for Process Control),baziranog na Microsoft OLE (Object Linking and Embedding) tehnologiji za komunikaciju izmeuprogramskih modula u Windows okolini, omoguena je upotreba ireg spektra mjerne i upravljakeopreme i SCADA sustava uz pojednostavljen rad.
Daljnji napredak je vidljiv u proirenju postojeih mogunosti i poveavanju pouzdanosti.
7
8/7/2019 SKRIPTA PIC16F84A CRO
9/137
2.) FPGA (field-programmable gate array) je poluvodika naprava koja sadri programabilne logikekomponente i programabilne meuspojeve. Programabilne logike komponente mogu bitiprogramirane da poboljaju funkcionalnost osnovnih logikih operacija (kao to su AND, OR, XOR,NOT) ili sloenijih kombinacijskih sklopova kao to su dekoderi i jednostavne matematike operacije.Veina FPGA sadri i memorijske elemente najee flip-flop (bistabilne multivibratore) ili vie blokovamemorije. Hijerarhija programabilnih meuveza doputa logikim blokovima u FPGA-u da budumeusobno povezani ako je to potrebno i sa sistemskim projektantom, neto kao one-chip
programabilni model. Ti logiki blokovi kao i meuveze mogu biti programirani i poslije tehnolokeproizvodnje preko projektanta tako da FPGA moe obavljati logike operacije koje se u tom trenutkuod njega zahtjevaju.
3.) ASIC (application-specific integrated circuit) je integrirani sklop projektiran za za opu upotrebu(npr. ip dizajniran iskljuivo za mobilni telefon bio je ASIC). Kako je tehnologija iz godine u godinunapredovala maksimalna sloenost ASIC-a je takoer rasla (od 5000 logikih vrata do nekolikomilijuna). Moderni ASIC-i esto ukljuuju 32-bitni procesor, memorijske blokove ukljuujui ROM,RAM, EEPROM, Flash itd. Dizajneri ASIC-a koriste se HDL-om (hardware description language) kaoto su Verilog ili VHDL kako bi opisali funkcionalnost ASIC-a.
4.) PLC Prvi programibilni logiki kontroleri (PLC) razvijali su inenjeri General Motors-a 1968., kadasu pokuali pronai alternativnu zamjenu za sloene relejne kontrolne sustave.
Novi kontrolni sustav morao je zadovoljiti slijedee zahtjeve:
Jednostavno programiranje,
Programske izmjene bez sistemskih intervencija (bez mijenjanja oienja),
Manje, jeftinije i pouzdanije komponente od relejnih kontrolnih sustava,
Jednostavno i jeftino odravanje
Postupnim razvojem dolo se do sustava koji je omoguio jednostavnije povezivanje binarnihsignala. Uvjeti pod kojim su ovi signali trebali biti povezani, bili su odreeni u kontrolnom programu. Snovim sustavima bilo je po prvi puta mogue iscrtati signale na ekranu, te ih pohraniti u vidu datotekeu elektronsku memoriju.
Po definiciji Programibilni logiki kontroleri su:
Prema DIN EN61131-1 (1994.) programabilni logiki upravlja (kontroler) jest digitalni elektronikisustav za uporabu u industrijskom okoliu s programabilnom memorijom za internu pohranu u primjeniorijentiranih upravljakih naredbi kod implementiranja specifinih funkcija kao to su npr. logikoupravljanje, slijedno upravljanje, funkcije odbrojavanja, funkcije brojenja i aritmetike funkcije,Osnovna namjena PLCa je upravljanje, putem digitalnih ili analognih ulaznih i izlaznih signala,razliitim vrstama strojeva ili procesa.
Glavni djelovi PLC-a su:
mikroprocesor s dodatnim elektrikim sklopovima,
sklop za opskrbu elektrinom energijom procesora koji pretvori upravljaki istosmjerni napon od24V u takozvani logiki napon (5V),
kvarc za davanje takta procesoru, prekida za ukljuivanje i iskljuivanje rada procesora,
memorija (sistemska, radna, programska).
Preko sabirnog prikljuka spaja se centralna jedinica (mikroprocesor) s ulazno - izlaznimelementima (modulima - karticama).
Ulazni modul treba osigurati:
prikljuke na koje se prikljuuju senzori,
prilagodbu napona,
zatitu centralne jedinice od napona,
zatitu centralne jedinice od smetnji, sigurno razlikovanje signala 1/0.
8
8/7/2019 SKRIPTA PIC16F84A CRO
10/137
Izlazni modul takoer posreduje izmeu centralne jedinice i automata. Njegove zadae su:
povezivanje s izvrnim elementima,
prilagodba napona,
zatita centralne jedinice,
pojaanje snage,
zatita od kratkog spoja.
Karakteristike programabilnog logikog kontrolera:
omoguava direktan prikljuak binarnih senzora i aktuatora,
odgovara zahtjevima industrijskog okolia u odnosu na otpornost na povienu temperaturu,vibracije i elektro-magnetska zraenja,
operacijski sustav je razvijen za optimalnu obradu Boolove logike
operacijski sustav potpomognut programskim i dijagnostikim alatima doputa direktan pristupna binarne ulaze i izlaze kao i na interne binarne i digitalne memorije (flag, registre, brojae,tajmere),
operacijski sustav omoguava komunikaciju sa raunalom.
p
Optoizolacija Optoizolacija
MEMORIJA
Program Podaci
Mreni modul napajanja
Ulazne
stezaljke
Izlazne
stezaljke
Komunikacijsko suelje premaureaju za programiranje ilioperatorskom panelu (HMI)
te mrena komunikacija
Centralna
procesorskajedinica
Sl. 2.4. Blok shema PLC-a
9
8/7/2019 SKRIPTA PIC16F84A CRO
11/137
3 Osnovni sklopovski elementi za ''on line'' nain rada
Shematski prikaz sustava koji radi u on line nainu rada prikazan je slikom 3.1. Proces je sredinakoja se mjeri te upravlja raunalom. Raunalo slui za obradu podataka prikupljenih iz procesa.Sredinji dio slui za povezivanje procesa i raunala, koji emo sada razmotriti.
Sl. 3.1. Shematski p az on-line sustava
3.1 Senzori i izvrni organi
Senzori mjere razne fizikalne veliine (temperatura, pritisak, vlanost, protok, kut zakreta, brzina,itd.)
Statika greka - odstupanje izmeu pokazane i stvarne vrijednosti fizikalne veliine kada se
zor
u
e potrebno da se promjene fizikalne veliine ponu iskazivati i
a promjena fizikalne veliine do koje se na izlazu iz senzora jo uvijek ne
Od senzora se u osnovi trai da ne djeluju na svojstva ili ponaanje sredine u kojoj se nalaze. Uon-
u te on odluuje kako erea
rik
te ih pretvaraju u odgovarajue elektrine veliine (napon, struja, frekvencija, faza itd.). Mjeriti se
mogu razliite pojave kao to je vodostaj rijeke, brzina toka iste, temperatura kotla termoelektrane,rastezanje eljeza pri zagrijavanju, itd. Senzori se jo i nazivaju mjerni pretvornici. Osobitosti o kojimatreba voditi rauna pri koritenju senzora je tonost, sposobnost pribliavanja pravoj vrijednostifizikalne veliine, a koja se ogleda u sljedeim parametrima:
ova ne mijenja. Obino se daje u postocima prema najveoj vrijednosti koja se moe mjeriti.
Dinamika greka - koliko senzor "kasni" za promjenama fizike veliine. Svaki senposjeduje dinamiku greku. Ova greka nestaje kad se fizikalna veliina prestane mijenjati.
Greka ponovljivosti - je najvee odstupanje od srednje vrijednosti pri ponovljenom mjerenjnepromijenjene fizikalne veliine.
Mrtvo vrijeme - predstavlja vrijem
na izlazu iz senzora.Mrtva zona - je najveoitavaju promijene.
line sustavima se nalazi mnogo analognih veliina stoga signal treba filtrirati, ispraviti (linearizirati) ikondicionirati da bi se analogni signal mogao digitalizirati u A/D pretvorniku.
Postoje dva naina rada. Prvi je da se mjerene veliine prikazuju ovjekgirati i drugi nain je kada raunalo samo djeluje u procesu. To znai da raunalo iz samog
procesa preko senzora uzima eljene informacije te od dobivenih mjernih veliina pomou odreenihalgoritama donosi zakljuke, a nakon tih zakljuaka djeluje na sustav preko izvrnih organa. Izvrniorgani mogu biti prekida, elektromotor koji upravlja ventilom, regulator izgaranja na loitu itd.
Senzori i izvrni organi za svaki sustav su specifini.Vie o tome smo rekli kod on-line sustava na str.7.
10
8/7/2019 SKRIPTA PIC16F84A CRO
12/137
3.2 Analogna obrada signala
Elektrini signali koji dolaze iz senzora imaju razliite oblike. S druge strane za analogno-digitalnipretvara signali su standardnh veliina (0 - 5 VDC, 0 - 10 VDC, 10 do +10 VDC, 0 - 20 mA, 4 - 20mA), standardizirani. Da bi se to postiglo potrebna je elektronika obrada signala. Signal je potrebnopropustiti kroz elektroniki sklop koji e mu dati oblik i veliinu, no ne smije se otetiti informacija kojutaj signal nosi. Signal je potrebno linearizirati, pojaati i filtrirati. Da bi signal doveli u eljeno analognopodruje esto koristimo pojaala s poveanjem veim od 1, ali i s poveanjem manjim od 1. Zadatakpojaala je da promjeni vrijednost analognih veliina i prenese ih u novo podru je naponskihvrijednosti, a da ne pokvari njihovu analognu informaciju (normiranje). esto se koriste i razni filtrikojima je zadatak odstraniti um. Karakteristika signala se moe poboljavati i na digitalan nain, takoda se senzoru doda mikroraunalo koje posebnim algoritmima oblikuje signal pa tek tada prenosi uglavno raunalo.
3.3 Multipleksori
Da bi se upravljalo procesom potrebno je puno razliitih senzora, rijetko kada nam je dovoljansamo jedan. Mjerena veliina svakog senzora bit e prvo podvrgnuta analognoj obradi. Zatim svakamjerna veliina bi mogla imati svoj A/D pretvara i svoj interface. Takvo rjeenje bi bilo preskupo usustavima gdje se koristi nekoliko desetaka pa i nekoliko stotina senzora, pa se upotrebljava samo jedan A/D pretvara i interface. Kod takvog rjeenja mora postojati multipleksor (slika 3.2b).Multipleksor (engl. Multiplexer) ili selektor (engl. Data selector) je sklop kojim se podatak sa jednog odvie ulaza usmjerava (prenosi) na izlaz. S kojeg ulaza e se odabrati podatak i prenjeti na izlaz ovisi ostanju posebnih ulaza za odabiranje (slika 3.2a). Broj ulaza za podatke N ovisi o broju ulaza zaodabiranje M.
M2N =
0D
1ND
0 1MS S
Sl. 3.2a. Opi prikaz djelovanja multipleksora
Na slici 3.2b. prikazana je logika shema multipleksora s
etiri ulaza. Kada je potrebno odabratijedan od etiri ulazna podatka tada multipleksor treba imati dva ulaza za odabiranje podataka. Podaci
sa ulaza dovode se na sklopove I. Koji sklop Ie prenjeti podatak s ulaza na izlaz, preko sklopa
ILI ovisi o kombinaciji na ulazima za odabiranje podataka i . To se moe prikazati i tablicom
stanja slika 3.2b.0S 1S
11
8/7/2019 SKRIPTA PIC16F84A CRO
13/137
0D
1D
2D
3D
Y
0S
1S
Sl. 3.2b. Logika shema i tablica stanja multipleksora
Naravno postaje upitno kojim redom e se signali obraivati. Samo po sebi se nalae rjeenjeredom kojim dolaze no to se rijetko primjenjuje. Brzina promjene pojedinih mjernih veliina je razliitapa tako i njihova gustoa uzimanja uzoraka ne moe biti ista. Tako se npr. temperatura prostorije nemoe promijeniti u vremenu manjem od desetak sekundi, dok se promjena tlaka u parogeneratorumora mjeriti u milisekudama pa ak i ee (frekvencija uzorkovanja). Stoga se uzorci signala uzimajuprema potrebi obrade mikroraunala. Znai mikroraunalo bira redoslijed obrade podataka premaprogramu koji izvodi, aljui adresu ulaznog podatka multipleksoru.
3.4 Sample & Hold sklop (S&H)
Sample & Hold sklop ima zadau da u trenutku uzorkovanja oita vrijednost analognog signala naulazu te da ga zadri sve do sljedeeg uzorkovanja. Na neki nain djeluje kao memorija za pamenjeanalogne vrijednosti izmeu uzorkovanja kako se na ulazu u A/D sklop ne bi mijenjala vrijednosttijekom pretvorbe.
Stvarni Sample & Hold sklop uz sklopku i kondenzator, sadri i serijski otpor sklopke i vodi a ali iunutarnji otpor izvora signala R1, te paralelni otppor R2 (slika 3.3.). Vremenska konstanta R1C morabiti puno manja od vremena T0N, kada je sklopka S zatvorena, a vremenska konstanta R2C mora bitipuno vea od intervala uzorkovanja TS.
R1C > TS
T0N - sklopka zatvorenaTS - interval uzorkovanja
Sl. 3.3. Stvarna shema Sample&Hold sklopa
12
8/7/2019 SKRIPTA PIC16F84A CRO
14/137
Sl. 3.4. Shema S&H sklopa
Sl. 3.5. Signal pri S&H obradi
Kanjenje koje nastaje pri povratku iz stanja zadravanja u stanje praenja ograniava frekvencijuuzimanja uzoraka.
3.5 Analogno digitalni pretvara
Digitalni sustavi koji slue za mjerenje, regulaciju ili automatizaciju na svome e ulazu i izlazu upravilu imati analognu veliinu. Najvei je broj procesa u prirodi analogan, a to vrijedi i za mnogeveliine u tehnikim sustavima. Da bi raunalo moglo obraivati te signale potrebno ih je kodirati,diskretizirati po vremenu i amplitudi, tek tada kada su pretvoreni u binarne brojeve mogu se unositi uraunalo. Zbog toga je potrebno imati ureaje za automatsko pretvaranje izmeu tih dvaju nainaprikaza veliina. Proces kvantizacije predstavljat e mjerni proces u kojemu se konstatira kolikostandardnih mjernih jedinica sadri mjerna veliina. Idealna karakteristika A/D pretvorbe prikazana jena slici 3.6. kao i blok shema A/D pretvaraa. Pretvorba analogne veliine u digitalnu (i obratno)inherentno je diskontinuirani proces. Proces pretvorbe sastoji se u tome da se ulaznoj veliini koja senalazi u nekom odreenom naponskom intervalu pridrui odreeni broj n. U idealnom sluaju
naponski su intervali (ili koraci) jednake irine i ponekad se nazivaju kanalima. Jedna je od
osnovnih karakteristika A/D i D/A pretvorbe broj koraka odnosno kanala koji odreuju rezoluciju.KU
13
8/7/2019 SKRIPTA PIC16F84A CRO
15/137
Rezolucija ili razluivanje je irina kanala kao postotak maksimalnog ulaznog napona ili jednostavno njihov omjer. Ako je nM maksimalni broj koji odgovara maksimalnom ulaznom naponuUM, onda je irina koraka jednaka UM/nM, pa se rezolucija svodi na 1/nM. Budui da je broj n izraenbinarno sa k bita, maksimalni je broj 2k 1, pa je uobiajeno da se rezolucija jednostavno izraavakao broj bita to ih ima ulazni ili izlazni podatak.
ua - ulazni naponn - broj bitanM - maksimalni broj bitaUM - maksimalni ulazni naponUK - naponski interval (korak)
Sl. 3.6. Idealna karakteristika A/D pretvaraa i blok shema
Analogno-digitalni pretvara ne pretvara u digitalnu vrijednost cjelokupni analogni signal, vesamo njegove uzorke u vremenu (slika 3.7.).
Sl. 3.7. Uzorkovanje analognog signala u vremenu
14
8/7/2019 SKRIPTA PIC16F84A CRO
16/137
Da ne bi signal previe izobliili A/D pretvorbom potrebno je dobro provesti diskretizaciju. To znaida koraci kojima se uzima signal kod diskretizacije moraju biti gusti po vremenu da se ne izgubi nijedan harmonik ulaznog signala, a po amplitudi treba imati dovoljnu veliku razluivost da bi razlikovalamale promjene amplitude. A/D pretvorba je povremeno mjerenje vrijednosti signala ako se promatrakao proces. Kako je signal promjenjiv moramo u odreenom trenutku uzeti uzorak (sample) signala itu vrijednost privremeno pohraniti (hold). S & H izvodimo jer mjerenje nije mogue izvesti trenutno veima odreeno trajanje.Shannonov teoremgovori da se pri uzimanju uzoraka iz nekog kontinuiranog
signala uzorci moraju uzimati barem dvostruko veom frekvencijom nego to je frekvencija najviegharmonika koji se uzima u obzir pri razmatranju.
Imamo dvije osnovne vrste A/D pretvaraa:
a) A/D pretvarai s vremenskim ekvivalentom
b) A/D pretvarai sa sukcesivnom aproksimacijom
c) Sigma-delta A/D pretvarai
a) A/D pretvarai s vremenskim ekvivalentom
A/D pretvara s vremenskim ekvivalentom naziva se jo i Wilkinson-ov A/D pretvara.
au
pu
Sl. 3.8. Wilkinson-ov A/D pretvara
A/D pretvara koji ulazni analogni napon pretvara najprije u odgovarajui vremenski intervalprikazan je na slici 3.8. Ulazna analogna veliina ua nalazi se na jednom od ulaza naponskogkomparatora K. Na drugom ulazu je napon 0, pa je izlaz komparatora na niskoj razini. Procespretvorbe zapoinje impulsom START koji postavlja bistabil u 1. Time se otvara ulaz u brojilo i brojilopoinje brojati impulse iz generatora impulsa. Istovremeno je pobuen i generator pilastog napona kojije spojen na drugi izlaz komparatora. Rad sklopa moe se pratiti pomou dijagrama na slici 3.9. Kada
pilasti napon naraste do vrijednosti ulaznog napona, izlaz iz komparatora odlazi na visoku razinu ivraa bistabil u stanje 0. Time zavrava pretvorba napona u vrijeme. Za vrijeme T dok je I sklopotvoren impulsi iz generatora pokreu brojilo, a nakon zavretka pretvorbe stanje brojila pokazujetraenu digitalnu veliinu u koju je pretvoren ulazni napon.Treba napomenuti da tonost pretvorbeovisi o stabilnosti frekvencije generatora impulsa i o linearnosti i stabilnosti pilastog napona.
15
8/7/2019 SKRIPTA PIC16F84A CRO
17/137
Sl.3.9. Princip rada Wilkinson-ovog A/D pretvaraa
b) A/D pretvarai sa sukcesivnom aproksimacijom
Pretvara radi tako da se produeni ulazni napon iz produivaa usporeuje s naponom u oblikustepenica (slika 3.12.). Pri tome prva stepenica ima veliinu Umax/2, druga Umax/4, trea Umax/8, itd.Gdje je Umax najvei ulazni napon koji se moe pretvarati. Zbog takvog naina rada taj tip A/D
pretvaraa zove se i A/D pretvara sa sukcesivnom aproksimacijom. Ako je stepeniasti napon, kojipredstavlja sumu svih stepenica, manji od produenog ulaznog napona, onda do tada generiranestepenice ostaju. Kada stepenasti napon postane vei, brie se doprinos stepenice koja se pojavilaposljednja i izazvala prekoraenje ulaznog napona. Tako na kraju usporedbe ostaju samo onestepenice ija je suma priblino jednaka veliini ulaznog napona, odnosno neznatno nia od njega.Generiranjem svake naponske stepenice upravlja jedan bistabil, proputajui kroz zajedniki otpornikstruju proporcionalnu teinskoj vrijednosti toga bistabila u binarnom brojevnom sustavu. Tako bistabilnajmanje teinske vrijednosti B0 upravlja strujom I0 stvarajui najmanju stepenicu napona, sljedei poredu bistabil B1, upravlja strujom 2I0 stvarajui tako dvostruko veu stepenicu, itd. Bistabili sepostavljaju u stanje 1 nizom uzastopnih impulsa. Prvi od tih impulsa postavi u stanje prvi bistabilnajvee teinske vrijednosti, koji ukljui odgovarajuu struju, i napravi najveu stepenicu Umax/2. Zatimse ukljuuje sljedei bistabil po teinskoj vrijednosti, koji stvori stepenicu Umax/4, itd.Kada sumastepeniastog napona prekorai veliinu ulaznog napona, usporeiva poalje signal o
prekoraenju.Taj signal postavi u nulu bistabil koji je generirao posljednju stepenicu, zbog togaprestane tei ona struja kojom upravlja taj bistabil pa nestane i njegova stepenica. Kada se takoizredaju svi bistabili i njihove stepenice, pretvorba je zavrena, a stanje bistabila u obliku binarnogpodatka predoavaju na digitalni nain veliinu ulaznog napona.
16
8/7/2019 SKRIPTA PIC16F84A CRO
18/137
Sl. 3.12. A/D pretvara sa sukcesivnom aproksimacijom
Sl. 3.13. Graf signala sukcesivnog A/D pretvaraa
17
8/7/2019 SKRIPTA PIC16F84A CRO
19/137
c) Sigma-delta A/D pretvarai
Sl.3.13.a Blok shema Sigma-delta A/D pretvaraa
Na gornjoj slici ulazni naponski signal VIN je doveden na integrator, iji izlaz se preko komparatora
usporeuje s referentnom naponskom nulom pretvaraa. D-bistabil kontrolira preklopnik s kojimukljuujemo/iskljuujemo referentni napon na ulazu u integrator. Kako ulazni napon raste ili pada,komparator ukljuuje ili iskljuuje referentni napon, koji se oduzima od ulaznog signala, s tenjom dazadri nulu na izlazu integratora.
Broja C1 konstantno broji impulse dobivene iz generatora takta, dok broja C2 samo brojiimpulse kada je preklopnik zatvoren. Pretpostavimo da je kapacitet brojaa C1 1000. Nakon svakogperioda od 1000 impulsa, broj u brojau C2 je proporcionalan srednjoj vrijednosti ulaznog signala.
Sigma-delta modulacijska tehnika je vrlo uspjeno u upotrebi u analogno-digitalnoj pretvorbi(ADC) neto vie od 20 godina. Iako sigma-delta postoji od polovice prolog stoljea, tek skoranjeprednosti VLSI tehnologija je omoguila uporabu da protee generiran bit sa 1 bitnim ADC-om.
Posljedica visoke rezolucije sigma-delte tehnologije je brzina sklopovlje treba funkcionirati saveim brojem uzoraka, mnogo veim od pojasne irine maksimalnog signala, te zahtjeva velikusloenost digitalnih strujnih krugova. Zbog ovih ogranienja, ovi pretvarai tradicionalno prikazujuvisoku rezoluciju, vrlo niskog frekvencijskog zahtjeva, i u zadnje vrijeme govor, zvuk i umjerene brzine(100 kHz i 1 MHz).
Digitalno filtriranje prikazuje rezultate u dugoj prikrivenosti izmeu poetka ciklusa uzorka i prvogispravnog digitalnog izlaza. Znaajno zaostajanje izmeu digitalnog izlaza i njegovog trenutnogprateeg uzorkovanja. Ove karakteristike sprjeavaju koritenje ovih pretvaraa u sloenim sistemima nakon prebacivanja iz jednog kanala u drugi zahtjeva se mnogo vremenskih ciklusa za postavljanjedigitalnog filtriranja.
18
8/7/2019 SKRIPTA PIC16F84A CRO
20/137
Razlike u odnosu na alternativne tehnologije:
Veina strujnih krugova u sigma-delta pretvaraima je digitalna. To upuuje da se izvoenje neeznaajnije promjeniti s vremenom i temperaturom. Takoer, izvedivo je postavljanje pretvaraa ujedan integrirani sklop sa dodanim strujnim krugom, kao to su D/A pretvara, DSP (ProcesorDigitalnog Signala), mikrokontroler. Konano, njena izvedba nije skupa i cijena je stalno u padu.
Oni su sami po sebi monotoni, odnosno promjena digitalnog izlaza je uvijek ista tj. padu ili rastudigitalnog ulaza. To je izrazito znaajno u zatvorenim krunim kontrolnim sustavima, gdjenedostaje interpretacija smjera promjena mjerene varijable, gdje moe uzrokovati nestabilnisustav.
Oni su sami po sebi linearni, te predoavaju manju diferencijalnu nelinearnost. Ne zahtjevaju dodatni Sample & Hold strujni krug, tijekom velike ulazne brzine uzorkovanja i
male tonosti A/D pretvorbe. Zahtjevi za analogne protupreklapajue (anti-aliasing) filtere su minimalni, u veini sluajeva je
dovoljan jednostavni jednopolni RC filter. Za razliku od ostalih gdje su zahtjevi osrednji, za visokerezolutne zahtjeve koriste se druge vrlo sofisticirane (ne preuzorkovane) tehnologije, drugaijedizajnirane, vee i skuplje.
Razina smetnje, koji odreuje SNR (Signal-To-Noise Ration omjer snage signala i smetnje), jeneovisana o razini ulaznog signala.
Do tada je stanje digitalnog filtriranja dio nakon A/D pretvaranja, smetnje ubaene krozpretvaraki proces se mogu vrlo uspjeno kontrolirati. Ustvari, filter moe biti podeen dominimalne razine smetnje sa vrlo specifinim karakteristikama (npr. 50 Hz).
Prije svega, oni sami po sebi ine ove ureaje jeftine i pristupane. U viekanalnoj primjeni,arhitekture jedan pretvara po kanalu, esto e biti efikasniji, ali i skuplji od jednog pretvaraa zamultipleksirane ulaze.
19
8/7/2019 SKRIPTA PIC16F84A CRO
21/137
3.6 Digitalno analogni pretvara
Digitalni signal ima mnoge svoje prednosti, ali je ipak analogni signal u mnogo sluajeva pogodniji.Na primjer, u regulacijskoj tehnici zbog izvrnog sklopa analogne prirode potrebno je digitalne signalepretvoriti u analogne.
02
12
n
izU
Sl. 3.14. D/A pretvara
D/A pretvara nam je potreban da bi digitalni signal dobiven iz raunala pretvorili u odgovarajuianalogni signal najee napon ili struju. On nam je potreban za prikaz podataka na CRT monitoru.D/A pretvara radi tako da svaki bit binarnog podatka upravlja odreenim iznosom elektrine strujeproporcionalnog teinskoj vrijednosti tog bit-a. Tako bit najmanje teinske vrijednosti B0 upravljastrujnim iznosom I0, B1 upravlja strujom 2I0, B2 strujom 3I0, itd. Sve struje teku u istu toku te jekonaan iznos odreen binarnim brojem zbroj svih struja. Proputanjem te struje kroz otpornik dobijese napon. iljci prijelaznog napona vezani su uz kontinuiranost veliine (slika 3.15.).
stvarni
oitani
iljak prijelaznog napona
0111
1000
n
t
Sl. 3.15. Graf signala
20
8/7/2019 SKRIPTA PIC16F84A CRO
22/137
3.7 Meusklop (Interface)
Meusklop (eng. interface) slui za povezivanje raunala sa vanjskim ureajima. Vanjski sklopoviimaju drugaiji nain rada koji je neovisan o nainu rada digitalnog raunala. Zadatak meusklopovaje da ta dva razliita naina rada uskladi tako da ine cjelinu. Poto su vanjski sklopovi jako razliiti,
meusklopovi trebaju biti sastavljeni od standardnih elektronikih dijelova. Mikroraunala imajuposebne LSI-komponente za prijenos podataka izmeu mikroprocesora i vanjskih jedinica, koje seprogramski prilagoavaju specifinim vanjskim jedinicama. To omoguava fleksibilnost i jednostavnostmeusklopova. Treba spomenuti da postoje standardni LSI-sklopovi za ulazno izlazni prijenos. TiLSI-sklopovi se rade za standardne vanjske jedinice kao to su disketna jedinica, tipkovnica, itd.Neposredni ulazno izlazni prijenos se vri paralelno, znai da se svi bit-ovi jedne rijei prenose odjednom (to su meusklopovi u uem smislu).
Ureaji za povezivanje udaljenih jedinica s raunalom koriste serijsku vezu jer paralelna nijepraktina zbog broja vodia, znai prenosi se bit po bit. Najprije treba paralelne podatke pretvoriti userijske te se na prijemnom mjestu opet pretvaraju u paralelne. Svi potrebni sklopovi za povezivanjena daljinu se takoer zovu interface, mada bi bilo prikladnije rei interface u irem smislu, jer onisadre interface u uem smislu, paralelno/serijsku i serijsko/paralelnu pretvorbu.
Ureaji koji koriste serijsku komunikaciju koriste dvije vrste kabela i to: DCE (DataCommunications Equipment) i DTE (Data Terminal Equipment). DCE koriste modemi, printeri i sl. dokse DTE koristi za vezu izmeu PC korisnika.
U/I kanali su prikljuci ili ulazno/izlazni sklopovi koji omoguuju povezivanje raunala sa razliitimvanjskim ureajima ili s ureajima unutar kuita sustava.
Sl. 3.16. Suelje DTE-DCE i komunikacijski kanal
Dva su osnovna tipa prijenosa podataka putem U/I kanala:
a) parelelnib) serijski
a) Paralelni prijenos podataka ukazuje na istovremeni prijenos bitova preko vie komunikacijskihvodova. Sklopovi su standardni i direktno su povezani sa sve tri sabirnice. Sklop ima svoj registar(privremenu memoriju) koja ima svoju adresu pa mikroprocesor lako na njega prenese podatke.Neelo paralelnog prijenosa prikazan je na slici 3.17.
21
8/7/2019 SKRIPTA PIC16F84A CRO
23/137
Sl. 3.17. Naelna shema osam bitnog paralelnog prijenosa
Prikazani sustav paralelnog prijenosa podataka razvila je tvrtka CENTRONICS, pa se esto tako inaziva. Kako bitovi prolaze istovremeno, prijenos je bri od serijskog prijenosa, ali je neprikladan zaudaljene veze zbog velikog broja vodia u spojnom kabelu. Efikasna duljina je 10 m.
Sl. 3.18. Shema jedinice za paralelni prijenos
b) Serijski prijenos podataka. Za razliku od paralenog prijenosa, kod serijskog se podaci alju po jednoj ici. Da bi se podaci sa sabirnice mogli redosljedno poslati preko serijskog suelja, u sklopusuelja obavezno su ugraeni registri posmaka koji omoguavaju pretvorbu paralelnog prihvata userijsko odailjanje i obratno.
Sl. 3.19. Naelo rada serijskog prijenosa podataka
22
8/7/2019 SKRIPTA PIC16F84A CRO
24/137
Sl. 3.20. UART
Najei tip prijenosnog puta u procesima je RS-232C. Postoje i RS-422 (baziran na strujnoj petljiod 4 do 20mA). RS-232C baziran je na naponskom prijenosu, ali na izlazu i ulazu su razliiti naponi.Na izlazu se napon kree od -15 do +15V, na izlazu od -3 do +3V. Brzine prijenosa su do 20Kb/s. RS-422 podrava vodove do kilometra i vee brzine prijenosa (do 100Kb/s).
Postoje dva tipa prijenosa s obzirom na vremensku usklaenost prijenosa:
Sinkroni
Asinkroni
Asinkroni nain prijenosa podataka najee se upotrebljava pri malim brzinama prijenosa tj. kadase prenosi relativno malo bitova u sekundi, jer su tada prihvatljive vee meusobne razlike taktnihsignala, odailjaa i prijemnika. Za vee brzine prijenosa upotrebljava se sinkroni prijenos koji moguprenositi nekoliko puta vie bitova u sekundi. Pri asinkronom nainu prijenosa odailja i prijemnik
imaju odvojene izvore taktnih signala pa je potrebno relativno velika usklaenost, odnosno tonost tihsignala. Pri sinkronom prijenosu to nije problem jer isti taktni signali odreuju mjesto svakog bita kojise prenosi i u odailjau i u prijemniku. Inae je nain rada pri sinkronom serijskom prijenosu slianradu pri asinkronom prijenosu. Postoji odailja koji paralelne podatke pretvara u serijske, i prijemnikto dolazee impulse prihvaa i formira podatak spreman za daljnji paralelni prijenos.
Kod asinkronog prijenosa podataka nema informacije o taktu ukljuenog u samoj poruci, ve sekoristi esta resinkronizacija koristei se start i stop bitovima.
Prijenos podataka poinje start bitom, a zavrava stop bitom. Osim start i stop bita moe se slati iparitetni bit, koji titi od jednostruke pogreke. Takoer ne moe detektirati koji je bit krivo poslan, a nemoe detektirati ni viestruke pogreke.
Sl. 3.21. Primjer RS-232 signala
23
8/7/2019 SKRIPTA PIC16F84A CRO
25/137
3.8 Paritetni sklop
Paritetni sklop koristi se kao generator i ispitiva pariteta pri prijenosu digitalnih signala. Zasiguran prijenos kodiranih podataka u digitalnim sustavima vrlo esto se koristi metoda pariteta.Svakoj binarnoj kombinaciji, kojom se pokazuje podatak, dodaje se tzv. paritetni bit kako bi ukupanbroj jedinica bio uvijek paran (metoda parnog broja jedinica) ili neparan (metoda neparnog broja
jedinica).Na mjestu odakle se odailje digitalni signal paritetni sklop djeluje kao generator paritetnog bita.
Sklop ispituje broj jedinica u podatku i generira paritetni bit. Ako 4-bitni podatak ima parni broj jedinicagenerator pariteta na izlazu daje stanje 0, ako podatak sadri neparan broj jedinica, generator paritetadaje na izlazu stanje 1. Time se postie da je ukupan broj jedinica podataka i paritetnog bita uvijekparan (slika 3.22.).
Sl. 3.22. Primjena paritetnog sklopa
3.9 Povezivanje raunala sa procesima
Da bi se raunala mogla primjeniti u vezi sa razliitim procesima, karakteristine mjerne veliine(parametri procesa) moraju se unositi u raunalo koje te podatke obrauje, izvodei karakteristineprograme, specifine samo za taj proces. Izvoenje tih programa omoguuje da se pomou raunalanadzire odvijanje procesa, da se mjere izvorne ili izvedene veliine tog procesa ili da se procesomupravlja pomou raunala. Najprije treba razraditi odgovarajue upravljake, mjerne ili nadzorne
algoritme kojima se na adekvatan (primjeren) nain rjeava postavljeni zadatak. Taj algoritam sezatim ubacuje u raunalo pomou programa napravljenih upotrebom nekog programskog jezika.Tokom rada na procesu ti se programi izvode u raunalu, omoguavajui upravljanje procesom,mjerenje ili nadzor procesa. Da bi raunalo moglo raditi sa procesom, potrebni su i u samom procesuodgovarajui sklopovi, karakteristini upravo za taj proces. To mogu biti razliiti sklopovi. Oni povezujuproces sa elektronikim i raunalnim sustavom i mogu se podjeliti u dvije osnovne kategorije: Senzore(mjerne pretvarae, osjetila) i izvrne organe. Senzori izraavaju razliite parametre procesa, najeeu obliku elektrinih analognih signala (veliina napona ili struje). Izvrni organi slue za djelovanje naproces, ako se obradom ulaznih podataka ustanovi da to treba uiniti. Parametri procesa koji e seupotrijebiti za rad ovise o vrsti procesa i mogu biti razliite fizikalne veliine kao to su tlak, protok,temperatura, radioaktivno zraenje itd. Budui da ima puno razliitih parametara koji se mogu mjeriti, sveom ili manjom tonou, postoji i veliki broj razliitih senzora. Veina tih senzora izraavaparametre (mjerne veliine) procesa u analognom obliku, odnosno u obliku veliine napona ili struje,
zato ih prvo treba pretvoriti u digitalni oblik koji je pogodan za unos u raunalo. Postoji dakakomogunost, iako manja, da senzori izraavaju neke parametre procesa direktno u digitalnom obliku.Takve veliine nije potrebno pretvoriti u digitalni oblik, nego se mogu bez pretvorbe unositi u raunalo.
24
8/7/2019 SKRIPTA PIC16F84A CRO
26/137
3.10 Raunalo
Raunalo je ''mozak'' jednog on line sustava. Ono omoguava brzu reakciju i korekciju usustavu. Tako na primjer, na temelju prikupljenih meteorolokih podataka raunalo danas izraunavavremensku prognozu za sutra, za to bi ljudima koristei meteoroloke algoritme trebalo moda mjesecdana i tada bi ti podaci bili nevani. Koristei raunalo ti podaci mogu biti obraeni u vrlo kratkomvremenu pa ta vremenska prognoza postaje upotrebljiva. Raunala tako mogu biti koritena u razliitesvrhe, a to im omoguuje programibilnost. Program koji je unesen u raunalo prilagoava raunaloodreenom sustavu. Gotovo za svaki sustav raunalo je sklopovski isto, mogue su male modifikacije.
3.10.1 Mikroprocesor
Mikroprocesor (CPU) je najvaniji elektroniki sklop raunala, koji preuzima programskeinstrukcije i na osnovu njih obrauje podatke. Naziv ''mikro'' koristi se zbog malih dimenzija. Dananjimikroprocesori sadre preko stotinu milijuna tranzistora ukomponiranih na silicijskoj ploici upakiranoju kuite.
Prvi mikroprocesor proizvela je tvrtka Intel 1971. godine. To je bio 4-bitni mikroprocesor s brzinomod 6000 operacija u sekundi, zvao se 4004. Nakon tog uvia se velika prednost mikroprocesora, te sepoinju naglo razvijati. Prvi jai mikroprocesor bio je Intelov 8008 i Motorolin 6800 koji su bili 8-bitniprocesori. Razvoj mikroprocesora se do danas nije zaustavio, no osnova njihovog rada je u principuista.
Uz mikroprocesor se moe pridodati i matematiki koprocesor koji procesoru potpomae uraunskim operacijama. Koprocesor radi paralelno s mikroprocesorom i moe preko njemu usmjerenihinstrukcija izvriti vrlo mone operacije s pokretnim zarezom. Svi noviji procesori imaju integrirankoprocesor u kuite s mikroprocesorom.
Znaajke mikroprocesora:
velika prilagodljivost (univerzalnost) niska cijena
male dimenzije
velika pouzdanost
3.10.2 Mikrokontroler
Mikrokontroler je elektroniki ureaj koji, slino kao i raunalo, ima zadau da zamjeni ovjeka ukontroli dijela proizvodnog procesa ili gotovo cijelog proizvodnog procesa. Iz svakodnevne prakse priuporabi raunala ope namijene tip PC-a ve je poznato da je standardni ulaz tipkovnica i mi(eventualno upravljaka palica), dok je standardni izlaz monitor ili pisa. Teko je definirati to e bitistandardni ulaz i izlaz mikrokontroleru. Razlog tome je to su mikrokontroleri uglavnom dizajnirani zaspecifine zadae vrlo raznolike od sluaja do sluaja. Primjera ima mnogo, od jednostavne regulacijeosvjetljenja, alarmnih sustav, pa dao upravljanja robotima u industrijskim pogonima.Ulazi mogu bitivrlo jednostavne izvedbe kao na primjer prekida u sklopu plovka za nadzor najveeg ili najniegnivoa tekuine u spremniku. Mikrokontroler tada ima za obradu samo dva stanja koje opisuje jedan bit.Sloenije je praenje ako treba pratiti stvarnu razinu nivoa tekuine u spremniku. Tada treba definiratikoliko e se nivoa pratiti i tu e se upotrijebiti nekakav potenciometarski sklop koji e mikrokontrolerupredati odreenu analognu vrijednost koju e ovaj potom pomou A/D pretvornika obraditi i isporuitiodreditu. Ako je pak povezan s fotoelijom za brojanje predmeta po naelu prekidanja svjetlosnogsnopa radi se o izravnom brojanju impulsa tijekom rada neovisno o vremenu.
Dakle, ulazi mogu biti analogne i digitalne prirode i u sutini podatke e isporuivati nekakavmjerni pretvornik (senzor).
25
8/7/2019 SKRIPTA PIC16F84A CRO
27/137
Izlazi iz mikrokontrolera takoer mogu biti analogne i digitalne prirode. Analogni izlazi, bilonaponski ili strujni, mogu se elektromehanikim sklopovima pretvoriti u neku korisnu radnju kaopromjena poloaja nekog predmeta, poveanje brzine vrtnje motora i slino. Najjednostavniji primjer jelampica upozorenja koja upozorava ovjeka na promjenu ili neispravnost. Sloeniji izlaz biti e kadase eli pratiti veliina promjene bilo kao analogni ili digitalni prikaz.
Naravno, ulaz i izlaz mikrokontrolera nije iskljuivo vezan na komunikaciju sa strojem. Uglavnom
kontroler ima neki vid komunikacije prema korisniku, na primjer s lampicama ili s digitalnimpokazivaem. No nisu rijetki sluajevi da se za komunikaciju s ovjekom koristi raunalo tipa PC.
Iz navedenog moe se zakljuiti da se mikrokontroleri prema nainu izrade i komunikacije sokoliem mogu svrstati u jednu od dvije osnovne kategorije:
Mikrokontroler kao samostalna upravljaka jedinica
Mikrokontroler kao osobita kartica u jednom od utora PC raunala
U sutini mikrokontroler radi na naelu vrlo bliskom raunalu. On je uistinu malo raunalo, asloenost mu ovisi o sloenosti zadae koju ima nadzirati.
Sl. 3.23. Pojednostavljeni model mikroprocesora
26
8/7/2019 SKRIPTA PIC16F84A CRO
28/137
- Aritmetiko-logika jedinica (izvrna jedinica) ALU izvrava osnovne aritmetike i logikeoperacije (+, -, posmak, komplementiranje, logike operacije I i ILI)
- Akumulator A slui za privremeno pohranjivanje jednog od operanada (podataka nad kojimase obavlja aritmetika ili logika operacija). Rezultat operacije se najee ponovo pohranjujeu akumulator. Akumulator sudjeluje i u prijenosu podataka izmeu procesora i ostalihkomponenti raunala, odnosno vanjskog svijeta.
- Programsko brojilo PC (engl. Program Counter) je registar koji sadri adresu sljedeeinstrukcije koja e se izvesti. Upravljaka jedinica ga automatski inkrementira.
- Instrukcijski registar IR je registar u kojem je zapisan operacijski kod ije je izvravanje utijeku. Operacijski kod je binarni kod kojim je pojedina instrukcija prikazana i zapisana umemoriji raunala.
- DC (engl. Data Counter) je registar u kojem je zapisana adresa memorijske lokacije na kojojse nalazi operand, pa se taj registar naziva brojilo podataka.
- Privremeni registarWR (Work Registar) je povezan s jednim od ulaza u aritmetiko-logikujedinicu i slui za privremeno pohranjivanje jednog od podataka koji sudjeluju u aritmetikoj ililogikoj operaciji. Ovaj privremeni registar nije element programskog modela mikroprocesora.
- Interna sabirnica skup linija za prijenos podataka koje su izvedene na samom
mikroprocesorskom ipu. Omoguava prijenos podataka izmeu pojedinih registara,aritmetiko-logike jedinice i upravljake jedinice. Interna sabirnica je preko meuregistara,odnosno sabirnikog suelja povezana s vanjskom sabirnicom.
- Upravljaka jedinica sastoji se od sklopova za dekodiranje instrukcije i upravljakihsklopova. Upravljaki sklopovi u skladu s operacijskim kodom instrukcije koja se izvravageneriraju niz upravljakih signala. Ti signali upravljaju prijenosom podataka izmeu registarai aritmetiko-logike jedinice, aktiviraju promjenama vrijednosti programskog brojila,omoguavaju prijenose podataka izmeu procesora i memorije i sl. Sve operacije unutarmikroprocesora sinkroniziraju se signalom vremenskog voenja (takt). Dogaaji umikroprocesoru odvijaju se u tono utvrenim diskretnim vremenskom trenucima.
Registre u procesoru dijelimo na:
a) registri ope namjene (slue za privremenu pohranu podataka koji se obrauju, odnosnooperanada, meurezultata, rezultata, pohranjuju kazala koja upuuju na pojedine memorijskelokacije)
b) namjenski registri (programsko brojilo [program counter], kazalo stoga [stack pointer],registar stanja programa [program status word, statusni registar])
c) namjenski registri kojima korisnik ne moe pristupiti (IR registar instrukcija, privremeniregistar)
3.10.3 Arhitektura raunala
Postoje dvije dominantne arhitekture procesora, a to su:
CISC (engl. Complex Instruction Set Computer)
RISC (engl. Reduced Instruction Set Computer)
CISC arhitektura (slika 3.25.) je starija arhitektura od RISC, osmislio ju je Von Neumann 1945.godine. Sustavno je opisao osnovnu grau i djelovanje raunala, a na njegovom se modelu temelje idananja raunala (slika 3.24.).
27
8/7/2019 SKRIPTA PIC16F84A CRO
29/137
Sl. 3.24. Van Neumannov model raunala
Da bi popravili performanse CISC arhitektura pokuava smanjiti broj instrukcija koje program morapozivati. Da bi to napravili moraju imati velik broj mikro instrukcija koje pokrivaju velik rasponzadataka. Jedna mikroinstrukcija, kad se dekodira u procesoru moe postati nekoliko zadataka (tasks)koje procesor mora izvriti. Kao posljedica, instrukcije su varijabilne duljine i esto zahtjevaju vie odjednog takta za njihovo izvravanje. Kao to vidimo na slici 3.25. CISC arhitektura koristi samo jednusabirnicu koja slui kao podatkovna i kao adresna sabirnica.
Sl. 3.25. Pojednostavljena shema CISC arhitekture ili Von Neumann-ove arhitekture
Najznaajnije karakteristike CISC mikroprocesora:
proirenje instrukcije
kompleksne strojne instrukcije
dekodiranje instrukcija razni naini adresiranja memorije
relativno malo registara
vii radni takt
RISC arhitektura (slika 3.26.) raunala nastala je na Sveuilitu Harvard. RISC arhitekturapokuava poboljati performanse reduciranjem broja taktova potrebnih za izvravanjem zadatka.Imaju mali set pojednostavljenih instrukcija, izvravajui cijeli mikro kd odjednom. Ovo znai dazadatak treba vie instrukcija koje su jednake duljine i obino trebaju jedan takt za izvravanje. Zbogovoga, RISC sustavi su sposobni procesirati vie instrukcija paralelno (pipelining). Procesor radi vieinstrukcija odjednom, poevi drugu instrukciju prije zavretka prve. Ovo znaajno poveavapropusnost i ini RISC brim od CISC-a. Vidimo na slici 3.26. da ova koncepcija koristi dvije sabirnice.
Time se postie vei protok informacija. Odvajanjem sabirnica omogu
ava se da instrukcije mogu bitivee od 8 bit-a. PIC16F84 koristi 14 bit-a za instrukcije to dozvoljava da sve instrukcije budu od
jedne rijei i svaka instrukcija se izvrava u jednom ciklusu osim instrukcija skoka i grananja.
28
8/7/2019 SKRIPTA PIC16F84A CRO
30/137
Sl. 3.26. Pojednostavljena shema RISC arhitekture ili Harvard-ske arhitekture
Najznaajnije karakteristike RISC mikroprocesora:
smanjen instrukcijski set
manje kompleksne, jednostavne instrukcije
nije potrebna kontrolna jedinica za dekodiranje instrukcija
maksimalno etiri naina adresiranja memorije
puno registara
manji radni takt
3.10.4 Razlika izmeu mikroprocesora i mikrokontrolera
Sa rastom snage mikroprocesora rasla je i njegova primjenjivost. Zato se na ip veliinemikroprocesora stavlja cijelo raunalo mikrokontroler. Mikrokontroleri su uglavnom dizajnirani zaspecifine zadatke vrlo raznolike od sluaja do sluaja. U sutini mikrokontroler je malo raunalo, asloenost mu ovisi o sloenosti zadae koju mora obavljati. Od namjene mikrokontrolera ovisiti e brojU/I portova, odnosno broj digitalnih i analognih ulaza/izlaza.
PODATKOVNASABIRNICA
MEMOR
IJA
Sl. 3.27. Shema mikrokontrolera s njegovim osnovnim elementima
29
8/7/2019 SKRIPTA PIC16F84A CRO
31/137
Svim mikrokontrolerima su zajednika sljedea svojstva:
Relativno mali radni takt (reda 10 MHz)
Mali broj jednostavnih instrukcija (red veliine oko 100)
Radna memorija (RAM - reda KB)
Stalna memorija s programskim kodom (u EPROM izvedbi)
Brojai razliitih namjena kao sat, broja impulsa, BCD broja... Broja za nadzor ispravnog rada WDT (Watch Dog Timer)
Ulazno/izlazni portovi za prihvat i slanje podataka
A/D i D/A pretvornici razluivosti prema namjeni (uobiajeni 8-bit)
irok raspon napona napajanja (2V 6V)
3.10.5 Memorijska jedinica
Dio mikrokontrolera koji je zaduen za uvanje podataka. Memorija mora biti u mogunosti da itai zapisuje podatke. Zato postoji linija /P, ako je /P = 1 onda se vri itanje u suprotnom vrimo upis.
Sl. 3.28. Model memorijske jedinice
3.10.6 Adresno polje mikroraunala
Adresno polje sve mogue lokacije koje neka procesorska jedinica moe adresirati (ne morajubiti iskoritene ba sve adrese)
Sa prvi bajt moe se adresirati 256 lokacija, dok se sa dva bajta moe adresirati i do 64 Klokacija
Mono mikroraunalo mora imati razliite naine adresiranja
Adresiranje memorije vrimo na vie naina:
neposredno naredba sadri sam podatak s kojim se radi. Podatak moe biti 8 ili 16 bitni. Zadohvat 2 bajta podatka dovoljna su tri zahvata u memoriju. To je vrlo brz nain adresiranja.
30
8/7/2019 SKRIPTA PIC16F84A CRO
32/137
direktno (izravno) prvi bajt je operacijski kod koji govori koja se operacija radi sa podatkom, adrugi i trei bajt naredbe pokazuju lokaciju memorije gdje se nalazi podatak koji se eli obraditi.Ovakvim nainom adresiranja moe se dodue adresirati bilo koja lokacija u adresnom polju, aliza dobivanje samo adrese operanda potrebna su dva zahvata u memoriju, to je vrlo spor na inadresiranja.
indirektno (posredno) drugi i trei bajt naredbe pokazuju adresu lokacije(pointera) gdje senalazi adresa podatka koji se obrauje. To je vrlo neekonomino adresiranje, jer za dohvatpodatka treba puno zahvata u memoriju. Prednost je da se stvarna adresa operanda moeprogramski mjenjati, mjenjanjem sadraja pointera tijekom izvoenja programa bez potrebemijenjanja glavnog programa.
segmentno zasniva se na injenici da se programi veinom vrte u jednom dijelu (segmentu)memorije.
MMU (jedinica za upravljanje memorijom) - zadatak Memory Management Unit je da podjeli memorijuna vie segmenata. Tako podijeljena memorija se adresira segmentno.
3.10.7 CPU (Central Processing Unit)
Mikroprocesor (CPU) je najvaniji elektroniki sklop raunala, koji preuzima programske naredbe ina osnovu njih obrauje podatke. Naziv ''mikro koristi se zbog malih dimenzija. Sadri do nekolikomilijuna tranzistora ukomponiranih na silicijskoj ploici upakiranoj u plastino kuite.
Vrijeme izvoenja instrukcija je reda mikrosekunde, a broj instrukcija i veliina binarnog podatkaosnovni su parametri koji definiraju kvalitetu mikroprocesora. Mikroprocesori koji se u raunalnimsustavima ope namjene koriste dizajnirani su za rad s podacima duljine 4, 8, 16, 32 i 64 bit-a.
Sl. 3.29. Primjer centralne procesorske jedinice sa tri registra
Na slici 3.29. prikazan je primjer centralne procesorske jedinice sa tri registra, registri su daklememorijske lokacije ija je uloga da pomognu pri obavljanju raznih matematikih operacija ili bilo kojihdrugih operacija sa podacima gdje god da se oni nalazili. Imamo dvije nezavisne cjeline (memoriju iCPU) koje nisu meusobno povezane , ime je sprijeena bilo kakva razmijena podataka. Akonaprimjer elimo zbrojiti sadraj dvije lokacije iz memorije i njihov rezultat ponovo vratiti u memorijupotrebna nam je veza izmeu memorije i CPU, tj. moramo imati neki put preko kojeg podaci idu izjednog bloka u drugi, a ti putevi se zovu sabirnice.
31
8/7/2019 SKRIPTA PIC16F84A CRO
33/137
3.10.8 Sabirnica
Prijenos podataka izmeu sklopova unutar mikroprocesora i unutar raunala vrlo je znaajan dioposla, a obavlja se preko SABIRNICA (BUS), vieilnim prenosnim putevima izmeu pojedinihsklopova. Broj vodova sabirnice ovisi o broju bit-a koji opisuju podatke koje je potrebno prenjeti. Usutini prijenos podataka je paralelan.
Dakle postoje dva osnovna sustava sabirnica:
1.) Unutranje sabirnice - veze unutar mikroprocesora.
2.) Vanjske sabirnice - veze u raunalu izvan mikroprocesora.
Meusobno su odvojene meusklopovima jer se esto promet na njima ne odvija istom brzinom.Razmjena podataka u mikroprocesoru obavlja se viestruko bre nego izmeu sklopova raunala, teih je stoga potrebno odvojiti. O prijenosu podataka izmeu unutranje i vanjske sabirnice brinu seposebni upravljai (controller).
Unutarnja i vanjska komunikacija odvija se preko tri odvojene sabirnice:
1.) Podatkovne sabirnice dvosmjerna2.) Adresne sabirnice jednosmjerna
3.) Upravljake sabirnice jednosmjerna
Naravno, komunikacija posredstvom triju sabirnica ubrzava sustav. Podatku, koji je na sabirnicipodataka, preko adresne sabirnice odreuje se mjesto na koje e se uputiti, a upravljaka sabirnica eprijenos odobriti.
REGISTAR 1
REGISTAR 2
REGISTAR 3
CPU
MEMORIJSKA LOKACIJA 0
MEMORIJSKA LOKACIJA 1
MEMORIJSKA LOKACIJA 2
MEMORIJSKA LOKACIJA n
PODACIMEMORIJA
Kontrolne linije
/P
ADRESE
Sl. 3.30. Primjer komunikacije memorije i centralne procesorske jedinice pomou sabirnica
Na slici 3.30. prikazana je komunikacija centralne procesorske jedinice sa memorijom. Memorijase sastoji od 16 memorijskih lokacija koja sa centalnom procesorskom jedinicom komunicira prekopodatkovne sabirnice (koja je dvosmjerna). Podatkovna sabirnica sastoji se od onoliko linija kolikomemorije elimo adresirati, a slui za prijenos adrese od CPU do memorije, dok adresna sabirnica
(koja je jednosmjerna) povezuje sve blokove unutar mikrokontrolera.
32
8/7/2019 SKRIPTA PIC16F84A CRO
34/137
3.10.9 U/I jedinica
Ove memorijske lokacije se nazivaju portovi. Portovi mogu biti ulazni, izlazni ili dvosmjerni. Kodrada s portovima potrebno je prvo odabrati port s kojim se radi.
ULAZNIREGISTAR
U/Ijedinica
PODACI
PODACI
PODACI
IZLAZNIREGISTAR
Sl. 3.31. Primjer U/I jedinice
3.10.10 Serijska komunikacija
Ovime smo mikrokontroleru omoguili povezivanje na daljinu. Paralelni prijenos nije pogodan zavelike udaljenosti zbog veeg broja vodia. Da bi prijenos funkcionirao treba odrediti skup pravila po
kojima e se odvijati, skup pravila po kojem se vri prijenos podataka nazivamo protokol. Serijskiprijenos podataka dijelimo na sinkroni i asinkroni. Sinkroni prijenos izmeu dva ureaja radi podzajednikim taktom. Asinkroni prijenos koristimo kad ne znamo frekvencijski takt drugog ureaja, ovuvrstu prijenosa koristimo za slanje manjih podataka.
Sl. 3.32. Serijska jedinica
33
8/7/2019 SKRIPTA PIC16F84A CRO
35/137
3.10.11 Slobodni broja
To je registar ija se vrijednost uveava u pravilnim vremenskim razmacima. Omoguava nammjerenje vremena.
Sl. 3.33. Slobodni broja
3.10.12 Sigurnosni broja (Watchdog timer)
Program u njega upisuje 0 svaki put kad kada se pravilno izvri. Ako signal izostane, nee doido upisivanja 0 (znai da se mikrokontroler vrti u beskonanoj petlji ), vrijednost brojaa e sepoveavati do svoje maksimalne vrijednosti kada e sam resetirati mikrokontroler.
Sl. 3.34. Sigurnosni broja
Na taj nain onemoguava se dui nepravilan rad mikrokontrolera bez obzira na uzrokneispravnosti. Ova metoda viestruko poveava sigurnost sustava kojeg mikrokontrolernadzire/upravlja.
34
8/7/2019 SKRIPTA PIC16F84A CRO
36/137
4 Mikrokontroler PIC 16F84
4.1 Osnovne karakteristike mikrokontrolera PIC 16F84
4.1.1 Karakteristike mikrokontrolera
samo 35 jednorjenih instrukcija
sve su instrukcije jednociklusne, osim instrukcija grananja programa i programskog skoka
radni takt; 4MHz, trajanje instrukcijskog ciklusa: 1s (4 takta vanjskog oscilatora za jednuinstrukciju) mogunost nabave mikrokontrolera koji podnose 10 MHz i 20 MHz vanjski takt
14 b veliina rijei instrukcijskog koda
8 b podatkovna sabirnica
15 registara specijalne namjene
hardverski stog dubok osam nivoa
tri naina adresiranja:-direktno
-indirektno
-relativno
1k programske memorije izvedene u Flash tehnologiji
68 B podatkovne RAM memorije
64 B podatkovne EEPROM memorije
etiri izvora prekida:
- vanjski na noici RB0/INT
- preljev timer-a TMR0
- prekid pri promjeni na RB4, RB5, RB6 i RB7 noicama porta B- prekid nakon zavretka procesa upisivanja podataka u EEPROM memoriju
oko 1 000 pii/brii ciklusa moe podnijeti Flash programska memorija
oko 10 000 000 pii/brii ciklusa moe podnijeti EEPROM podatkovna memorija
postojanost podataka u EEPROM podatkovnoj memoriji je vie od 40 godina
4.1.2 Karakteristike ulazno/izlaznih sklopova
13 ulazno/izlaznih pojedinano upravljivih noica
velika struja U/I sklopova za napajanje LED dioda:- maksimalna ulazna struja po noici je 25mA
- maksimalna izlazna struja po noici je 20mA
8-bit-ni timer/broja sa 8-bit-nim programibilnim djeliteljem frekfencije
4.1.3 Specijalne karakteristike mikrokontrolera
serijsko In-System programiranje preko dvije noice
Power-on Reset (reset pri ukljuenju)
Power-up Timer (odreeno kanjenje nakon ukljuenja) Oscilatorski Start-up Timer (odreeno kanjenje od stabilizacije radne frekfencije)
Watchdog Timer sa vlastitim integriranim RC oscilatorom za neovisan rad
35
8/7/2019 SKRIPTA PIC16F84A CRO
37/137
zatita koda
SLEEP nain rada ( za tednju energije)
odabir vrste oscilatora
4.1.4 Karakteristike CMOS Flash/EEPROM tehnologije
mala potronja, velika brzina
radni napon od 2.0V do 6.0V
mala potronja energije:
- < 2 mA pri naponu napajanju od 5 V i radnom taktu od 4 MHz
- 15 A pri naponu napajanju od 2 V i radnom taktu od 32 kHz
- < 1 A u standby ninu rada pri naponu napajanju od 2 V
4.2 Kratak opis mikrokontrolera
PIC 16F84 je 8-bit-ni mikrokontroler niske cijene, izveden CMOS tehnologijom. Izveden je u RISC(Reduced Instruction Set Computer) arhitekturi. To znai da koristi dvije sabirnice, podatkovnu (8-bit-na) i instukcijsku (14-bit-na). PIC 16F84 ima osam nivoa dubok stog i vie prekidnih izvora, tounutarnjih, to vanjskih. Istovremeno izvoenje i prihvaenje slijedee instrukcije omoguuje da sesvaka instrukcija izvri u jednom instrukcijskom ciklusu, osim instrukcija skoka i poziva potprograma(za koje su potrebna dva instrukcijska ciklusa). Takoer obino koriste 2:1 saimanje koda i 4:1 veubrzinu rada (na 20 MHz) od drugih 8-bit-nih mikrokontrolera iste klase. SLEEP nain rada omoguujetednju energije. Iz takvog naina rada mikrokontroler se moe vratiti u aktivno stanje putem prekida,vanjskih ili unutarnjih, i/ili resetom. Te ima Watchdog timer sa vlastitim RC oscilatorom koji titi odsoftverskog zamrzavanja ili sluajne beskonane petlje. Incircuit reprogramibilnost omoguujeoptimiranje programskog koda unutar sklopa, bez odvajanja mikrokontrolera od gotovog sklopa. To jevrlo korisno u razvoju sklopova gdje mikrokontroler nije fiziki dostupan, a prototip zahtjevaoptimizaciju.
MEM. ZAPODATKE
RAM
MEM. ZAPODATKEEEPROM
PORT A PORT B
SLOBODNIBROJA
CPU
Sl. 4.1. Blok shema mikrokontrolera PIC 16F84
36
8/7/2019 SKRIPTA PIC16F84A CRO
38/137
4.3 Raspored noica
Sl. 4.2. Raspored noica mikrokontrolera PIC 16F84
1. RA2 druga noica porta A2. RA3 trea noica porta A3. RA4/TOCKI etvrta noica porta A, moe biti i ulaz takta za timer/broja
4. MCLR reset ulaz i Vpp napon programiranja mikrokontrolera5. VSS napajanje (masa)6. RB0/INT nulti pin porta B i interrupt ulaz7. RB1 prva noica porta B8. RB2 druga noica porta B9. RB3 trea noica porta B
10. RB4 etvrta noica porta B11. RB5 peta noica porta B12. RB6 esta noica porta B i ulaz takta u programskom modu13. RB7 sedma noica porta B i linija za ulaz podataka u programskom modu14. Vdd pozitivno napajanje15. OSC1 noica koja slui za spajanje vanjskog oscilatora16. OSC2 noica koja slui za spajanje vanjskog kristalnog oscilatora a ako imamo na OSC1
RC osvilator tada slui kao djelitelj frekvencije OSC1 sa 417. RA0 nulta noica porta A18. RA1 prva noica porta A
4.4 Generatori takta
PIC 16F84 moe raditi sa dvije razliite konfiguracije oscilatora. A to su kristalni oscilator (XT) i RCoscilator, radnog takta 4 MHz, 10 MHz ili 20 MHz ovisno o tipu mikrokontrolera. Slika 4.5. prikazujeoblik signala dobiven iz oscilatora u trenutku ukljuenja, oscilatoru treba neko vrijeme T da sestabilizira na odreenu frekvenciju.
37
8/7/2019 SKRIPTA PIC16F84A CRO
39/137
OSCI 1
OSCI 2
C2
C1
XTAL
Sl. 4.3. Spajanje kristalnog oscilatora
OSCI 1
OSCI 2
C
Vdd
R
Sl. 4.4. Spajanje RC oscilatora
+5
t
U
T
Sl. 4.5. Oblik signala pri ukljuenju oscilatora
38
8/7/2019 SKRIPTA PIC16F84A CRO
40/137
4.5 Takt / instrukcijski ciklus
Takt doveden s noice OSC1 u mikrokontroleru se dijeli na etiri nepreklapajua takta kojenazivamo Q1, Q2, Q3 i Q4 koji skupa ine jedan instrukcijski ciklus npr. TCY1.
Instrukcijske cikluse dijelimo:
Q1 pozivanje instrukcije iz programske memorije
Q2 dekodiranje naredbe iz predhodnog instrukcijskog ciklusa
Q3 izvoenje naredbe iz predhodnog instrukcijskog ciklusa
Q4 spremanje instrukcije pozvane u Q1 u instrukcijski registar
Uzmimo za primjer instrukcijski ciklus TCY2. Na Q1 takt u instrukcijskom ciklusu TCY2 programskibroja (PC) se uveava za 1 te poziva instrukciju iz programske memorije. U sljedea dva takta Q2 iQ3 instrukcijskog ciklusa TCY2 instrukcija koja je bila pozvana i spremljena u instrukcijski registar uprijanjem TCY1 instrukcijskom ciklusu se dekodira i izvodi. U etvrtom taktu Q4 instrukcijskog ciklusaTCY2 se instrukcija pozvana na Q1 sprema u instrukcijski registar.
TCY1 TCY2 TCY3
PC
Q1
Q1 Q1 Q1
Q2
Q2 Q2 Q2
Q3
Q3 Q3 Q3
Q4
Q4 Q4 Q4
OSC1
Sl. 4.6. Vremenski dijagram izvravanja instrukcije
4.6 Obrada instrukcija
Ciklusi povezivanja i izvravanja instrukcija su tako povezani da je za pozivanje potreban jedaninstrukcijski ciklus a za deifriranje i izvravanje jo jedan. No zbog protone obrade, svaka instrukcija
se efektivno izvrava u jednom ciklusu.
39
8/7/2019 SKRIPTA PIC16F84A CRO
41/137
4.7 Reset
Reset slui da bi sve registre mikrokontrolera doveli u poetni poloaj. Znai ako se mikrokontroler
''smrzne'' ili smo ga tek ukljuili treba ga resetirati. Da bi sprijeili sluajno dovoenje ''0'' na MCLRnoicu, potrebno ju je preko otpornika spojiti na pozitivan pol napajanja Vdd, slika 4.7.
Sl. 4.7.
Vdd
RA 2
RA 3
RA 4
MCLR
R
PIC 16F84 ima vie vrsta resetiranja:
1. Resetiranje pri dovoenju napajanja (Power-on Reset). Ovaj reset traje isto koliko trebaoscilatoru da stabilizira frekvenciju (T), slika 4.5. odnosno 72 ms
2. Dovoenje 0 na MCLR noicu
3. Reset za vrijeme Sleep naina rada
4. Reset pri prekoraenju Watchdog timera
4.7.1 Reset kod pada napona napajanja (Reset on Brown-Out)
Ovaj impuls generira sam mikrokontroler ako napon napajanja padne ispod dozvoljene granicekoja je potrebna za normalan rad mikrokontrolera, te ga dri 72 ms u resetu koliko je potrebno da sefrekvencija stabilizira.
1.8 V
U
t
T
Sl. 4.8. Reset pri padu napona
40
8/7/2019 SKRIPTA PIC16F84A CRO
42/137
4.8 Ulazno / izlazni sklopovi
PIC 16F84 ima dva porta, PORTA i PORTB. Portom nazivamo grupu ulazno/izlaznih noica(pinova) kojima moemo pristupati istovremeno. Fiziki, port je registar koji je povezan s pinovimamikrokontrolera. Svi pinovi portova se mogu definirati kao ulazni ili izlazni, prema potrebama sustava.Definiraju se upisivanjem nule i jedinice u registru TRIS, upisivanjem 1 pin postaje ulazni a
upisivanjem 0 izlazni. Poto imamo dva porta imamo i dva TRIS registra, TRISA i TRISB. PORTA iPORTB se nalaze u banci 0 a TRISA i TRISB u banci 1.
4.8.1 PORTA i TRISA
Ovaj port ima pet pridruenih pinova, od RA0 do RA4. Pin RA4 moe biti samo ulazni, jer se natom pinu nalazi i ulaz takta za broja TMR0. Bitom T0CS u registru OPTION se bira funkcija (ulaztakta ili standardni ulaz porta) ovog pina, tonije reeno bira se izvor takta (vanjski ili nutarnji) brojaaTMR0.
Primjerkonfiguriranja porta:
bsf STATUS, RP0 ;bank1movlw b'11111100' ;definiranje ulaznih i izlaznih pinovamovwf TRISA ;upis u TRISA registarbcf STATUS, RP0 ;bank0
Uprimjerusu pinovi RA0 i RA1 proglaeni kao izlazni a RA2, RA3 i RA4 ulazni.
1
RA2
RA3
0
TRISA
PORTA
Sl. 4.9. PORTA koristi 5 bitova
4.8.2 PORTB i TRISB
PORTB ima 8 pridruenih pinova, od RB0 do RB7. Svaki pin ima pull-up tranzistor i njime se
definira linija na logiku jedinicu. Svim tranzistorima se upravlja pomou samo jednog bita, RBPUbitom OPTION registra. etiri pina ovog porta mogu izazvati prekid RB4: RB7 i to samo ako sukonfigurirani kao ulazni.
Primjerkonfiguriranja porta:
bsf STATUS, RP0 ;bank1
movlw 0x0F ;definiranje ulaznih i izlaznih pinovamovwf TRISB ;upis u TRISB registarbcf STATUS, RP0 ;bank0
41
8/7/2019 SKRIPTA PIC16F84A CRO
43/137
bsf PORTB, 4 ;PORTB < 7 : 4 > = 0bsf PORTB, 5bsf PORTB, 6bsf PORTB, 7
Primjerpokazuje kako su pinovi RB0, RB1, RB2 i RB3 proglaeni za ulazne, a pinovi RB4, RB5, RB6 iRB7 za izlazne, te nakon ega su izlazni pinovi postavljeni u jedinicu.
1
RB1
RB3
RB2
0TRISB
PORTB
Sl. 4.10. PORTB koristi 8 bitova
4.9 Organizacija memorije
PIC16F84 ima dva odvojena memorijska bloka, jedan za podatke i drugi za program. Blok za
podatkeini EEPROM memorija, GPR i SFR registri u RAM memoriji a programski blok
ini Flashmemorija.
Programska memorija je izraena u Flash tehnologiji to omoguuje programiranjemikrokontrolera vie puta pa ak i kada bude ugraen u sustav. Ima 1024 lokacije irine 14 bit-a. Nultalokacija je rezervirana za reset a etvrta lokacija za prekid (interrupt).
Memorija za podatke se sastoji od EEPROM i RAM memorije. EEPROM memorija ima 64 lokacijeirine 8 bit-a (sl. 4.11) kojima se pristupa indirektno preko EEADR i EEDATA registara, sadraj ovememorije se ne gubi pri prekidu napajanja. RAM memorija ima 68 osmobitnih lokacija koje zauzimajuprostor u memorijskoj mapi od 0x0C do 0x4F lokacije. Lokacije RAM memorije se nazivaju GPR(General Purpose Registrers) registri.
SFR (Special Function Registers) registri zauzimaju prvih 12 lokacija u banci 0 i banci 1. To suregistri specijalne namjene i oni su direktno vezani za rad mikrokontrolera.
42
8/7/2019 SKRIPTA PIC16F84A CRO
44/137
8/7/2019 SKRIPTA PIC16F84A CRO
45/137
4.9.2 Stog (Stack)
PIC 16F84 ima 13-bitni hardverski stog dubok 8 nivoa. Memorijski prostor stoga nije dio niprogramske ni podatkovne memorije, a pokaziva stoga nije mogue itati i u njega upisivativrijednosti. Njegova osnovna zadaa je da sauva vrijednost PC-a nakon to se iz glavnog programaskoi na adresu potprograma. Da bi se program znao vratiti odakle je poeo mora sa stoga vratiti
vrijednost PC-a. Sadraj sa stoga vraa se u programsko brojilo kod izvravanja instrukcija RETURN,RETLW ili RETFIE, koje se izvravaju na kraju potprograma.
4.9.3 Status registar
U status registru se upisuju aritmetiki status ALU (C, DC, Z), reset status (TO, PD) i bit-ovi zaodabir memorijske banke (IRP, RP1, RP0). Ovaj registar moe biti odredite za bilo koju instrukciju sbilo kojim drugim registrom. Ako je status registar odredite instrukcije koja utjee na Z, DC ili C bittada je upis u ova tri bit-a je onemoguen.
IRP RP1 RP0 TO PD Z DC C
R/W-0 R/W-0 R/W-0 R-1 R-1 R/W-x R/W-x R/W-x
bit 0bit 7
R bit koji se moe oitati U neiskoriten bit, ita se kao 0W bit koji se moe upisati n vrijednost nakon reseta
C (Carry) bit na koji utjeu operacije zbrajanja i oduzimanja, bit je setiran kada se oduzima manjavrijednost od vee
1 = pojavio se prijenos najvieg bit-a rezultata0 = nema prijenosa najvieg bit-a rezultata
DC (Digit Carry) isto kao i Carry samo ovaj bit predstavlja prijenos sa etvrtog mjesta1 = pojavio se prijenos na etvrtom mjestu0 = nema prijenosa
Z (Zero) bit je setiran kada je rezultat aritmetiko logike operacije nula1 = rezultat je nula0 = rezultat nije nula
PD (Power-down) bit je setiran nakon ukljuenja napajanja i svakog regularnog reseta1 = nakon ukljuenja napajanja0 = izvrenjem SLEEP instrukcije
TO (Time-out) bit je setiran nakon ukljuenja napajanja i izvrenja CLRWDT i SLEEP Instrukcije, aresetira kad doe do prekoraenja sigurnosnog brojaa
1 = nije bilo prekoraenja sigurnosnog brojaa0 = dolo je do prekoraenja sigurnosnog brojaa
RP1, RP0 (Register Bank Select) bit-ovi za izbor memorijske banke, RP1 je uvijek 001 = BANK 000 = BANK 1
IRP (Register Bank Select) osmi bit za indirektno adresiranje RAM-a, ne koristi se kod PIC 16F84 ine smije biti setiran
0 = banka 2 i 31 = banka 0 i 1
44
8/7/2019 SKRIPTA PIC16F84A CRO
46/137
4.9.4 Direktno adresiranje
Vri se preko 9 bit-ne adrese koja se dobije povezivanjem sedmog bit-a direktne adrese izinstrukcije i dva bit-a iz STATUS registra (RP1, RP0).
BANK 0 BANK 1
IRP0IRP1
+
00
7F
00 01
07
odabirbanke
odabirlokacije
Sl. 4.12 Direktno adresiranje
4.9.5 Indirektno adresiranje
Ovaj nain adresiranja ne uzima adresu iz instrukcije, ve je radi pomou IRP bit-a STATUSregistra i FSR registra. Adresiranoj lokaciji se pristupa preko INDF registra koji zapravo nije fizikiregistar ve se njegova adresa nalazi u FSR registru, FSR je pokaziva. Npr. ako memorijska lokacija05h sadri vrijednost 10h i ako memorijska lokacija 06h sadri vrijednost 0Ah, upiemo li vrijednost05h u FSR registar, INDF registar vratit e vrijednost 10h. Inkrementiranjem FSR registra, INDFregistar vratit e vrijednost 0Ah.
Sl. 4.13. Indirektno adresiranje
4.9.6 Relativno adresiranje
Adresa operanda u postupku relativnog adresiranja ovisi o smjetaju same naredbe unutarmemorije. Oblik naredbe koja koristi relativno adresiranje prikazano je na slici 4.14.
Adresa operanda izrauna se tako, da se adresi, na kojoj se nalazi kod postupka, pribroji pomak.Naziv relativno adresiranje potjee upravo od injenice, da je adresa operanda odreena relativnoprema poloaju, odnosno smjetzaju same naredbe. Relativni pomak rauna se kao dvojnikomplement, a to znai da on moe biti pozitivan i negativan.Budui da na raspolaganju stoji 8 bitova,
to je mogue adresirati bilo koju memorijsku lokaciju, udaljenu +127 ili -128 memorijskih lokacija odlokacija same naredbe.
45
8/7/2019 SKRIPTA PIC16F84A CRO
47/137
Naredbe koje koriste relativno adresiranje su duine dviju rijei, to ih ini prikladnim za upotrebu.Mana relativnog adresiranja je u relativno kratkom dometu adrese (+127, -128 memorijskih lokacija),te u potrebi za izraunavanjem relativnog pomaka prilikom pisanja programa. Formula po kojoj seizraunava stvarna adresa glasi:
Stvarna adresa (operanda ili skoka) = adresa naredbe+relativni pomak.
Sl. 4.14. Oblik naredbe Relativnog adresiranja
4.10 Prekidi (Interrupts)
Prekid je mehanizam mikrokontrolera koji omoguava da se na neke dogaaje odgovori u trenutkukada se oni dese, bez obzira to mikrokontroler radi u tom trenutku. Svaki prekid mijenja tokizvravanja programa, prekida ga, te nakon izvrenja prekidnog potprograma nastavlja na istommjestu (Slika 4.15). Kontrolni registar prekida naziva se INTCON i nalazi se na adresi 0Bh. Njegovauloga je da omogui ili zabrani prekide, a u sluaju da su zabranjeni, registrira pojedinane zahtjeveprekida preko svojih bitova.
Sl. 4.15. Prekid glavnog programa
PIC 16F84 ima etiri vrste prekida:
1. Vanjski na noici RB0/INT
B4, RB5, RB6 i RB7 noicama porta B
memoriju
Vdd
R
RB0/INTT
TOKIZVRAVANJAPROGRAMA
NASTAVAKNORMALNOG
TOKAIZVRAVANJAPROGRAMA
PROGRAMU KOM SE
OBRAUJEPREKID
2. Preljev timer-a TMR0
3. Prekid pri promjeni na R
4. Prekid nakon zavretka procesa upisivanja podataka u EEPROM
46
8/7/2019 SKRIPTA PIC16F84A CRO
48/137
GIE bit moe zabraniti ili omoguiti sve prekide odjednom. To je vrlo korisno kod pisanja programajer omoguuje da se na neko vrijeme zabrane svi prekidi. Prekidi koji su ostali ne rijeeni obrauju senakon ponovnog setiranja GIE bit-a. Ako se obradi bilo koji od ovih prekida mora se resetirati bit koji jeizazvao prekid jere se u suprotnom prilikom povratka u glavni program prekid ponovno obraditi.
EEIE
TOIE
RBIE
INTE
EEIF
TOIF
RBIF
INTFGIE
INTERUPT
Sl. 4.16. Shema prekida
Na slici 4.16. prikazana je opa shema prekida pomou sklopki. Pomou GIE sklopkeomoguujemo bilo koji od etiri mogua prekida. Koristei sklopke EEIE, TOIE, RBIF, INTEodreujemo vrste prekida, dok nam sklopke sa desne strane EEIF, TOIF, RBIF, INTF pokazuju koji seprekid dogodio nekom trenutku.
4.10.1 INTCON registar
BIF (RB Port Change Interrupt Flag) bit koji nam govori o promjeni na 4,5,6, ili 7-om pinu porta B
Interrupt Flag) bit koji nam govori da e dolo do vanjskog prekida
MR0 brojaaaenja
enja
,ina porta B
0 = onemoguena pojava prekida
INTE (INT External Interrupt Enable) bit k rekid sa pina RB0/INT
R
GIE EEIE T0IE INTE RBIE T0IF INTF RBIF
R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-x
bit 0bit 7
R bit koji se moe o