You are on page 1of 31

Microcontrolere

Curs 6

Ș.l. dr. ing. Mihai Niculescu


Cuprins

 Modulul de conversie A/D


 Noțiuni generale
 Moduri de funcționare
 Configurarea

2
Noțiuni generale

 Un convertor A/D transformă o tensiune analogică într-o


valoare numerică

 Valoarea numerică se reprezintă pe un număr de biți N

 Convertorul folosește o tensiune de referință între Vref-


și Vref+ care determină plaja de tensiune de intrare
care poate fi convertită
 De obicei Vref- este 0V
3
Noțiuni generale

 Conversia A/D se realizează prin cuantificare:


 plaja de tensiune de intrare este împărțită într-un număr
finit de trepte
 tensiunea de intrare Vin este aproximată prin treapta cea
mai apropiată ca valoare

 Definiție: rezoluția convertorului A/D se notează cu


1LSB și reprezintă valoarea minimă cu care trebuie să
varieze tensiunea de intrare Vin pentru a determina
modificarea cu o unitate a rezultatului conversiei

4
Noțiuni generale

 Dacă notăm cu C rezultatul conversiei, unde


,
atunci tensiunea de intrare Vin este

 Orice convertor are un timp de eșantionare și implicit o frecvență de


eșantionare
 trebuie ținut cont de criteriul Nyquist:

unde reprezintă frecvența maximă prezentă în semnalul de intrare


5
Circuitul de eșantionare și reținere
(S/H)
 Este necesar pentru a menține stabil nivelul de tensiune
pe durata conversiei

 Dezavantaje:
 Poate mări timpul de conversie
 Poate introduce erori/perturbații

6
Tipuri constructive principale

 Flash sau paralel

 Tracking

 Cu aproximații succesive

7
Convertor de tip
flash

8
Convertor de tip flash

 Avantaje:
 Frecvențe de eșantionare foarte mari, de ordinul GHz

 Dezavantaje:
 Cuantificare pe număr redus de biți, de obicei 8
 Consum ridicat de energie
 Este necesară precizie ridicată pentru componente
 Preț mare
9
Convertor de tip tracking

bN-1

b0

10
Convertor de tip tracking

 Avantaje:
 Structură simplă
 Cuantificare pe număr ridicat de biți, de obicei 16
 Preț redus

 Dezavantaje:
 Timp mare necesar pentru ”fixarea” pe semnalul de
intrare
 Rezultatul conversiei variază permanent, chiar dacă
tensiunea de intrare este stabilă
 Frecvențe de eșantionare mici 11
Convertor cu aproximații succesive

bN-1

b0

12
Convertor cu aproximații succesive

 Avantaje:
 Structură simplă
 Cuantificare pe număr ridicat de biți, de obicei 16
 Consum redus de putere
 Preț redus

 Dezavantaje:
 Frecvențe de eșantionare medii, de ordinul MHz
13
Convertorul A/D al ATmega32

 Cu aproximații succesive
 N = 10 sau N = 8
 8 canale multiplexate corespunzătoare pinilor portului A
 maxim 15 kHz
 Intrări unipolare sau diferențiale
 Posibilitate de declanșare pe evenimente generate de alte
module ale uC
 Mod SLEEP dedicat pentru reducerea interferențelor în
timpul conversiei 14
Convertorul A/D
al ATmega32

CANAL

Vref

DAC S/H
15
Convertorul A/D al ATmega32

PA7

VIN+
CANALE
INTRARE

SELECȚIE
AMPLIFICARE UNIPOLAR / DIFERNȚIAL
PA0

16

VIN- PENTRU CANALE DIFERNȚIALE


Sursa pentru Vref

Pe pinul AREF nu trebuie


conectată o sursă de tensiune
când nu este folosit ca Vref ! 17
Selectarea canalului de intrare

18
Selectarea canalului de intrare

19
Selectarea canalului de intrare

20
Selectarea canalului de intrare

21
Prescalerul convertorului A/D

 Se recomandă ca ceasul A/D să aibă o frecvență cuprinsă


între 50 kHz și 200 kHz

22
Registrul ADCSRA

1 activează 1 inițiază 1 activează întreruperea la


convertorul conversia finalizarea conversiei
1 activează auto- devine 1 la 23

declanșarea finalizarea conversiei


Activarea convertorului

 Convertorul este funcțional doar când ADEN=1

 Când ADEN=0 convertorul este oprit


 Nu este alimentat și nu consumă energie
 Nu are control asupra pinilor portului A

 Dacă ADEN este modificat în 0 pe durata unei conversii,


aceasta este abandonată imediat
24
Inițierea unei conversii

 Procesul de conversie începe când ADSC=1


 Bitul devine automat 0 la finalizarea conversiei
 Dacă nu este activată auto-declanșare, o nouă conversie nu
începe decât când bitul este scris din nou 1

 Schimbarea canalului de intrare sau a sursei pentru Vref


este implementată doar la finalizarea unei conversii, deși
utilizatorul poate programa modificarea oricând

25
Auto-declanșarea convertorului

 Dacă ADATE=1 o nouă conversie începe automat când se produc anumite


evenimente
 Un eveniment se detectează prin tranziția din 0 în 1 a flagului asociat
 Dacă flagul nu este resetat, producerea unui nou eveniment nu este
detectată / este ignorată ! (excepție ADIF)

26
Auto-declanșarea convertorului

ADIF

27
Durata conversiei

 Este exprimată în număr de cicluri ale ceasului A/D

28
Citirea rezultatului conversiei

 Rezultatul se regăsește în regiștrii ADCH și ADCL


 Alinierea celor 10 biți ai conversiei în regiștri poate fi la
dreapta sau la stânga în funcție de bitul ADLAR din
registrul ADMUX
 În cazul tensiunilor de intrare diferențiale, rezultatul este
reprezentat în complement față de doi
 Citirea valorii din ADCL declanșează blocarea actualizării
ambilor regiștri până când ADCH este citit

29
Citirea rezultatului conversiei

 ADLAR = 0
 Aliniere la dreapta
 Trebuie citită valoarea
din ambii regiștri

 ADLAR = 1
 Aliniere la stânga
 Se poate citi doar
valoarea din ADCH 30
 N=8
Întrebări ?

31

You might also like