Documente Academic
Documente Profesional
Documente Cultură
Introducere
Obiective
Cuprins
CONVERTORUL ANALOG-DIGITAL
Obiective
3. Un registru de aproximri succesive (RAS) care va furniza convertorului digitalanalogic aproximri digitale ale tensiunii de intrare Vin
4. Un convertor digital-analogic care furnizeaz ctre comparator un semnal analogic
echivalent codului binar provenit de la registrul de aproximri succesive.
CONVERTORUL ANALOG-DIGITAL
Dup cum s-a putut observa pn acum, obinerea rezultatului conversiei este un
proces secvenial a crui durat depinde de numrul de bii necesar pentru reprezentarea
digital, dar i de frecvena de lucru. Timpul alocat conversiei unui bit se noteaz cu TAD, iar
pentru realizarea unei conversii complete de 10 bii este necesar un timp egal cu 11TAD.
Pentru a obine rezultate corecte, pe durata timpului de conversie tensiunea Vin trebuie s
rmn constant. De acest lucru se ocup circuitul de eantionare-memorare (Fig. 10.3)
prezent n structura modulului de conversie.
(10.1)
unde:
-
temperaturi mai mari de 25C TCOFF minim este 1.2s crescnd cu temperatura (se poate
aduga la acest coeficient cte 0.02s pentru fiecare C peste temperature de 25C). n aceste
condiii timpul de achiziie minim la temperaturi normale de lucru este TAQ = 2.4s.
Pe lng timpul de achiziie i timpul de conversie se recomand ateptarea unui timp
egal cu 3TAD pn la realizarea urmtoarei achiziii.
GO/
DONE
din registrul
ADCON0[1], care ndeplinete i rolul unui bit de stare care indic prin resetarea sa automat
terminarea conversiei i disponibilitatea rezultatului de 10 bii n regitrii ADRESH:ADRESL.
De asemenea, modulul de conversie analog digital poate genera o ntrerupere, terminarea
conversiei fiind semnalizat i prin setarea bitului indicator de ntrerupere ADIF din registrul
PIR1.
CONVERTORUL ANALOG-DIGITAL
Dup cum s-a vzut i n cazul altor module componente ale microcontrolerului, i
convertorul A/D dispune de un bit de validare ADON n registrul ADCON0[0] care are rolul
de a activa (ADON = 1) sau dezactiva (ADON = 0) modulul de conversie.
n Fig. 10.5 se prezint schema bloc simplificat a modulului de conversie A/D, iar n
Fig. 10.6 se prezint structura registrului ADCON0 urmat de descrierea biilor disponibili.
CHS3
CHS2
CHS1
CHS0
GO/
DONE
ADON
Biii 7-6
Neutilizai
Biii 5-2
Bit 1
Dup cum s-a amintit i n capitolul dedicat porturilor, canalele de intrare analogice
sunt multiplexate cu porturile de intrare-ieire digitale. Astfel, pinul corespunztor canalului
selectat ca intrare n convertor trebuie s fie configurat ca pin de intrare (prin registrul TRIS
corespunztor) i ca intrare analogic (prin biii PCFG3:PCFG0
ai registrului
ADCON1[3:0]).
Canalele analogice 2 (AN2) i 3 (AN3) ndeplinesc un dublu rol, prin faptul c pot fi
utilizate (opional) pentru a specifica tensiuni de referin externe pentru realizarea conversiei
A/D. De regul, tensiunile de referin corespund tensiunilor de alimentare ale
microcontrolerului (Vdd i Vss), dar exist situaii cnd referinele externe ofer o alternativ
mai puin zgomotoas, mai exact, dar i perspectiva unei precizii mai ridicate cnd semnalul
de intrare are o variaie mult mai mic dect plaja de alimentare de 0-5V. Dac se opteaz
pentru referine externe, atunci VREFH ar trebui s fie cuprins ntre Vdd/2 i Vdd+0.6V, iar
VREFL ntre Vdd-3V i Vss-0.3V. Indiferent de situaie, diferena ntre tensiunile de referin
utilizate VREFH-VREFL ar trebui s fie nu mai puin de 3V pentru Vdd3V i 1.8V pentru
Vdd<3V.
n Fig. 10.7 se prezint structura registrului ADCON1 urmat de descrierea biilor
disponibili.
7
VCFG1
VCFG0
PCFG3
PCFG2
PCFG1
PCFG0
Biii 7-6
Neutilizai
Biii 5-4
Biii 3-0
AN12
AN11
AN10
AN9
AN8
AN7
AN6
AN5
AN4
AN3
AN2
AN1
AN0
0000
0001
0010
0011
0100
0101
0110
0111
A
A
A
D
D
D
D
D
A
A
A
A
D
D
D
D
A
A
A
A
A
D
D
D
A
A
A
A
A
A
D
D
A
A
A
A
A
A
A
D
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
A
CONVERTORUL ANALOG-DIGITAL
1000 D
D
D
1001 D
D
D
1010 D
D
D
1011 D
D
D
1100 D
D
D
1101 D
D
D
1110 D
D
D
1111 D
D
D
A = intrare analogic
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D
D A A A A A
D D A A A A
D D D A A A
D D D D A A
D D D D D A
D D D D D D
D D D D D D
D D D D D D
D = intrare / ieire digital
A
A
A
A
A
A
D
D
A
A
A
A
A
A
A
D
000
2TOSC
2.86 MHz
100
4TOSC
5.71 MHz
001
8TOSC
11.43 MHz
101
16TOSC
22.86 MHz
010
32TOSC
45.71 MHz
110
64TOSC
48.0 MHz
111
1.00 MHz
Aceste cazuri sunt prevzute pentru funcionarea n regim SLEEP (cu consum redus de energie), tactul de
conversie provenind de la oscilatorul intern.
8
CONVERTORUL ANALOG-DIGITAL
Rezultatul conversiei A/D este reprezentat pe 10 bii, n consecin acesta necesit doi
regitri pentru a fi stocat. Deoarece capacitatea total a celor doi regitri ADRESH:ADRESL
este de 16 bii, rezultatul conversiei poate fi aliniat la stnga sau la dreapta. n Fig. 10.9 se
prezint modul de aliniere al rezultatului n funie de starea bitului ADFM din registrul
ADCON2[7].
9
0
0
ADRESH
Rez. conv.
A/D MSb
ADRESL
a)
Rez. conv.
A/D LSb
ADRESH
0
0
ADRESL
b)
Fig. 10.9. Rezultatul conversiei A/D
a) aliniere la dreapta ADFM = 1 b) aliniere la stnga ADFM = 0
Exist aplicaii n care 8 bii de date sunt suficieni pentru a reprezenta rezultatul
conversiei. n aceste cazuri se recomand alinierea rezultatului la stnga (ADFM=0), utilizarea
datelor din registrul ADRESH i ignorarea celor doi bii mai nesemnificativi din registrul
10
VREF + VREF
(rezultatConversie )
1024
(10.2)
ADFM
ACQT2
ACQT1
ACQT0
ADCS2
ADCS1
ADCS0
Bit 7
Bit 6
Neimplementat
Biii 5-3
Biii 2-0
CONVERTORUL ANALOG-DIGITAL
configurarea pinilor ANx utilizai ca pini de intrare, prin setarea biilor corespunztori
n regitrii TRIS;
GO/ DONE
GO/ DONE
PIR1[6];
ATENIE se recomand ca bitul GO/ DONE s nu fie setat n aceeai instruciune n care se pornete modulul
de conversie A/D
12
Exemplu
BTFSC ADCON0, GO
13
CONVERTORUL ANALOG-DIGITAL
14
;citire date
Teste de
autoevaluare
1.
2.
3.
4.
5.
[1]
[2]
Bibliografie
[4]
[5]
www.microchip.com
15
CONVERTORUL ANALOG-DIGITAL
Convertor Analog-Digital
Circuit care are la intrare o mrime analogic (curent, tensiune) i
Dicionar
16