Tutorials - Elettronica

 

 

La conversione AD


Come funziona la conversione AD

Vediamo di afferrare meglio i concetti attraverso una ulteriore esemplificazione.
Vogliamo valutare una tensione elettrica variabile da 0 a V volt con un sistema digitale, il quale dispone di un solo bit per rappresentare il numero.
Ricordiamo il formato digitale di un numero si basa su due sole cifre: 0 e 1 per ogni bit. Quindi il problema è passare da una tensione variabile in continuità tra due estremi e un sistema che accetta solamente due livelli: 0 e 1.
E se abbiamo un solo bit dedicato alla misura si potranno avere solo due possibilità: o 1 o 0.
Di conseguenza si potrebbe utilizzare la legge per cui, ad esempio, qualunque valore minore di 1/2V sarà interpretato come uno 0 e un qualsiasi valore superiore a 1/2V sarà interpretato come un 1  (non esistono posizioni intermedie, essendo possibili solo due cifre per un bit digitale).

Si può ottenere facilmente questo con un semplice comparatore la cui uscita commuterà tra 0 (livello basso, massa) e 1 (livello alto, tensione di alimentazione).

Un comparatore richiede due ingressi:

  • la tensione da comparare Vin
  • la tensione di riferimento della comparazione Vref
Se stabiliamo Vref = 1/2 V, il comparatore commuterà la sua uscita tra 0 e 1 al superamento della soglia pari a metà della tensione +V.

Da notare che si parla di una Vref  (tensione di riferimento) nel senso che da essa dipende la precisione della soglia dello scatto del comparatore. Posiamo utilizzare, come nello schema, una frazione della tensione di alimentazione ottenuta attraverso un partitore resistivo, ma la tensione di riferimento può arrivare anche da un' altra sorgente.
Va da sè che dalla sua stabilità e precisione dipende l' esattezza della soglia di scatto del comparatore.

Il problema della Vref può essere compreso meglio con un esempio. Ricordiamo che:

misurare significa confrontare con un campione

Se misuriamo una lunghezza utilizziamo, ad esempio, un metro a nastro. Se questo metro è poco preciso, altrettanto poco precisa sarà la nostra misura. E se vogliamo apprezzare i decimi o centesimi di  millimetro, non useremo un metro, ma un calibro. E se ci interessano i millesimi o meno, utilizzeremo un micrometro. Ovvero, per ogni genere di misura utilizzeremo uno strumento adeguato.
Quindi, il riferimento utilizzato per la misura è quello che ne stabilisce la precisione.  (Maggiori informazioni sulla tensione di riferimento per la conversione AD le trovate qui.)

Con questo semplice circuito abbiamo realizzato un convertitore analogico-digitale a 1 bit: 

Vin Out
0 ≤ Vin < 1/2 V 0
1/2 V ≤ Vin < V 1

Si può senz'altro dire che una valutazione ad 1 bit è una misura che può non essere adeguata a molte applicazioni. Se il segnale analogico varia tra 0 e 5V in modo continuo, ovvero sono possibili tutti gli infiniti valori compresi tra i due estremi, poter valutare solo due segmenti, uno inferiore a 2.5V e uno superiore, è molto limitativo. Certamente questa risoluzione è ideale se è necessaria una soglia di commutazione attorno ad un valore limite, come per un termostato, ma non lo sarà invece per un termometro. 

Abbiamo detto che, aumentando il numero dei bit della rappresentazione digitale, aumenta l' ampiezza della quantità codificabile. Se con 1 bit possiamo rappresentare 0 o 1, con 3 bit possiamo rappresentare numeri da 0 a 7 e così via.
Si potrebbe pensare allora aumentare il numero di comparatori utilizzati in corrispondenza del numero di bit definiti.

Ad esempio, se abbiamo una Vin di 8 V massimi, usando sette comparatori, potremmo fissare le soglie di scatto ogni volt, in modo tale che l' uscita di ciascun comparatore vada a 1 quando la tensione misurata ha superato la relativa soglia. 
Le uscite dei comparatori saranno collegate ad altrettanti ingressi del microprocessore; in sostanza abbiamo trasformato una variazione di tensione da 0 a 8 V in 7 bit di informazione digitale. 
Vin Out
0 ≤ V < 1 0 0 0 0 0 0 0
1 ≤ V < 2 0 0 0 0 0 0 1
2 ≤ V < 3 0 0 0 0 0 1 1
3 ≤ V < 4 0 0 0 0 1 1 1
4 ≤ V < 5 0 0 0 1 1 1 1
5 ≤ V < 6 0 0 1 1 1 1 1
6 ≤ V < 7 0 1 1 1 1 1 1
7 ≤ V < 8 1 1 1 1 1 1 1

E' chiaro che siamo ancora distanti da una soluzione adeguata ad una misura precisa, in quanto, ad esempio, che la tensione di ingresso valga 0,7 o 0.8 oppure 1,2 o 1,5 V darà sempre la stessa indicazione all' uscita dei comparatori, ma abbiamo già un netto miglioramento rispetto al singolo bit.

Su questa strada,  maggiore sarà il numero dei comparatori, più fine diventerà la definizione dei valori misurati.
Ad esempio, disponendo di 1000 comparatori, si avranno 1000 livelli di comparazione, ovvero 1000 suddivisioni dello spazio di misura tra 0 e 5V, il che permetterà di discriminare variazioni di  5 / 1000 = 5 mV. 
E per avere risoluzioni maggiori potrò ancora aumentare il numero dei comparatori, portandoli ad esempio 4000 o 65000 o più.

Un byte, misura tipica di un sistema a microprocessore, sottintende un gruppo di 8 bit di I/O. Per il precedente esempio dei 7 comparatori, un port di 8 bit di ingresso è adeguato. Ma con 1000 comparatori occorre disporre di 1000 bit di ingresso del processore. E ogni bit è un pin del package: questo diventa costruttivamente improponibile. Come fare?

La situazione si risolve in un attimo, facendo confluire le uscite dei comparatori in un sistema di codifica (encoder) con una uscita binaria.

Con l' esempio precedente, lo stato delle uscite dei comparatori sarà codificato su 3 bit. 

Out comparatori Out codifica
0 0 0 0 0 0 0 000
0 0 0 0 0 0 1 001
0 0 0 0 0 1 1 010
0 0 0 0 1 1 1 011
0 0 0 1 1 1 1 100
0 0 1 1 1 1 1 101
0 1 1 1 1 1 1 110
1 1 1 1 1 1 1 111

L' encoder, quindi, codifica 2n-1 ingressi in n bit di uscita.

Così, ad esempio, 1023 comparatori potranno esse codificati con sole 10 linee di uscita (210 = 1024 e 210 -1 = 1023). E con una uscita a 12 bit si codificheranno 4095 comparatori e quindi 4096 livelli.

Il numero n dei bit codificati in uscita del risultato digitale della conversione è indicato come risoluzione del convertitore.

Si avranno così comunemente convertitori con dato in uscita codificato, o risoluzione, su 8, 10, 12, 14 bit e più.

Ora, convertitori AD come quello fin qui esemplificato esistono realmente: si tratta dei convertitori Flash ADC o direct-conversion ADC. Ma esistono numerose altre tipologie di convertitori analogico-digitali.


 

 

Copyright © afg . Tutti i diritti riservati.
Aggiornato il 19/09/11 .