sini ša stoilković 10984 mladen pavlović 10922 slaviša popovi ć 10937
DESCRIPTION
Elektronski fakultet Niš Katedra za elektroniku Seminarski rad iz Mikroproces orskih sistema Mentor: prof. dr Mile Stojčev. SPREGA MIKROKONTROLERA PIC16F877 SA PARALELNIM PERIFERIJSKIM INTERFEJSOM 8255A I D/A KONVERTOROM DAC0832LCV. Sini ša Stoilković 10984 Mladen Pavlović 10922 - PowerPoint PPT PresentationTRANSCRIPT
Elektronski fakultet NišKatedra za elektroniku
Seminarski rad iz Mikroprocesorskih sistemaMentor: prof. dr Mile Stojčev
Siniša Stoilković 10984
Mladen Pavlović 10922
Slaviša Popović 10937
SPREGA MIKROKONTROLERA PIC16F877 SA PARALELNIM PERIFERIJSKIM INTERFEJSOM 8255A I D/A KONVERTOROM DAC0832LCV
FOTOGRAFIJA UREĐAJA
UVODNA REČ
• Ideja autora rada koji je pred vama bila je da se ilustruje način sprezanja mikrokontrolera PIC16F877-04 sa paralelnim periferijskim interfejsom (PPI) 8255 i D/A konvertorom DAC0832.
• Prvo poglavlje sadrži opis mikrokontrolera PIC16F877-04. Zatim je u kratkim crtama opisan PPI 8255. U trećem i četvrtom poglavlju su izloženi principu D/A i A/D konverzije.
• Električna šema i izgled štampane ploče projekta sa objašnjenjima ilustrovani su u petom poglavlju. U istom poglavlju se nalazi izgled programa u mikroC-u i asembleru.
• Ovde želimo da istaknemo kako je mikrokontroler isprogramiran preko AllPIC programatoru uz pomoć softvera IC-Prog.
MIKROKONTROLER PIC16F877
CnizaMSBakondezatorsuma
nizaLSBakondezatorsumaCatten
PIC16F877 – OPŠTE
• PIC16F877 je Microchip-ov 8-bitnom CMOSmikrokontroler baziran na flash tehnologiji.To znači da u samom čipu postoji programska memorija koja se upisuje i briše električnim putem, što je daleko naprednije od brisanja EPROM-a UV zracima.
• RISC arhitektura omogućuje odvojene magistrale 8-bitnih podataka i 14-bitne programske memorije, pa je moguće da se pribavlja naredna instrukcija dok se izvršava tekuća (eng. pipelining). Sve instrukcije traju jednako (osim u slučaju grananja programa) i završe se za četiri ciklusa oscilatora. Dakle, ako je oscilator konfigurisan na 4 MHz, dobija se da ciklus instrukcije iznosi 1 µs.
• Jezgro mikrokontrolera PIC16F877 proizvodi se u 40- pinskom (DIP) ili u 44-pinskim kućištima (QFP i PLCC).
PIC16F877 – KOMPONENTE
• Flash programska memorija – 8 kword• RAM (File Registers) – 368 bajtova• Aritmetičko-logička jedinica (ALU)• Akumulator (Working Register)• Hardverski magacin (Stack) sa 8 nivoa• EEPROM memorija podataka – 256 bajtova• Razne periferne jedinice (portovi, tajmeri, ADC, USART)
PIC16F877 – ARHITEKTURA
PIC16F877 – MAPA PROGRAMSKE MEMORIJE
PIC16F877 –STRUKTURA MEMORIJE
Strukturu memorije kod mikrokontrolera čine tri odvojena bloka:
• Programska memorija• Memorija podataka• EEPROM memorija podataka.
PIC16F877 – MAPA REGISTARA
PIC16F877 – FORMAT INSTRUKCIJE
PIC16F877 – SET INSTRUKCIJA
PPI INTEL 8255
• Integrisano kolo 8255 pripada grupi programibilnih (paralelnih) periferijskih interfejsa (Programmable Peripheral Interface) skraćeno PPI
• Funkcionalna konfiguracija kola 8255 je definisana (programirana) sistemskim softverom, tako da nije potrebna spoljašnja logika za povezivanje periferijskih uređaja ili sistema.
PPI 8255 – INTERNA ORGANIZACIJA
PPI 8255 – REŽIMI RADA
• Mod 0 (svaka grupa od 12 ulazno-izlaznih pinova može da se programira u skupove od po 4, koji se definišu kao ulaziili kao izlazi)
• Mod 1 (svaka grupa može da se programira da ima po 8 linija ulaza ili izlaza. Od preostalih četiri, tri pina se koristeza signale handshake protokola,a jedan za kontrolu prekida)
• Mod 2 (predstavlja dvosmerni rad magistrale koja koristi 8 linija za dvosmernu magistralu, i 5 linija, tako što pozajmljuje jednu od ostalih grupa, za handshake protokol)
PPI 8255 – SASTAVNI DELOVI
• Bafer magistrale podataka• Kontrolna logika• Kontrola Grupe blokova A i B• Port A• Port B• Port C
PPI 8255 – FUNKCIONALNA BLOK ŠEMA
PPI 8255 – KONTROLNI PINOVI
A1 A0 __CS
__RD
__WR
Ulazne operacije (READ)
0 0 0 0 1 PORT A → DATA BUS
0 1 0 0 1 PORT B → DATA BUS
1 0 0 0 1 PORT C → DATA BUS
Izlazne operacije (WRITE)
0 0 0 1 0 DATA BUS → PORT A
0 1 0 1 0 DATA BUS → PORT B
1 0 0 1 0 DATA BUS → PORT C
1 1 0 1 0 DATA BUS → CONTROL
Nemoguće funkcije
x x 1 x x neaktivno stanje
1 1 0 0 1 neaktivno stanje
x x 0 1 1 neaktivno stanje
PPI 8255 – PORTOVI
• Port A: sadrži jedan 8-bitni izlazni leč/bafer i jedan 8-bitni ulazni leč.
• Port B: sadrži jedan 8-bitni ulazno/izlazni leč/bafer i jedan8-bitni ulazni bafer.
• Port C: sadrži jedan 8-bitni izlazni leč/bafer i jedan 8-bitni ulazni bafer (nema leča na ulazu). Ovaj port može da se podeli na dva 4-bitna porta u zavisnosti od režima rada (moda) kola 8255. Svaki 4-bitni port sadrži 4-bitni leč i može da se koristi za izlaze kontrolnih signala i ulaze statusnih signala zajedno sa Portom A i Portom B.
PPI 8255 – Mod 0
• Dva 8-bitna i dva 4-bitna porta• Svaki port može da bude ulazni i izlazni• Izlazi su lečovani• Ulazi nisu lečovani• U ovom režimu su moguće 16 različitih ulazno/izlaznih
konfiguracija.
PPI 8255 – Mod 1
• Postoje dve grupe blokova (Grupa A i Grupa B)• Svaka grupa sadrži jedan 8-bitni port podataka i jedan 4-
bitni kontrolni ili port podataka• 8-bitni port podatka može biti ili ulazni ili izlazni. I ulazi i
izlazi su lečovani• 4-bitni port se koristi za kontrolu i status 8-bitnog porta
podataka.
PPI 8255 – Mod 2
• Koristi se samo u Grupi A• Jedan 8-bitni, bidirekcioni (dvosmerni) port (Port A) i 5-bitni
kontrolni port (Port C)• I ulazi i izlazu su lečovani• 5-bitni kontrolni port (Port C) se koristi za kontrolu i status
8-bitnog, bidirekcionog (dvosmernog) porta (Port A)
PPI 8255 – /Mod 0/ SPREGA SA A/D KONVERTOROM
PPI 8255 – /Mod 1/ SPREGA SA TASTATUROM I ŠTAMPAČEM
PPI 8255 – /Mod 2/ SPREGA VIŠE PROCESORA
D/A KONVERTORI (DAC)
• Integrisano kolo koje na osnovu grupe ulaznih bitova (bit stream), poslate najčešće od strane mikroprocesora, kreira izlazni analogni signal srazmeran digitalnom ulazu.
• Naziv uređaja D/A konvertor je skraćenica za digitalno-analogni konvertor, a često se u literaturi koristi i engleska skraćenica DAC (Digital-Analog Converter).
DAC–DIGITALNI KODOVI
Komparacija digitalnih ulaznih kodova
DAC–OTPORNI NIZ
Niz otpornika
(a) Jednostavni D/A konvertor sa otpornim nizom,
(b) korišćenje binarnog prekidačkog polja radi smanjenja izlazne kapacitivnosti
DAC–OTPORNI NIZ nastavak
Greške neuparenosti kod D/A konvertora sa otpornim nizom
iR
i
k
kNREF
idealii R
RVVV
1, 2
NREF
ideali
ViV
2
)(,
- greška neusaglašenosti
DAC–OTPORNI NIZ nastavak
Integralna nelinearnost D/A konvertora sa otpornim nizom
- Za toleranciju otpornika od 2%
idealii VVINL ,
i
k
kNREF
R
RVINL
12
REFN
kN
NREF
i
k
kNREF
VmatchingLSB
R
RV
R
RVINL
01.0)(%22
1
2
22
1
1max
RRR k 02.002.0
DAC–OTPORNI NIZ nastavak
Diferencijalna nelinearnost D/A konvertora sa otpornim
nizom
- Za toleranciju otpornika od 2% RRR k 02.002.0
R
RVV
R
RVDNL i
NREF
NREFi
NREF
i
22
12
R
RVV
R
RVDNL i
NREF
NREFi
NREF
i
22
12
DAC–LESTVIČASTE MREŽE
R-2R D/A konvertor
Ftotout Riv R
VDi
kNREF
N
kktot 2
1
2
1
0
Dk – k-ti bit ulazne reči čija vrednost može biti 1 ili 0
DAC ZASNOVAN NA "KRAĐI" STRUJE
Opšti D/A konvertor sa strujnom kontrolom
Ii Nout 120
DAC ZASNOVAN NA "KRAĐI" STRUJE nastavak
12,...3,2,1 Nkk kforIII
greška struje usled neuparenosti
Greške neuparenosti D/A konvertora sa krađom struje
maxI
INL
N IINLmax
1
max2
NNINL
III
22
5.01max,
Maksimalna integralna nelinearnost:
Maksimalna diferencijalna nelinearnost:
DNLkDNLk IIIIDNLmax,max,max
ILSBIDNL 2
1
2
1max,
DAC ZASNOVAN NA "KRAĐI" STRUJE nastavak
Strujno kontrolisani D/A konvertor sa težinskim strujnim izvorima
DAC ZASNOVAN NA "KRAĐI" STRUJE nastavak
Greške neuparenosti D/A konvertora sa krađom struje
Maksimalna integralna nelinearnost:
Maksimalna diferencijalna nelinearnost:
INL
NN
INL
N IIIIINLmax,
11
max,
1
max222
DNLN
DNLN
DNLN
I
IIIIIDNL
max,1
max,1
max,1
max
2
122
222
5.011max,
NNDnl
III
DAC SA SKALIRANIM TOVAROM
(a) D/A konvertor sa skaliranjem napona,
(b) ekvivalentno kolo sa MSB=1 i svim ostalim bitovima jednaki nuli
1
0
2N
kREF
Nkkout VDv
DAC SA SKALIRANIM TOVAROM nastavak
D/A konvertor sa razdeljenim nizom
CnizaMSBakondezatorsuma
nizaLSBakondezatorsumaCatten
DAC - PRENOSNA KARAKTERISTIKA
Blok diagram DAC
Idealna prenosna karakteristika 3-bitnog D/A konvertora
REFout FVv
N
DF
2
REFN
N
FS VV2
12
VFS – Napon pune skale
DAC - DIFERENCIJALNA NELINEARNOST
DNLn = (stvarna vrednost priraštaja tranzicije n)
– (idealna vrednost priraštaja)
Primer diferencijalne nelinearnosti za 3-bitni D/A konvertor
DAC - INTEGRALNA NELINEARNOST
INL = (izlazna vrednost ulaznog koda n)
– (izlazna vrednost referentne linije u toj tački)
Merenje INL sa prenosne karakteristike D/A konvertora
DAC - INTEGRALNA NELINEARNOST nastavak
Primer integralne nelinearnosti 3-bitnog D/A konvertora
DAC - OFSET
Prikaz ofset greške 3-bitnog D/A konvertora
DAC - GREŠKA POJAČANJA
Prikaz greške pojačanja 3-bitnog D/A konvertora
Greška pojačanja = Idealni nagib – aktuelni nagib
DAC - ZAKLJUČAK
Otporni niz
- visoka tačnost (za veliku ulaznu impendansu i odgovaraću toleranciju otpornika),
- izlaz je uvek monoton,
- INL je ograničavajući faktor visoke rezolucije (2N puta veći od DNL).
Lestvičaste R-2R mreže
- realizacija zahteva manji broj otpornika.
Konvertor zasnovan na krađi struje
- velika brzina,
- velika strujna sposobnost (ne zahteva bafere).
DAC - ZAKLJUČAK nastavak
Konvertor sa skaliranim tovarom
- postojanje parazitne kapacitivnosti ograničava visoku rezoluciju.
Ciklični konvertor
- tačnost zavisi od tačnosti pojačanja pojačavača,
- N-to bitna konverzija zahteva N taktnih intervala.
Protočni konvertor
- veoma brza arhitektura,
- inicijalno kašnjenje od N taktnih intervala,
- visoka rezolucija zahteva veliku tačnost pojačanja pojačavača,
- N puta veći broj kola od ciklične arhitekture.
A/D KONVERTORI (ADC) - PRIMENE
• Analogno-digitalna konverzija predstavlja generisanje digitalnog kodovanog broja koji odgovara analognom ulaznom signalu. Elektronsko kolo koje vrši konverziju naziva se analogno-digitalni konvertor, ili skraćeno A/D konvertor (ADC).
Primene:
Akvizicija podataka
Precizno merenje u industriji
Audio i video procesiranje
Instrumente koji se baterijski napajaju
Satelitske komunikacije
Digitalne osciloskope i dr.
PRINCIPIJELNA ŠEMA A/D KONVERTORA
• Elementaran analogno-digitalni konvertor je naponski komparator. Ulazni analogni signal -Vul, komparator konvertuje u jednobitnu digitalnu informaciju D=d0, tako da d0=0 označava da je Vul<V1, a d0=1 da je Vul>V1, gde je V1 unapred određen naponski prag.
IDEALNA KARAKTERISTIKA A/D KONVERTORA
• Karakteristika prenosa A/D konvertora u slučaju da postoji 8 nivoa komparacije ulaznog napona. Ulazni napon se menja od 0 do VPS a izlazna digitalna informacija ima 9 diskretnih stanja.
KLASE A/D KONVERTORA
• A/D konvertori se klasifikuju po načinu ili brzini konverzije. Najčešće se koriste tri klase:
Vrlo brzi A/D konvertori, nazivaju se i direktni ili fleš A/D konvertori.
Konvertori srednje brzine, koji napon na ulazu porede sa referentnim naponom generisanim D/A konvertorom.
Konvertori male brzine, nazivaju se i serijski A/D konvertori , A/D konvertori sa vremenskim ekvivalentom, ili integratorski A/D konvertori.
INTEGRIRAJUĆI A/D KONVERTORI
• A/D konverzija odvija kroz proces kvantizacije vremenskog intervala koji predstavlja ekvivalent naponu na ulazu u konvertor, pa se nazivaju konvertori sa vremenskim ekvivalentom.
Konverzija se odvija u dva koraka: Transformacija ulaznog napona u vremenski interval Kvantizacija dobijenog vremenskog intervala.
• Vremenski interval se dobija sa sledećeg inegratora:
OSOBINE I UPOTREBA INTEGRIRAJUĆIH A/D
KONVERTORI
• Integrirajući A/D konvertori se koristiti za konverziju podataka sa visokom tačnošću i malom brzinom.
• Ovi A/D konvertori su spori jer su signali sporopromenljivi.
• Greška ofseta kod ovih konvertora je mala i mogu imati visoku linearnost.
• Imaju široku upotrebu u mernim instrumentima za merenje napona i struje.
• Osetljivi su na promene temperature.
FLEŠ A/D KONVERTORI
• Fleš A/D konvertori (Flash ADC) zovu se i paralelni A/D konvertori.
• Spadaju u klasu najbržih A/D konvertora. • Fleš A/D konvertori troše puno energije, imaju relativno nisku
rezoluciju i mogu biti veoma skupi, što ih ograničava na korišćenje u aplikacijama sa visokim frekvencijama.
• Koriste se za akviziciju podataka, satelitske komunikacije, radarsku obradu, digitalne osciloskope i visokonaponske disk drajvere.
OSNOVNA BLOK ŠEMA FLEŠ A/D KONVERTORA
PRATEĆI A/D KONVERTOR
• Prateći A/D konvertor koristi D/A konvertor kao referencu za formiranje digitalnog ekvivalenta analognog signala.
Logička šema pratećeg A/D konvertora:
PRINCIP RADA PRATEĆEG A/D KONVERTORA
• Sastoji se od obostranog brojača, D/A konvertora i komparatora.
• Brojač se taktuje signalom TAKT, koji se može zabraniti signalom GATE, ako je GATE=0.
• Komparator poredi ulazni napon Vul sa izlaznim naponom iz D/A konvertora Viz.
• Ako je Vul > Viz => k=1 pa brojač broji unapred, povećava sadržaj obostranog brojača => Viz raste dok ne dostigne Vul.
• Kada postane Vul < Viz, menja se stanje izlaza komparatora i brojač počinje da broji unazad.
VREMENSKI DIJAGRAM NAPONA PRATEĆEG A/D KONVERTORA
• Dok je GATE=0 na brojač ne stižu taktni impulsi, brojač ne menja sadržaj tako da i napon na izlazu D/A konvertora ne menja vrednost. Kada je GATE=1, brojač u zavisnosti od logičkog nivoa izlaza komparatora broji unapred ili unazad, a napon na izlazu D/A konvertora teži da dostigne Vul i da prati promene Vul.
ADC SA SUKCESIVNOM APROKSIMACIJOM (SAR)
• A/D konvertori sa sukcesivnim aproksimacijama (SAR ADC) imaju malu potrošnju i zauzimaju relativno malo mesta na silicijumskoj pločici.
Primena: instrumenti koji su baterijski napajani, industrijska kontrola, akvizicija podataka i mnoge druge.
• 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 SAR KONVERTORA
PRINCIP RADA SAR A/D KONVERTORA
• Maksimalni ulazni napon je Vulmax i on je jednak naponu pune skale Vps tj. Vulmax = Vps . Maksimalni izlazni napon iz D/A konvertora Viz je za 1 LSB manji od napona Vps.
• Kada je Qn-1 =1, a svi ostali na nulu, generisati napon Viz = Vps/ 2. Sledeći bit Qn-2=1 ima težinu Vps / 4, tj. svaki sledeći bit ima težinu upola manju od predhodnog.
• Kontrolno logičko kolo postavlja “1” u bit najveće težine registra sukcesivnih aproksimacija (Qn-1). D/A konvertor generiše napon Viz = Vps / 2 koji se poredi sa Vul i na osnovu izlaza komparatora resetuje (ako je k=0), ili ne resetuje (ako je k=1) flipflop u registru sukcesivnih aproksimacija, čime je definisan bit najveće vrednosti Qn-1 izlazne informacije, a zatim postavlja drugi bit po težini Qn-2 na logičku jedinicu. Komparator poredi novu vrednost Viz (koja je Vps / 4 ili 3Vps / 4 ) sa Vul.
PROMENA NAPONA D/A KONVERTORA PRI A/D
KONVERZIJI
PROMENA NAPONA D/A KONVERTORA PRI A/D
KONVERZIJI• Pretpostavlja se ulazni napon 11/16>VPS/VUL>5/8. Postavlja
se kod “1000” u SAR, tj. VIZ=VPS/2.• Pošto je VUL>VIZ, na osnovu k=1, u trenutku t1 kontrolna
logika ne resetuje Q3, čime je određen bit izlazne informacije.• Sada se postavlja Q2=1, tj. kod je “1100”, a izlazni napon D/A
konvertora se postavlja na VIZ=3VPS/4.Sada je Vul < Viz, kontrolna logika u trenutku t2, na osnovu k=0 resetuje Q2 i bezuslovno postavlja Q1=1.
• U trenutku t4 se na osnovu k=0 resetuje Q0, tako da je konačan rezultat konverzije koji je ostao u registru sukcesivnih aproksimacija Q3Q2Q1Q0="1010“.
• Isprekidanom linijom je prikazana konverzija Vul < Vps / 16. Nakon četiri koraka sukcesivnih aproksimacija, kao rezultat konverzije se dobija stanje Q3Q2Q1Q0="0000".
ADC SA SUKCESIVNOM APROKSIMACIJOM (SAR)
Brzina SAR ADK je ograničena sa: • Vremenom smirivanja D/A konvertora, • Komparatorom, koji za određeno vreme mora da detektuje
male razlike između napona Vul i Viz, • Vremenom izvršavanja logičkih operacija.
Najvažnije prednosti SAR konvertora: • mala potrošnja, visoka rezolucija, tačnost i to što zauzimaju
malo mesta na silicijumskoj pločici.
Glavna ograničenja u strukturi:• 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.
GREŠKE A/D KONVERTORA
• U praksi A/D konvertori neće imati idealnu karakteristiku zbog ograniča u materijalima.
• 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.
Postoje dve metode za utvrđivanje ukupne greške: metoda kvadratnog korena sume kvadrata grešaka (root-
sum-square - RSS) i metoda najgoreg slučaja.
PROJEKAT
Projekat ilustruje tri procesa koja kontroliše mikrokontroler PIC16F877-04:
•A/D konverziju (vrši je interni ADC u mikrokontroleru),•D/A konverziju (vrši je interni eksterni DAC0832LCV),•obradu informacije sa PPI D71055C (NEC-ova zamena
za PPI Intel 8255).
PROJEKAT - BLOK ŠEMA
PROJEKAT – ELEKTRIČNA ŠEMA
Gnd
C3
100uF
Gnd
C5
47nF
C1
100uF
Gnd
D1
1N5819
Gnd Gnd
R1
10K
Gnd
MCLR1
PA02
PA13
PA24
PA35
PA46
PA57
RD8
WR9
PC217
PD221
PD322
PC423
PC524
PC625
PC726
PD427
PD528
PD629
PD730
CS10
VDD11
VSS12
OSC113
OSC214
PC015
PC116
PC318
PD019
PD120
VSS31
VDD32
PB033
PB134
PB235
PB336
PB437
PB538
PB639
PB740
U3
PIC16F877
Gnd
Gnd
T1
LED7
LED0
LED1
LED2
LED4
LED3
LED5
LED6
Y1
4MHz
C8
22pF
C9
22pF
Gnd
Gnd
DC Power Vin1
Gnd
2
Vout3
U1
LM78M05
16V16V
LED8
Gnd
R3
2K2
Gnd
Vin1
Gnd
2
Vout3
U2
LM78M05
Gnd
C2
100uF16V
C4
100uF
Gnd
C6
47nF
Gnd
16V
Gnd
P1
10K
7.5V
LED17
LED10
LED11
LED12
LED14
LED13
LED15
LED16
12345678
9
RN2
2K2 Gnd
LED9
Gnd
R2
2K2
J3
J1J2
Gnd
R4 10K
Gnd
P2
10K
ACDC
PA31
PA22
PA13
PA04
RD5
CS6
GND7
A18
A09
PC317
PB321
PB422
PB523
PB624
PB725
VCC26
PD727
PD628
PD529
PD430
PC710
PC611
PC512
PC413
PC014
PC115
PC216
PB018
PB119
PB220
PD331
PD232
PD133
PD034
RESET35
WR36
PA737
PA638
PA539
PA440
U4
D71055C
J4
Gnd
R710K
1 2 3 4 5 6 7 8
CN2
12345678
CN1
Gnd
1 2 3 4 5 6 7 8
9
RN3
10KGnd
J5
R5
10K
J6
R6
10K
Gnd
Gnd
C7
47nF
12345678
9
RN1
2K2
Gnd
Gnd
Gnd
GndGnd
GndGnd
J8
J7
R9
4K7
R8
4K7
Gnd
Gnd
Gnd
OutAA-A+V- B+
B-OutBV+
U6
LF353
R11
20K
R10
10K
R12
20KOut
Gnd Gnd
Gnd
P3
10K
1 2
CN3
Gnd
CSWR1GNDD3D2D1D0VREFFB
WR2ILE
VCC
D5D4
XFER
OUT2D7D6
OUT1GND
U5
DAC0832
1 2 3 4 5 6 7 8
16
15
14
13
12
11
10
9
SD1
SW DIP-8
PROJEKAT - OPIS
•Prva grupa LED dioda (LED0-LED7) koje su povezane naPort C mikrokontrolera PIC16F877 detektuju stanja naPortu D, koji je povezan sa paralelnim periferijskiminterfejsom (PPI) D71055C. •Druga grupa LED dioda (LED10-LED17) detektuje (indicira)8-bitnu reč koja se dobija A/D konverzijom signala koji sedovode na odgovarajuće pinove Porta A.•Mikrokontroler radi na frekvenciji od 4 MHz, a resetuje setasterom T1. Na pin PA0 se dovodi jednosmerni (DC) signal,a na PA1 naizmenični (AC) signal.•Koji signal će biti propušten, zavisi od položaja džampera
J2tj. stanja na pinu P2. Ukoliko je P2=1 (džamper nijepostavljen), tada se propušta DC signal. Za PA2=0 propušta se AC signal.
PROJEKAT - OPIS
• Programski je definisano da se DC signal odabira (uzorkuje,sempluje, eng. sampling) sa frekvencijom 100 Hz, a AC signal – sa frekvencijom 10 KHz.
• Kada je u pitanju PPI D71055C, napomenućemo da se on nalazi u Modu 0. Tokom rada, stanja njegovih kontrolnih/upravljačkih signala su sledeća:
• Stanja pinova/signala A1 i A0 se zadaju preko džampera J5 i J6 (oba su postavljen, pa je A1= 0 i A0= 0), a PIC16F877-04 generiše signale CS = 0, RD = 0 i WR = 1.
• Stanja na Portu A PPI D71055C zadaju preko 8-pinskog prekidača SW DIP-8. Postoji mogućnost proširenja – preko konektora CN1 i CN2 su izvučeni Port C i Port B, respektivno.
A1 A0 __CS
__RD
__WR OPERACIJA
0 0 0 0 1 PORT A → DATA BUS
PROJEKAT - PROGRAM U MIKROC-u
long v1, v2; // Definisanje varijabli.void main() {TRISA = 0b000111; // Definisanje i inicijalizacija Portova TRISB = 0x00; // A,B,C i D.
TRISC = 0x00; TRISD = 0xFF; TRISE = 0x00; PORTA = 0b000000; PORTB = 0x00; PORTC = 0x00; PORTD = 0x00; ADCON1 = 6; // Konfiguracija analognih i digitalnih
// pinova.
PROJEKAT - PROGRAM U MIKROC-u nastavak
do {
PORTA.F3 = 0; // Definisanje signala Cs, Rd i Wr. PORTA.F4 = 0; PORTA.F5 = 1;PORTC = PORTD; // Stanje sa Porta D se «preslikava»
// na_Port C.
if (PORTA.F2 == 1) {
v1 = ADC_Read(0); // A/D konverzija DC signala. PORTB = v1 >> 2; // Prikazujemo samo 8 bitova, a niža 2
// bita se odbacuju.
PROJEKAT - PROGRAM U MIKROC-u nastavak
delay_ms(10); // Odabira se sa frekvencijom od 100 Hz.
} if (PORTA.F2 == 0) {
v2 = ADC_Read(1); // A/D konverzija AC signala. PORTB = v2 >> 2; delay_us(100); // Odabira se sa frekvencijom od 10 KHz. } } while(1);
}
ISPITIVANJE LINEARNOSTI ADC-a
• Da bi se ispitala linearnost ADC, neophodno je da se džamperi postave kao na sledečoj slici. Džamper J1 je postavljen (kratko spojen), J2 je otvoren, dok je J3 postavljen u gornji položaj.
• Na slici je izabrana varijanta dovođenja internog napona preko P1 (0-5V). Žutim kvadratićem je obeležen napon na ulazu ADC-a, crvenim kvadratićem je označen izlazni napon iz DAC, dok su zelenim bojama istaknute (neke) pozicije masa (GND) u kolu.
• Ispitivanje je izvedeno u celom opsegu (0-5V) u 20 tačaka. • U Tabeli su dati rezultati probnog merenja, koji su uneti na
grafiku što predstavlja zavisnost izlaznog napona ADC-a (8-bitna kôdna reč) od njegovog ulaznog (analognog) napona.
• Merenja su izvršena korišćenjem standardnog digimera DT9208A, a crtanje grafika je urađeno u programu Mathematica 5.1.
POLOŽAJ DŽAMPERA KADA SE NA ADC DOVODI NAPON SA P1
TABELA DOBIJENIH VREDNOSTI
GRAFIČKI PRIKAZ LINEARNOSTI ADC-a
• Karakteristika odstupa od linearnosti pri kraju opsega i dobija paraboličnu komponentu, ali je ova nelinearnost zanemarljivo mala.
ZAKLJUČAK
•Prvo poglavlje sadrži opis karakteristika mikrokontroleraPIC16F877-04 (arhitektura, organizacija memorije, moduliunutar kontrolera itd.)•U drugom poglavlju su opisani arhitektura i princip PPI8255. Na kraju ovog poglavlja prikazano je nekoliko praktičnih primena ovog interfejsa.•U trećem poglavlju opisani su principi D/A konverzije ikarakteristike najčešće koričćenih D/A konvertora (DAC) –sa otpornim nizom, lestvičasti, DAC sa «krađom» struje,DAC sa težinskim izvorima, DAC sa skaliranim tovarom).•Četvrto poglavlje sadrži detaljan opis A/D konverzije i principe rada najčešće korišćenih A/D konvertora (ADC) – integrirajući ADC, prateći ADC, ADC sa sukcesivnomaproksimacijom, sigma-delta ADC, fleš (eng. flash) ADC.
ZAKLJUČAK nastavak
•U petom poglavlju prikazani su električna šema i izgledštampane ploče projekta sa objašnjenjima uloga i funkcijakomponenata u kolu. Na kraju poglavlja prikazani suprogram mikrokontrolera u mikroC-u i asembleru, kao iizgled heksadecimalnog kôda.•Šesto poglavlje sadrži laboratorijsku vežbu za samostalanrad studenata. Zadatak studenata je da ispitaju linearnostA/D konvertora koji je integrisan u mikrokontroleru, kao daprovere rad PPI u Modu 0 preko SW DIP8 prekidača.
CV – SINIŠA STOILKOVIĆ
CV - MLADEN PAVLOVIĆ
CV – SLAVIŠA POPOVIĆ